一、选择题
1. 在每个C程序中都必须包含有这样一个函数,该函数的函数名为 。
A. main B. MAIN C. name D. function 2. 在以下关于C语言的注释的叙述中,不正确的是 。 A.注释可用\、\形式表示,也可用\形式表示 B.编译器在编译一个程序时,将跳过注释,不对其进行处理 C.编译器在编译一个程序时,可发现注释中的单词拼写错误 D.程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A.在C程序中,严格区分大小写字母 B.一个C源程序有且仅有一个main函数 C.在C程序中,注释只能位于一条语句的后面 D.一个C程序总是从main函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A”与?A?是相同的 B. 字符串是常量,字符是变量 C. “A”与?A?是不同的 D. “A ”与“A”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的
if (x>y)
{z=x; s=z*z;} else
{z=y;s=1/(z*z);}
C. 语句的构成不一定需要分号
if (x>y) z=x; s=z*z; else
z=y;s=1/(z*z);
B. 空语句是只有一个分号的语句,它其实什么也不干 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。
A. PAd,P#d,b-b,abc,_0123,ssiped B. cin,a10,CPP,float,del_word,signed C. void,max,hiy,
D. a,temp,_isw,INT,keep,wind 8. 字符串“\\”EOF= -\\61\\””的长度是 。
A. 8 B. 9 C. 12 D. 非法字符串 9. 数学式sinx在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.int
11. C语言中,表示一条语句结束的标号是
A.# B.; C.// A.类
D.}
D.语句
12. 每个C程序中都必须有且仅有一个 B.预处理命令 C.主函数
13. 下列数据类型不是C语言基本数据类型的是 。
A.字符型 B.整型 C.实型 D.数组 14. 下列字符列中,可作为C语言程序自定义标识符是 。 A.switch B.file C.break D.do 15. 运算符 +、<=、=、% 中,优先级最低的运算符是 。 A. + B.<= C.= D.% 16. 下列字符列中,可以作为“字符串常量”的是 。 A. ABC B.″xyz″ C.′uvw′ D. ′a′ 17. 字符串\的长度是 。
A. 8 B. 10 C. 17 D. 16 18. 在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(\ A. 判断循环结束的条件不合法 B. 是无限循环 C. 循环体一次也不执行 D. 循环体只执行一次 23. 若有以下语句,则输出结果为 。 int a=2,b=1; string s1;
s1= a>b?\大于b\小于b\ printf(\
A. a大于b B. a小于b C. 1 D. 输出语句有错 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
运行结果为 。
A. 1,2,0 B. 2,1,0 C. 1,2,1 D. 2,1,1 26. 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循环中,根据情况可以省略while 29. 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(\ if(x<0) continue; printf(\
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*3 B. 3*a*e/b/c C. 3*a*e/b*c D. a*e/c/b*3 36. 以下表达式值为3的是 。 A. 16-13 B. 2+3/2
C. 14/3-2 D. (2+6)/(12-9)
37. 设有说明语句,int k=7, x=12;则以下能使值为3的表达式是 。 A. x%=(k%=5) B. x%=(k-k%5) C. x%= k-k%5 D. (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.结构中最后一个成员所需内存量