- 0
- 0
- 约6.4千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年c语言理论考试题
第一部分单选题(50题)
1、以下函数无返回值的是?()
A.intfun(){return0;}
B.voidfun(){printf(hello);}
C.floatfun(){return3.14;}
D.charfun(){returnb;}
【答案】:答案解析:void类型函数无返回值,A、C、D均有返回值,故选B。
2、以下函数定义错误的是?()
A.voidfun(){}
B.voidfun(inta){}
C.intfun(){}
D.intfun(){return;}
【答案】:答案解析:D返回类型int(必须return表达式),return无表达式错误,A、B、C正确,故选D。
3、若inta[5]={10,20,30,40,50};则a[4]的值是?()
A.40
B.50
C.60
D.无定义
【答案】:答案解析:a[4]是第五个元素,值为50,故选B。
4、while循环的语法格式正确的是?()
A.while(条件)语句;
B.while条件语句;
C.while(条件);语句;
D.while(条件){语句}
【答案】:答案解析:while后条件需加括号,语句可是单条(加分号)或代码块(用{}),D缺少分号,故选A。
5、以下定义指向二维数组的指针正确的是?()
A.inta[2][3],(*p)[3]=a;
B.inta[2][3],*p=a;
C.inta[2][3],p=a[0];
D.inta[2][3],*p=a;
【答案】:答案解析:A是指向3列数组的指针(匹配二维数组a的行),B、C、D类型不匹配,故选A。
6、若intx=1;执行switch(x){case1:printf(1);case2:printf(2);break;case3:printf(3);}输出结果是?()
A.1
B.12
C.123
D.无输出
【答案】:答案解析:x=1匹配case1,无break,穿透到case2(执行后break),输出12,故选B。
7、若inta=4;执行a-=2;后a的值是?()
A.2
B.4
C.6
D.0
【答案】:答案解析:a-=2等价于a=a-2,4-2=2,故选A。
8、若inta[4]={10,20,30,40};则*(a+2)的值是?()
A.20
B.30
C.40
D.10
【答案】:答案解析:a+2是第三个元素地址,*(a+2)=a[2]=30,故选B。
9、break语句在循环中的作用是?()
A.跳过本次循环,继续下一次
B.终止整个循环
C.终止当前语句
D.无作用
【答案】:答案解析:break在循环中用于终止整个循环(跳出循环体),continue是跳过本次循环,故选B。
10、函数调用时,实参的顺序必须与形参的顺序?()
A.一致
B.相反
C.无关
D.部分一致
【答案】:答案解析:实参和形参需按顺序一一对应(类型、个数、顺序匹配),否则可能导致逻辑错误,故选A。
11、若floatx=3.14;则表达式(int)x的结果是?()
A.3
B.3.14
C.4
D.0
【答案】:答案解析:强制转换为int取整数部分,3.14→3,故选A。
12、若intx=5;执行if(x3x7)printf(yes);elseprintf(no);输出结果是?()
A.yes
B.no
C.yesno
D.无输出
【答案】:答案解析:x=53且7,条件为真,输出yes,故选A。
13、若intx=1;执行switch(x){case1:printf(1);break;case1:printf(2);break;}会出现什么情况?()
A.输出1
B.输出2
C.编译错误
D.运行错误
【答案】:答案解析:case后常量不能重复,编译时会报错,故选C。
14、若inta[5];执行a[0]=1;a[1]=2;则a[2]的值是?()
A.0
B.3
C.随机值
D.无定义
【答案】:答案解析:全局数组默认0,局部数组未初始化是随机值?题目未说明存储类别,通常默认全局,a[2]=0,故选A。
15、函数返回值的类型由______决定?()
A.return语句中的表达式类型
B.函数定义时的返回类型
C.函数调用时的参数类型
D.编译器默认类型
【答案】:答案解析:函数返回类型在定义时指定,return表达式类型需与返回类型匹配(不匹配则强制转换),故选B。
16、以下函数调用正确的是?()
A.fun(5);
B.fun(3,4);
C.fun(hello);
D.取决于函数定义
【答案】:答案解析:函数调用
原创力文档

文档评论(0)