精选C语言试卷(带答案).
C语言试卷及答案

一、选择题。
(每空2分,共计40分)本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由(C )组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是(C )。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)printf ( “------------“) ;的正确说法是(C )。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出----------- 4.若x、y、z均为int 型变量,则执行下列语句后的z值为( A )。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为(D )。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是( B )。
A.’A’B.’D’的ASCⅡ码C.65 D.3 7.语句char str[20];说明str是一个字符串,最多能表示( B )。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是( B )。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是( C )。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是( A )。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是(C )。
(完整版)C语言试卷及答案

(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
C语言复习卷带答案

姓名:__________________年级专业:__________________ 学号:__________________凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。
…………………………密………………………………封………………………………线…………………………《复习卷》试卷一、单选题(每题1分,共计30分) 1、下列选项中,不合法的变量是(D )。
A 、int x = 3; B 、char ch = 'c' C 、float f ; D 、case c;2、下列选项中,不合法的常量是(D )。
A 、2 B 、'\n' C 、'a' D 、'\483'3、关于#include<stdio.h>这句代码,下列描述中错误的是(C ) A 、"#"是预处理标志,用来对文本进行预处理操作 B 、include 是预处理指令 C 、一对尖括号可以去掉D 、stdio.h 是标准输入输出头文件4、假设a 、b 、c 、d 、m 、n 均为int 型变量,且a=5、b=6、c=7、d=8、m=2、n=2,那么逻辑表达式(m=a>b)&&(n=c>d)运算后,n 的值为( C )。
A 、0 B 、1 C 、2 D 、35、C 语言程序的三种基本结构是( A )。
A 、顺序结构,选择结构,循环结构 B 、递归结构,循环结构,转移结构 C 、嵌套结构,递归结构,顺序结构 D 、循环结构,转移结构,顺序结构6、关于下面的for 循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是(B )A 、判断循环结束的条件非法B 、是无限循环C 、只循环一次D 、一次也不循环7、以下定义语句中,错误的是( D )。
C语言试卷01

C语言试题(一)1.下列关于C语言用户标识符的叙述中正确的是______。
A. 用户标识符中可以出现下划线和中划线(减号)B. 用户标识符中不可以出现中划线,但可以出现下划线C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.以下叙述不正确的是A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面3.下面能正确进行字符串赋值操作的语句是A.char s[5]={"ABCDE"};B.chars[5]={'A','B','C','D','E'};C.char *s;s="ABCDEF";D.char *s; scanf("%s",s);4.下列叙述中正确的是A. C语言编译时不检查语法B. C语言的子程序有过程和函数两种C. C语言的函数可以嵌套定义D. C语言的函数可以嵌套调用5.以下程序输出的结果是____。
main( ){ float a=5,b=4,d;d=(a>b);printf("%d\n",d);}A. 1B. 0C. 1.0D. 46.设int a=5,b=6,表达式(b--==6)?++a:--b的值是___A. 5B. 6C. 7D. 47.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___ 。
for(i=0, j=10; j>=i; i++, j--)k=i+j;A. 10B. 20C. 8D. 08.能正确表示逻辑关系:"1≤a≤9"的C语言表达式是A. a>=1 or a<=9B. a>=1且a<=9C. a>=1&&a<=9D. 1≤a≤99.有以下程序main(){int i=0,k=2;if(++i)printf("%d",k);else printf("%d",-k)}执行后输出结果是A. -2B. 2C. 0D. 110.执行下面的程序段后,变量k中的值为int k=3, s[2];s[1]=k; k=s[1]*10;A.不定值 B.33 C.30 D.10 11.若有以下说明和语句,则输出结果是______。
c语言的考试题目答案及解析

c语言的考试题目答案及解析1. 题目:以下哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C解析:在C语言中,变量名必须以字母或下划线开头,不能以数字开头。
因此,选项A和D是不合法的。
选项B虽然以字母开头,但是数字紧跟字母,没有下划线或空格分隔,所以也是不合法的。
选项C 以下划线开头,符合变量命名规则。
2. 题目:以下哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A解析:在C语言中,字符串字面量应该用双引号括起来。
选项B使用了单引号,这是用于字符字面量的,而不是字符串。
选项C和D是重复的,并且由于格式问题,它们可能没有正确显示,但假设它们是正确的字符串字面量,那么答案应该是A,因为它是第一个出现的合法字符串字面量。
3. 题目:以下哪个选项是C语言中正确的函数声明?A. int function(int x) {}B. void function() {}C. int function(int x, int y) {}D. All of the above答案:D解析:在C语言中,函数声明可以包含参数列表,也可以没有参数。
选项A和C都包含了参数列表,并且参数类型是int,这是合法的。
选项B没有参数列表,并且指定了返回类型为void,这也是合法的。
因此,所有选项都是正确的函数声明。
4. 题目:以下哪个选项是C语言中正确的条件语句?A. if (x > 0) { ... }B. if x > 0 { ... }C. if (x > 0) { ... } else { ... }D. if (x > 0) { ... } elseif { ... }答案:C解析:在C语言中,条件语句必须使用if关键字,并且条件表达式需要用括号括起来。
c语言试卷含答案

一、选择题(26分)1. 正确的C语言标识符是(A)。
A._buy_2 B.2_buy C.?_buy D.buy?2. 以下选项中,合法转义字符的选项是(A)。
A.’\\’ B.’\018’ C.’xcb’ D.’\ab3、下列语句中,错误的是(B )A、#define PIB、#include <>;C、if(2);D、for(;;) if(1) break;4、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()A、 a>=10 or a<=0B、 a>=0|a<=10C、 a>=10 &&a<=0D、 a>=10‖a<=05、以下对break语句使用的正确描述是()A、可以出现在程序中的任何位置B、只能出现在循环结构中或switch结构中C、只能出现在switch结构中D、只能出现在循环结构中6. C语言程序的基本单位是(C)。
A.程序行 B.语句 C.函数 D.字符7、已知各变量的类型说明如下:()int m=6,n, a, b;unsigned long w=8;double x=, y=;则以下符合C语言语法的表达式是(A)。
A.a+=a-=(b=2)*(a=8) B. n=n*3=18C.x%3 D.y=float (m)8、已有定义:char x[]=“ab”,y[ ]={‘a’,’b’ };,以下叙述中正确的是( C)A、数组x和y的长度相同B、x数组长度小于y数组长度C、x数组长度大于y数组长度D、上述说法都不对9、设有定义“int x=3,y,*p=&x”,则下列语句中使y不为3的语句是(D )A、y=*&xB、y=*pC、y=xD、y=&x10、设x、y、z均为int型变量,则执行语句:x=y=3;z=++x||++y;后,y的值为()A、不定值B、4C、3D、111.有如下程序段:int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是(A)。
c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。
A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。
A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。
A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。
inta=5;while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。
A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。
A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。
C语言程序设计试题试题及答案

C 语言程序设计试卷 ,C++语言程序设计试题及答案一、单项选择题(每题1分,共20分)1. C语言规定:在一个源程序中,main函数的位置( C )。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下面四个选项中,均是合法浮点数的选项是( B )。
A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若a=-14,b=3,则条件表达式 a<b? a:b+1的值为(A )。
A. -14B. -13C. 3D. 44. 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是( c ).A. 1,2B. 1,3C. 2,2D. 2,35. 为了判断两个字符串s1和s2是否相等,应当使用( D )A. if (s1==s2)B. if(s1=s2)C. if (strcmp(s1,s2))D. if (strcmp(s1,s2)==0)6. 以下正确的描述是( B )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套。
B. 函数的定义不可以嵌套,但函数的调用可以嵌套。
C. 函数的定义和函数的调用均不可以嵌套。
D. 函数的定义和函数的调用均可以嵌套。
7. 在C语言中,下面对函数不正确的描述是( D)。
A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。
B. 允许函数递归调用。
C. 函数形参的作用范围只是局限于所定义的函数内。
D. 子函数必须位于主函数之前。
8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( A)。
A. 该变量只在该复合语句中有效B. 该变量在该函数中有效C. 该变量在本程序范围内均有效D. 该变量为非法变量9. 以下正确的函数形式是( D )。
A. double fun(int x,int y) { z=x+y;return z;}B. fun(int x,y) { int z; return z;}C. fun(x,y) { int x,y; double z; z=x+y; return z;}D. double fun( int x,int y) {double z; z=x+y; return z; }10. 以下程序的输出结果是( B )。
c语言试卷及答案

C语言程序设计一、单项选择题1.以下叙述不正确的是______。
A)一个C源程序可由一个或多个函数组成B)一个C源程序一行内可以写多条语句C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面2.以下正确的C语言标识符是 __ ____。
A)%x B)a+b C)a123; D)test!3.以下对’\t’描述正确的是______。
A) ’\t’是两个字符B) ’\t’是一个字符C) ’\t’是一个字符串D)以上都不是4.C语言中的简单数据类型有______。
A)整型、实型、逻辑型B) 整型、字符实型、逻辑型C)整型、实型、字符型D) 整型、实型、字符型、逻辑型5.在C语言中,数字029是一个______。
A)八进制数B)十六进制数C)十进制数D)以上都不是6.以下选项中,当为x大于的奇数时,值为0的表达式是______。
A)x%2==0 B) x%2==1 C)x/2 D) x%2!=0 7.已知char c=’d’;,则printf(“%c”,’A’+(‘e’-c));的输出结果是______。
A)a B)e C)B D)D8.已知int a=1,b=3,t; ,若要将a和b变量中的数据进行交换,则下面正确的是______。
A)a=b; b=a; B)a=t; t=b; b=a;C)t=a; a=b; b=t; D)t=a; b=t; b=a;9.已知int a=2,b; ,则执行语句b=1.0/a;后,b的值是__ ____。
A)0.5 B)0 C)1 D)210.已知int i=1,j;,则执行语句j=i++;后,j的值是______。
A)1 B)2 C)-2 D)-111.已知int x=2,y=1,z;,则执行语句z=!x && --y;后,y的值是______。
A)0 B)1 C)2 D)-112.执行以下程序段后,输出结果是______。
int x=10;x+=(x=8);printf(“%d\n”,x);A)10 B)8 C)18 D)1613.已知int b; char s[8];,则正确的输入语句是______。
c语言计算机试题及答案

c语言计算机试题及答案1. 单项选择题(1) 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-2D. variable_2答案:D(2) C语言中,以下哪个关键字用于定义函数?A. classB. functionC. defD. void答案:D(3) 在C语言中,用于定义字符串的字符数组的声明方式是?A. int str[10];B. char str[10] = "Hello";C. string str = "Hello";D. char str[] = "Hello";答案:B2. 多项选择题(1) 下列哪些选项是C语言中合法的整数常量?A. 012B. 0x1AC. 10LD. 1.0答案:A, B, C(2) 在C语言中,以下哪些运算符用于比较操作?A. ==B. !=C. <=D. %答案:A, B, C3. 填空题(1) 在C语言中,用于定义一个整型数组的语句是____。
答案:int array_name[size];(2) C语言中,用于循环结构的关键字是____。
答案:for, while, do-while4. 简答题(1) 请简述C语言中指针的概念。
答案:指针是一个变量,其值为另一个变量的地址。
通过指针,程序可以直接访问和操作内存地址。
(2) 解释C语言中结构体的作用。
答案:结构体是一种用户自定义的数据类型,允许将不同的数据类型组合成一个单一的数据结构,以便于数据的组织和管理。
5. 编程题(1) 编写一个C语言程序,实现将一个整数数组逆序输出。
答案:```c#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5};int n = sizeof(arr) / sizeof(arr[0]); for(int i = n - 1; i >= 0; i--) {printf("%d ", arr[i]);}return 0;}```。
(完整版)C语言单项选择题(带答案)

计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由构成的。
A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数2. 是构成C语言程序的基本单位。
A)函数 B)过程 C)子程序 D)子例程3.C语言可执行程序从开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5. 以下说法中正确的是。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main( )函数中定义C)C语言程序总是从main( )函数开始执行D)C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是。
A)主函数可以分为两个部分:主函数说明部分和主函数体。
B)主函数可以调用任何非主函数的其它函数。
C)任何非主函数可以调用其它任何非主函数。
D)程序可以从任何非主函数开始执行。
7.下列关于C语言的说法错误的是。
A) C程序的工作过程是编辑、编译、连接、运行B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C) C程序的三种基本结构是顺序、选择、循环D) 一个C程序总是从main函数开始执行的8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错9.下列说法中正确的是。
A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。
B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。
C)由于C程序是高级语言程序,因此输入后即可执行。
D)由于C程序是高级语言程序,因此它是由命令组成的。
C语言试卷及答案

for(i=0;c=s[i];i++)
if(c==’’) word=0;
else if(word==0)
{word=1;num++;}
printf(“%d\n”,num);
}
(A)2 (B)3 (C)4 (D)5
33.以下程序运行结果是 A
。
#include<string.h>
main() {char s[50]=”1234567”,*p=s; int i; i=*(p+5)-*(p+2); printf(“%d\n”,i*strlen(s)); }
(A)double (B)char (C)int (D)float
10. C 语言中要求操作数必须是整数的运算符是 B
。
(A)/ (B)%
(C)!= (D)=
11.用 scanf(“%d,%d”,&a,&b)输入数据时,下面输入法中正确的是 A 。
(A)123,4 (B)123 4 (C)123;4 (D)
(C)C 语言本是没有输入输出语句。
(D)在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误。
4.以下叙述不正确的是 D
。
(A)逗号运算符的运算级最低。
(B)ABC 和 abc 是两个不同的变量。
(C)若 a 和 b 类型相同,在执行 a=b 后,b 的自身值不变。
(D)‘a’和“a”是完全等价的常量。
(A)for(i=1,p=1;i<=5;i++) p*=i;
(B)for(i=1;i<=5;) { p=1;p*=i;i++;}
(C)i=1;p=1;while(i<=5) { p*=i;i++;}
c语言考试题及答案以及解析

c语言考试题及答案以及解析一、选择题1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A解析:在C语言中,关键字是保留的词汇,用于表示特定的语法结构。
int是C语言中用于声明整型变量的关键字。
2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C解析:在C语言中,乘法运算符是星号(*),用于计算两个数的乘积。
二、填空题1. 在C语言中,以下代码片段的输出结果是:```cint main() {int a = 5;printf("%d", a);return 0;}```输出结果为:_________答案:5解析:代码中的printf函数用于输出变量a的值,a被初始化为5,因此输出结果为5。
2. 下列代码段中,变量b的值是多少?```cint main() {int a = 10, b;b = a + 5;printf("%d", b);return 0;}```变量b的值为:_________答案:15解析:变量b被赋值为变量a加上5,由于a的值为10,所以b的值为15。
三、简答题1. 简述C语言中的数组是什么,并给出一个数组的声明和初始化的例子。
答案:C语言中的数组是一种数据结构,用于存储相同类型的多个元素。
数组的声明需要指定元素的类型和数组的长度。
数组的初始化可以在声明时完成。
解析:例如,声明一个整型数组并初始化:```cint numbers[5] = {1, 2, 3, 4, 5};```2. 解释C语言中的函数是什么,并给出一个简单函数的定义和调用的例子。
答案:C语言中的函数是一段具有特定功能的代码块,可以接收参数,并返回一个值。
函数的定义包括函数的返回类型、名称、参数列表和函数体。
函数的调用是使用函数名称和必要的参数来执行函数。
解析:例如,定义一个函数来计算两个数的和,并调用它:```cint add(int x, int y) {return x + y;}int main() {int result = add(5, 10);printf("%d", result);return 0;}```四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
C语言题库(带答案)-排版

一、选择题1、以下不能定义为用户标识符的是( )。
2、以下不能定义为用户标识符的是( )3、下面属于C 语言标识符的是( )。
4、下列符号中用来表示C 语言中的回车换行的是( )。
(A) \r 5、在计算机系统中,可执行程序是( ) (A) 源代码(B)汇编语言代码(D) ASCII 码6、在Visual C++ 6.0环境下,C 源程序文件名的默认后缀是( )。
7、Microsoft Visual C++ 6.0中,C 语言可执行程序的扩展名是:( )或cpp (D) txt 8、C 程序由( )组成。
(A)子程序 (B) 主程序和子程序过程 9、C 程序的基本组成单位( )。
(A) 数据类型(B) 变量和常量 表达式 10、C 语言中主函数的个数是( )。
(A) 2个任意个 (D) 10个 11、一个C 程序的执行是从( )(B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束. (C)本程序文件的第一个函数开始,到本程序main 函数结束. (D)本程序的main()函数开始,到本程序文件的最后一个函数结束. 12、以下叙述正确的是(A)在C 语言程序中,main函数必须放在其他函数的最前面 (C)在C 语言程序中,只有main 函数才可单独进行编译 (D)每个后缀为.C 的C 语言源程序都应该包含一个main 函数13、设变量a 是整型,b 是实型,c 是双精度型,则表达式2+’a’+b*c 值的数据类型是( )。
(A) int (B) float 14、以下选项中表示一个合法的常量是(说明:符号□表示空格)A) 9□9□15、以下选项中非法的字符常量是16、以下选项中,能表示逻辑值“假”的是17、下列关系表达式中,结果为“假”的是18、关于C 语言变量,以下说法不正确的是( ) (A) 变量名由程序员定义,必须符合标识符的命名规则。
(B) 变量是程序运行过程中其值可以改变的量。
C语言程序设计试卷(含答案)

说明:请将单项选择题(1~50 空)的正确答案涂写考试答题卡,将填空(51~75 空)等文字题按【】中的序号写入下面文字答题卡,否则不得分。
、阅读程序题文字答题卡:(每空2 分,共24 分)三、完善程序填空题文字答题卡:(每空2分,共26 分)1题【63】2题【64】【65】【66】3题【67】【68】【69】4题【70】【71】【72】5题【73】【74】【75】、单项选择题(每空1 分,共50分)请将正确答案按【】中的序号写入答题卡,否则不得分1.在 C 语言中,一条语句以】字符作为结束符。
A) , B ) ; C) . 2.以 4 组标识符中,能作为变量名使用【】 。
A) age , struct , s1 B) 2A , b_3, main C) ELSE ,a[2],m123 D) _abc , INT ,abcd 3.判char 型变量 ch 是否为数字字符的正确表达式为 【】 。
A) 0<=ch<=9 B) '0'<=ch<='9' C) ( 0<=ch )&& D) ('0'<=ch )&& 大写字母 A 的 ASCII 码值是 65, 97, D) 无符号 4.已知小写字母 a 的 ASCII 码值是 输出大写字母 B 的是 【】 。
A ) putchar( 'A'+1 ); C) putchar( 98-32); 5.空字符串的长度是 【】 A ) 0 B) 1 6.整型变量 a 定义后赋初值的结果是 int a=2.8*6 ; A ) 12 B ) 若有以下说明语句,则该语句 char a='\077' ; A) 使 a 的值包含 C) 使 a 的值包含 下面的程序结果为: main() {int x=023 ; printf ( "%d\n" , --x); }A ) 17B ) 18 源程序执行后,屏幕上显示 【】 。
c语言笔试题目及答案

c语言笔试题目及答案一、选择题(每题2分,共10分)1. 下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. C语言中,用于定义一个字符常量的是?A. 'a'B. "a"C. aD. 1答案:A3. 下列哪个选项是正确的C语言函数定义?A. int function();B. int function;C. int function int x;D. int function(int x)答案:D4. 以下哪个选项不是C语言中的运算符?A. %=B. &&C. ::D. ||答案:C5. 在C语言中,一个变量的声明应该放在?A. 函数内部B. 函数外部C. 函数内部或外部D. 只能放在函数内部答案:C二、填空题(每题2分,共10分)1. 在C语言中,____关键字用于声明一个外部变量。
答案:extern2. C语言中,用于定义一个指针的语法是____。
答案:*变量名3. 用于在C语言中声明一个函数的关键字是____。
答案:int4. 在C语言中,____运算符用于计算两个整数的差。
答案:-5. 用于在C语言中声明一个数组的语法是____。
答案:类型名数组名[数组大小]三、简答题(每题5分,共20分)1. 简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以被看作是一个指向数组首元素的指针,数组的每个元素可以通过指针运算来访问。
2. 解释C语言中的递归函数是什么?答案:递归函数是指在函数定义中调用自身的函数,它通常用于解决可以分解为更小、相似问题的任务。
3. 什么是C语言中的预处理指令?答案:预处理指令是C语言编译过程中处理的特殊指令,它们不是C语言的一部分,但对编译过程有影响,如#include、#define等。
4. 描述C语言中如何实现文件的读写。
答案:在C语言中,可以使用fopen、fprintf、fscanf、fclose 等函数来实现文件的打开、写入、读取和关闭。
完整版C语言试卷及答案

完整版C语言试卷及答案一、选择题部分(每题1分,共30分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. doubleC. charD. boolean2. 在C语言中,以下哪个用于定义常量的关键字?A. constB. staticC. finalD. define3. 下面哪个选项是正确的C语言注释格式?A. /** 注释内容 */B. // 注释内容C. /* 注释内容 */D. # 注释内容4. 下列选项中,不是C语言的逻辑运算符的是:A. &&B. ||C. !D. %5. 在C语言中,以下哪个函数用于输出信息到屏幕上?A. scanf()B. printf()C. gets()D. puts()二、填空题部分(每题2分,共20分)1. 在C语言中,用于声明变量的关键字是_________。
2. 在C语言中,用于取一个整数的绝对值的函数是_________。
3. 下面这段代码的输出结果是_________。
```c#include <stdio.h>int main(){int a = 10;int b = 20;printf("%d + %d = %d\n", a, b, a + b);return 0;}```4. 在C语言中,用于按位取反的运算符是_________。
5. 下面这段代码的循环次数是_________。
```c#include <stdio.h>int main(){int i;for (i = 0; i < 5; i++){printf("%d ", i);}return 0;}```三、编程题部分(共50分)1. 编写一个程序,输入一个整数n(n>0),输出1到n之间的所有偶数。
2. 设计一个函数,接收两个整数参数a和b,返回它们的最大公约数。
3. 编写一个程序,实现斐波那契数列的前n项的求和。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2006-2007学年第二学期考试试卷A卷考试科目C语言程序设计考试方式闭卷完成时限2小时拟题人审核人批准人2007年7 月 5 日机械、电气、信息、生化、轻工、经管、理学院2006年级各理工科专业说明:1.应将全部答案写在答卷纸对应的题号处;否则作无效处理;2.编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸;3.考试完成后,必须将试卷与答卷同时交回。
一、判断题(10小题,每题1分,共10分;用√表示正确,用×表示错误)1.在循环体内使用break语句和continue语句的作用相同。
2.函数返回值的类型最终取决于函数定义时形参的类型。
3.else语句一定要与if语句配对使用,程序中else语句的个数一定小于或者等于if语句的个数。
4.从狭义角度讲,算法是解决一个问题采取的方法和步骤的描述。
5.1/2的结果是0,所以1.0/2的结果也是0。
6.a=b=c=5可以理解为a=(b=(c=5))。
7.假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。
8.for(;;)等价于while(1)语句。
9.假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是6。
10.char *sp ={"welcome"};可以写成char *sp="welcome"; 。
二、单选题(16小题,每题1分,共16分)1.以下数组定义中错误的是:(A) int x[][3] ={0};(B) int x[2][3]={{1,2},{3,4},{5,6}};(C) int x[][3]={{1,2,3},{4,5,6}};(D) int x[2][3]={1,2,3,4,5,6};2.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为:(A)EOF (B)NULL (C) 0 (D)非0值3.有以下程序:main(){int y=10;while(y--) ;printf(“y=%d\n”,y);}程序执行后的输出结果是:(A) y=0; (B)y=-1;(C) y=1 (D)while构成无限循环4. 若有以下宏定义:#define N 2#define Y(n) (N+1)*n则执行语句int z; z=2*N+Y(5);后的值是(A) 50 (B)34 (C)19 (D)无定值5.以下叙述中错误的是:(A)c程序必须由一个或者一个以上的函数组成。
(B)函数调用可以作为一个独立的语句存在。
(C)若函数有返回值,必须通过return 语句返回。
(D)函数形参的值也可以传回给对应的实参。
6.设有如下定义的变量union data{ int i;char ch;float f;}b;则变量b占用内存的字节数是(假设int类型占2个字节,char类型占1个字节,float类型占4个字节):(A) 4 (B)5 (C) 6 (D)77.以下叙述中错误的是:(A)c程序中的#include 和#define 行均不是c语句(B)除逗号运算符外,赋值运算符的优先级最低(C)c程序中, “j++;”是赋值语句(D)c程序经过编译、连接步骤之后,才能形成一个真正可执行的二进制机器指令文件。
8. 能正确表示a 和b 同时为正或同时为负的逻辑表达式是:(A) (a>=0||b>=0)&&(a<0||b<0)(B)(a>=0&&b>=0)&&(a<0&&b<0)(C) (a+b>0)&&(a+b<=0)(D) a*b>09.对于一个正常运行的c程序,以下叙述中正确的是:(A)程序的执行总是从main函数开始,在main函数结束。
(B)程序的执行总是从程序的第一个函数开始,在main函数结束。
(C)程序的执行总是从main函数开始,在程序的最后一个函数中结束。
(D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束。
10.设变量x和y均已经正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是:(A)if(x++); (B)if(x>y &&y!=0)(C) if(x>0) x-- (D)if(y<0){;}else y++; else x++;11.设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是:(A)float *p=1024; (B)int *p=(float)x;(C)float p=&x; (D)float *p=&x;12.有以下程序:main(){ int i,j;for(i=1;i<4;i++){ for(j=i;j<4;j++) printf(" %d*%d=%d ",i,j,i*j);printf("\n");}}程序运行后的输出结果是:(A)1*1=1 1*2=2 1*3=3 (B)1*1=1 1*2=2 1*3=3 2*1=2 2*2=4 2*2=4 2*3=63*1=3 3*3=9(C)1*1=1 (D)1*1=11*2=2 2*2=4 2*1=2 2*2=41*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=913.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是:(A)大写字母(B)连接符(C)数字字符(D)下划线14.设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是:(A)k++ (B)k+=1 (C)++k (D)k+115.有以下程序main(){ char ch[]="uvwxyz",*pc;pc=ch;printf(" %c\n",*(pc+5));}程序运行后的输出结果是:(A)z (B)0(C)元素ch[5]的地址(D)字符y的地址16.有以下函数:int fun(char *s){ char * t=s;while(*t++);return (t-s);}该函数的功能是:(A)比较两个字符串的大小(B)计算s所指向字符串占用内存字节的个数(C)计算s所指字符串的长度(D)将s所指字符串复制倒字符串t中16.有以下函数:int fun(char *s){ char * t=s;while(*t++);return (t-s);}该函数的功能是:(A)比较两个字符串的大小(B)计算s所指向字符串占用内存字节的个数(C)计算s所指字符串的长度(D)将s所指字符串复制倒字符串t中三、基础填空题(14空,每空1分,共14分)1.以下程序的输出结果是。
#include <string.h>main(){ printf(“%d\n”,strlen("IBM\n012\n"));}2.执行以下程序后的输出结果是main(){ int a=10;a=(3*5,a+4);printf("a=%d\n",a);}3.排序是数据处理中最常见的问题,它是将一组数据按递增或者递减的次序排列。
排列的算法很多。
常用的算法有法和选择法。
4.设有定义“char web[20];”,要将字符串“”赋值给字符数组web的语句是。
5.一个函数用于接收一个字符和一个整数,并返回一个字符,函数名为love_c,则该函数的原型说明为。
6.c语言规定,简单变量作函数参数时,他和对应的形参之间的数据传递方式是。
7.判断字符变量x是小写英文字母字符的C语言表达式是。
8.程序中调用了库函数strcmp,必须包含头文件。
9.若x=13,y=25,z=-17,则表达式((p=(x<y)?x:y)<z?p:z)的值为。
10.下列程序段的的输出结果是。
char a=010,b=10;printf(" %d\n",a&b<<2);11.表达式中的类型转换分为两种:一种是隐式数据类型转换;另一种是数据类型转换。
12.数组是顺序存储结构,它的存储分配方式是“静态”的。
是一种动态的数据结构,它由若干个结点链接而成,与数组最大的不同是结点在内存中并不占据连续的存储空间。
13.有定义: int a[][3]={1,2,3,4,5,6,8,9,10};则printf("%d",*(*(a+1)+2));语句的输出结果为。
14.以下程序的输出结果是。
main(){ int a,b,c=240;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}四、程序填空题(10空,每空2分,共20分)1.下面程序运行后输入以-1结束的一批整数,输出其中的最大值。
例如:输入-3 -8 -10 -1后,输出:-3#include<stdio.h>void main(){ int max,x;scanf("%d",&x);if(x!=-1){___ (1) ___;while(__ (2) ____){if(max<x) max =x;___ (3) ____;}printf(" max=%d\n",max);}}(1)(A)x=max (B)max =x(C) x++ (D)max=0(2)(A)x!=-1 (B)max>=0(C)x==-1 (D)max!=-1(3)(A)max=max+1 (B) x=x+1(C)scanf(“%d”,&x); (D) else max =-12.下面程序通过字符指针实现,将s1指向的字符串“I have a dream!”反向拷贝到s2中。
#include<stdio.h>#include <stdlib.h>void main(){char *s1="I have a dream! ",*s2,*t;int len;len= ___ (4) ____;s2=(char *)calloc(len+1,sizeof(char));t=s2;while(*s1!=’\0’)s1++;do{s1--;len--;__ (5) ____;s2++;}while(len>0);*s2=’\0’;s2=t;puts(s2);}(4)(A) strcpy(s1) (B)st(C) *s1 (D) strlen(s1)(5)(A)*s1=*s2 (B)*s2=*s1(C)&s2=&s1 (D)&s1=&s23.建立一个链表,每个结点包括:学号、姓名、性别、年龄。