- 0
- 0
- 约6.04千字
- 约 13页
- 2026-01-27 发布于山东
- 举报
计算机二级c语言真题
第一部分单选题(50题)
1、以下函数定义错误的是?()
A.intfun(inta,intb){returna+b;}
B.voidfun(){inta=5;printf(%d,a);}
C.intfun(){inta=3;returna;}
D.voidfun(inta){returna;}
【答案】:答案解析:D返回值类型void,不能return表达式a,语法错误,故选D。
2、以下哪个字符串的长度是3?()
A.abc
B.a\0b
C.ab\n
D.ab
【答案】:答案解析:字符串长度以\0结束,abc含a、b、c(3个字符),a\0b长度为1,故选A。
3、以下函数调用正确的是?()
A.fun(5);
B.fun(3,4);
C.fun(hello);
D.取决于函数定义
【答案】:答案解析:函数调用需匹配函数定义的参数类型和个数,A、B、C是否正确取决于函数定义,故选D。
4、函数指针的作用是?()
A.存储函数的地址
B.调用函数
C.实现回调函数
D.以上都正确
【答案】:答案解析:函数指针存储函数地址,可通过指针调用函数,常用于回调函数,故选D。
5、数组作为函数参数时,函数形参不能是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通变量,不能接收数组名(地址),A、B、C均可作为数组形参,故选D。
6、表达式5324的结果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:53为真(1),24为真(1),逻辑与结果为1,故选B。
7、以下关于指针的说法正确的是?()
A.指针可用于实现多返回值函数
B.指针可提高程序效率
C.指针可用于动态内存分配
D.以上都正确
【答案】:答案解析:指针的核心用途包括多返回值、高效访问、动态内存分配,故选D。
8、以下循环中,用于计算1到10的乘积的是?()
A.s=0;for(i=1;i=10;i++)s+=i;
B.s=1;for(i=1;i=10;i++)s*=i;
C.s=0;while(i=10){s*=i;i++;}
D.s=1;do{s+=i;i++;}while(i=10);
【答案】:答案解析:乘积初始值为1,累加初始值为0,B的逻辑是12...*10,正确,故选B。
9、以下关于void类型函数的说法正确的是?()
A.不能有return语句
B.可以有return语句(无表达式)
C.必须有return语句
D.可返回任意类型
【答案】:答案解析:void函数可写return;(无表达式),用于提前结束函数,不能返回表达式,故选B。
10、若floatx=3.14;则表达式(int)x的结果是?()
A.3
B.3.14
C.4
D.0
【答案】:答案解析:强制转换为int取整数部分,3.14→3,故选A。
11、C语言程序的入口函数是?()
A.main()
B.printf()
C.scanf()
D.main
【答案】:答案解析:所有C程序从main()函数开始执行,必须有且仅有一个,故选A。
12、若intx=3,y=5;执行if(xy)printf(x大);elseif(x==y)printf(相等);elseprintf(y大);输出结果是?()
A.x大
B.相等
C.y大
D.无输出
【答案】:答案解析:x=3y=5,执行else,输出y大,故选C。
13、以下关于二维数组的说法正确的是?()
A.二维数组是数组的数组
B.二维数组元素在内存中按列存储
C.二维数组长度必须是常量
D.二维数组不能作为函数参数
【答案】:答案解析:二维数组本质是数组的数组,内存按行存储,可作为函数参数,长度需常量,故选A。
14、以下指针运算中,结果为指针的是?()
A.*p
B.p+1
C.a
D.B和C
【答案】:答案解析:p+1是指针偏移,a是取地址,结果均为指针;*p是解引用(获取值),故选D。
15、下列字符串常量定义正确的是?()
A.abc
B.abc
C.abc
D.ab
【答案】:答案解析:字符串常量用双引号包裹,单引号用于字符常量,C是标识符,D语法错误,故选B。
16、以下switch语句中,default的位置可以在?()
A.所有case之前
B.所有case之后
C.两个case之间
D.以上都可以
【答案】:答案解析:default位置灵活,可在case前、后或中间,不影响执行逻辑,故选D。
17、若inti=0,s=0;执行do{s+=i;i++;}while(i5);后s的值是?()
原创力文档

文档评论(0)