当前位置:文档之家› C语言考试试题基础版

C语言考试试题基础版

一、选择题1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。

A. mainB. MAINC. nameD. function2. 在以下关于C 语言的注释的叙述中,不正确的是 。

A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示B .编译器在编译一个程序时,将跳过注释,不对其进行处理C .编译器在编译一个程序时,可发现注释中的单词拼写错误D .程序中注释的多少不会影响所生成的可执行文件的长度3. 以下叙述不正确的是 。

A .在C 程序中,严格区分大小写字母B .一个C 源程序有且仅有一个main 函数C .在C 程序中,注释只能位于一条语句的后面D .一个C 程序总是从main 函数开始执行4. 下列合法的标识符为A. abde+B. #KDJFC. 67KDJD. DK3_5. 关于字符串和字符的关系正确的是A. “A ”与’A ’是相同的B. 字符串是常量,字符是变量C. “A ”与’A ’是不同的D. “A ”与“A ”是相同的6. 下面关于语句的说法正确的是A. 下面这两段程序的执行效果是一致的B. 空语句是只有一个分号的语句,它其实什么也不干C. 语句的构成不一定需要分号D. 语句的书写对程序的运行不起作用,因此可以随便写都可以7. 以下各标识符中,合法的用户标识符组为 。

A. PAd ,P#d ,b-b ,abc ,_0123,ssipedB. cin ,a10,CPP ,float ,del_word ,signedC. void ,max ,hiy ,<fr>,list ,*jerif (x>y){z=x; s=z*z;}else{z=y;s=1/(z*z);}if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);D.a,temp,_isw,INT,keep,wind8.字符串“\”E OF= -\61\””的长度是。

A.8B.9 C.12 D.非法字符串9.数学式xsin在C程序中对应的不正确的表达式为。

A.sqrt(sin(x)>0?sin(x):-sin(x)) B.sqrt(fabs(sinx))C.sqrt(sqrt(sinx*sinx)) D.fabs(sqrt(sin(x)))10.下列是C语言的有效标识符?A._No1 B.No.1 C.12345 D.int11.C语言中,表示一条语句结束的标号是A.# B.; C.// D.}12.每个C程序中都必须有且仅有一个A.类B.预处理命令C.主函数D.语句13.下列数据类型不是C语言基本数据类型的是。

A.字符型B.整型C.实型D.数组14.下列字符列中,可作为C语言程序自定义标识符是。

A.switch B.file C.break D.do15.运算符+、<=、=、% 中,优先级最低的运算符是。

A.+ B.<= C.= D.%16.下列字符列中,可以作为“字符串常量”的是。

A.ABC B.″xyz″C.′uvw′ D.′a′17.字符串"vm\x43\\\np\102q"的长度是。

A.8 B.10 C.17 D.1618.在C语言中,自定义的标识符。

A.能使用关键字并且不区分大小写B.不能使用关键字并且不区分大小写C.能使用关键字并且区分大小写D.不能使用关键字并且区分大小写19.设x和y均为逻辑型变量,则x && y为真的条件是。

A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假20.若给定条件表达式(m)?(a++): (a--),则其中表达式m 。

A. 和(m= =0)等价B. 和(m= =1)等价C. 和(m!=0)等价D. 和(m!=1)等价21.在if语句中,用作判断的表达式为。

A. 关系表达式B. 逻辑表达式C. 算术表达式D. 任意表达式22.设i和k都是int类型,则以下for循环语句。

for ( i=0, k= -1; k=1; i++, k++ ) printf("****\n");A. 判断循环结束的条件不合法B. 是无限循环C. 循环体一次也不执行D. 循环体只执行一次23.若有以下语句,则输出结果为。

int a=2,b=1;string s1;s1= a>b?"a大于b":"a小于b";printf("%s\n", s1);A. a大于bB. a小于bC. 1D. 输出语句有错24.int k=10;while(k=0) k=k-1;则下面描述正确的是。

A. while循环执行10次B. 循环是无限循环C. 循环体语句一次也不执行D. 循环体语句执行一次25.int a=1,b=2,c=2,t;while(a<b) {t=a;a=b;b=t;c--;}printf("%d,%d,%d\n",a,b,c);运行结果为。

A. 1,2,0B. 2,1,0C. 1,2,1D. 2,1,126.int x=-1;do{x=x*x;}while(!x);下列说法正确的是。

A. 是死循环B. 循环执行两次C. 循环执行一次D. 有语法错误27.以下能正确计算1*2*3*…*10的程序段是。

A. do {i=1;s=1;B. do {i=1;s=0;s=s*i; i++;} s=s*i;i++;}while(i<=10); while(i<=10);C. i=1;s=1;D. i=1;s=0;do {s=s*i; do{s=s*i;i++;} i++;}while(i<=10); while(i<=10);28.以下描述正确的是。

A. 由于do-while循环中循环体语句只是一条可执行语句,所以循环体内不能使用复合语句B. do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C. 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作D. do-while循环中,根据情况可以省略while29.while和do-while循环的主要区别是。

A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句30.下面有关for循环的正确描述是。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C. for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来31.对for(表达式1;;表达式3)可理解为。

A. for(表达式1;0;表达式3)B. for(表达式1;1;表达式3)C. for(表达式1;表达式1;表达式3)D. or(表达式1;表达式3;表达式3)32.在C编程语言中,以下正确的描述是。

A. continue语句的作用是结束整个循环的执行B. 只能在循环体内和switch语句体内使用break语句C. 在循坏体内使用break语句或continue语句的作用相同D. 从多层循环嵌套中退出,只能使用goto语句33.下面程序段。

for(t=1;t<=100;t++){scanf("%d",&x);if(x<0) continue;printf("%d\n",t);}A. 当x<0时整个循环结束B. x>=0时什么也不输出C. cout永远也不执行D. 最多允许输出100个非负整数34.定义一个函数实现交换x和y的值,并将结果正确返回。

能够实现此功能的是。

A. swap(int x, int y){ int t; t=x; x=y; y=t; }B. swap(int *x, int *y){ int t; t=x; x=y; y=t; }C. swap(int *x, int *y){ int t; t= *x; *x = *y; *y=t; }D. swap(int *x, int *y){ int *t; t=x; x=y; y=t; }35.若有代数式3ae/bc,则不正确的C语言表达式是。

A. a/b/c*e*3B. 3*a*e/b/cC. 3*a*e/b*cD. a*e/c/b*336.以下表达式值为3的是。

A. 16-13%10B. 2+3/2C. 14/3-2D. (2+6)/(12-9)37.设有说明语句,int k=7, x=12;则以下能使值为3的表达式是。

A. x%=(k%=5)B. x%=(k-k%5)C. x%= k-k%5D. (x%=k)-(k%=5)38.若有条件表达式(exp)? A++: b--,则以下表达式中能完全等价于表达式(exp)的是。

A. (exp= =0)B. (exp!=0)C. (exp= =1)D. (exp!=1)39.设有以下语句:typedef struct REC{ char c; int a[4];} REC1;则下面叙述中正确的是。

A.可以用REC定义结构体变量B.REC1是struct REC类型的变量C.REC是struct类型的变量D.可以用REC1定义结构体变量40.下列关于结构的语法错误的是A.结构是由用户自定义的一种数据类型B.结构中可设定若干个不同数据类型的成员C.结构中成员的数据类型可以是另一个已定义的结构D.在定义结构时,可以为成员设置默认值41.以下关于结构体的叙述中,错误的是。

A.结构体是一种可由用户构造的数据类型B.结构体中的成员可以具有不同的数据类型C.结构体中的成员不可以与结构体变量同名D.结构体中的成员可以是指向自身结构的指针类型42.说明一个结构体变量时,系统分配给它的内存是。

A.各成员所需内存量的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构中最后一个成员所需内存量43.设有以下说明语句:struct stu{ int a; float b; } stutype;则下面的叙述不正确的是。

A.struct是结构体类型的关键字B.struct stu是用户定义的结构体类型名C.stutype是用户定义的结构体类型名D.a 和b都是结构体成员名44.若有如下定义struct data{ int x,y;} test1={10,20}, test2;则以下赋值语句中错误的是。

相关主题