- 0
- 0
- 约6.95千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
期末c语言考试题
第一部分单选题(50题)
1、若inti=1;执行while(i=4){printf(%d,i);i+=3;}输出结果是?()
A.14
B.1234
C.1
D.无输出
【答案】:答案解析:i初始1,加3后4,执行2次,输出14,故选A。
2、以下if语句的语法正确的是?()
A.if(x0){printf(a);elseprintf(b);}
B.if(x0)printf(a);else{printf(b);}
C.if(x0)printf(a);elseprintf(b);}
D.if(x0){printf(a);}elseprintf(b);}
【答案】:答案解析:A缺少},C多},D多},B语法正确(else后{}可加可不加),故选B。
3、若floatf=5.9;强制转换为整型的表达式是?()
A.int(f)
B.(int)f
C.intf
D.(float)f
【答案】:答案解析:强制类型转换格式为(目标类型)变量,(int)f结果为5(取整数部分),故选B。
4、以下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。
5、指针作为函数参数时,传递的是?()
A.指针的值
B.指针的地址
C.变量的值
D.变量的地址
【答案】:答案解析:指针传参本质是传递变量地址,函数中通过指针可修改实参值,故选D。
6、以下关于指针数组和数组指针的说法正确的是?()
A.指针数组是数组,元素为指针
B.数组指针是指针,指向数组
C.int*arr[5]是指针数组,int(*arr)[5]是数组指针
D.以上都正确
【答案】:答案解析:A、B、C均准确区分了指针数组和数组指针,故选D。
7、以下switch语句语法正确的是?()
A.switch(x){case1:printf(1);break;case2:printf(2);}
B.switch(x){case1:printf(1);case2:printf(2);break;}
C.switch(x){case1:printf(1);break;default:printf(0);}
D.以上都正确
【答案】:答案解析:switch语句case后可加break(跳出)或不加(穿透),default可选,A、B、C语法均正确,故选D。
8、若inti=1;执行do{printf(%d,i);i++;}while(i=3);输出结果是?()
A.123
B.1234
C.012
D.无输出
【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断,共执行3次,输出123,故选A。
9、以下switch语句语法错误的是?()
A.switch(x){case1:printf(1);break;case2:printf(2);break;}
B.switch(x){case1:printf(1);case2:printf(2);}
C.switch(x){case1:;break;case2:printf(2);}
D.switch(x){case1:printf(1);break;case1:printf(2);break;}
【答案】:答案解析:case后常量不能重复,D中case1重复,编译报错,故选D。
10、若inta[5]={10,20,30,40,50};则a[2]的值是?()
A.10
B.20
C.30
D.40
【答案】:答案解析:数组下标从0开始,a[2]是第三个元素30,故选C。
11、C语言中基本数据类型不包括以下哪项?()
A.char
B.int
C.float
D.array
【答案】:答案解析:基本数据类型为char、int、float、double,array是数组(构造类型),故选D。
12、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的值是?()
A.5
B.6
C.8
D.9
【答案】:答案解析:a[1][2]是第二行第三列,值为6,故选B。
13、二维数组a[2][3]在内存中存储的顺
原创力文档

文档评论(0)