- 0
- 0
- 约6.71千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
大学工程学院C语言考试真题
第一部分单选题(50题)
1、若intx=2;执行switch(x){case1:printf(a);case2:printf(b);case3:printf(c);}输出结果是?()
A.b
B.bc
C.abc
D.无输出
【答案】:答案解析:x=2匹配case2,无break,穿透到case3,输出bc,故选B。
2、以下if-else语句中,代码块正确的是?()
A.if(x0)printf(a);printf(b);elseprintf(c);
B.if(x0){printf(a);printf(b);}elseprintf(c);
C.if(x0)printf(a);{printf(b);}elseprintf(c);
D.if(x0)printf(a);printf(b);else{printf(c);}
【答案】:答案解析:else需与最近的if匹配,A、C、D中else前有独立printf,语法错误,B用{}包裹代码块正确,故选B。
3、以下循环中,无限循环的是?()
A.for(i=0;i5;i++)
B.while(i=5)
C.do{i++;}while(i5);
D.for(i=5;i0;i--)
【答案】:答案解析:while(i=5)是赋值(i=5,非0,条件恒真),无限循环;A执行5次,C(i初始0)执行5次,D执行5次,故选B。
4、若charstr[10]=abcde;则str[5]的值是?()
A.e
B.\0
C.随机值
D.无定义
【答案】:答案解析:字符串自动在末尾加\0,str[5]是\0,故选B。
5、以下switch语句中,break语句的作用是?()
A.终止当前case
B.终止switch语句
C.跳过下一个case
D.无作用
【答案】:答案解析:break在switch中用于跳出整个switch语句,避免case穿透,故选B。
6、二维数组a[3][4]的元素个数是?()
A.7
B.12
C.3
D.4
【答案】:答案解析:3行4列,共3×4=12个元素,故选B。
7、以下转义字符表示换行的是?()
A.\t
B.\n
C.\
D.\r
【答案】:答案解析:\t是制表符,\n是换行符,\是反斜杠,\r是回车符,故选B。
8、以下二维数组定义中,行数为2的是?()
A.inta[2][3];
B.inta[][3]={1,2,3,4,5,6};
C.inta[2][3]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A行数2,B初始化6个元素(3列×2行),C行数2,故选D。
9、若inta[3][4]={{1,2},{3,4,5},{6}};则a[0][1]的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:a[0][1]是第一行第二列,值为2,故选B。
10、以下for循环的语法错误是?()
A.for(inti=0;i5;i++)printf(%d,i);
B.for(i=0;i5;i++)printf(%d,i);
C.for(;i5;i++)printf(%d,i);
D.for(i=0;;i++)printf(%d,i);
【答案】:答案解析:B中i未定义(需先声明inti;),A(C99标准允许循环内定义)、C(初始化省略)、D(条件省略,无限循环)语法均正确,故选B。
11、逻辑表达式!0的结果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:C语言中非0为真,!是逻辑非,!0(假)结果为1(真),故选B。
12、若inta=4;执行if(a--4)printf(A);elseprintf(B);输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:a--是后置自减,条件判断时a=4,44为假,执行else(输出B),后a变为3,故选B。
13、do-while循环的特点是?()
A.先判断条件,后执行循环体
B.先执行循环体,后判断条件
C.条件不满足时也不执行循环体
D.只能执行一次
【答案】:答案解析:do-while是“先执行后判断”,至少执行一次循环体,for和while是“先判断后执行”,故选B。
14、以下哪个是C语言的循环语句?()
A.if
B.for
C.else
D.switch
【答案】:答案解析:C语言循环语句包括for、while、do-while,if/else是选择语句,switch是多分支选择语句,故选B。
15、若intx=5;执行以下代码后输出结果是?()if(x10)printf(A);elseif(x6
原创力文档

文档评论(0)