- 0
- 0
- 约6.33千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年c语言理论考试题
第一部分单选题(50题)
1、若inta=3;执行a+=aa;后a的值是?()
A.12
B.6
C.9
D.15
【答案】:答案解析:优先级先乘后加,a+=aa等价于a=a+(aa)=3+(33)=12,故选A。
2、函数参数为数组时,形参的写法错误的是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通变量,不能接收数组名(地址),A、B、C均正确,故选D。
3、若inta=4;执行a-=2;后a的值是?()
A.2
B.4
C.6
D.0
【答案】:答案解析:a-=2等价于a=a-2,4-2=2,故选A。
4、以下哪个数据类型的占用字节数最大?()
A.char
B.short
C.int
D.double
【答案】:答案解析:char(1字节)、short(2字节)、int(4字节)、double(8字节),故选D。
5、以下关于指针的说法错误的是?()
A.指针可指向变量、数组、函数
B.指针可进行算术运算(如++、--)
C.指针可指向自身
D.指针可用于动态内存分配
【答案】:答案解析:指针不能指向自身(类型不匹配),A、B、D说法正确,故选C。
6、若inti=1;执行do{printf(%d,i);i++;}while(i=0);输出结果是?()
A.1
B.无输出
C.无限循环
D.12
【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断i=0为假,循环结束,故选A。
7、若inta=5,p=a;则p的值是?()
A.5
B.a
C.p
D.无定义
【答案】:答案解析:*p等价于p,即指针p自身的值(a的地址),故选C。
8、以下switch语句中,case穿透的情况是?()
A.case后加break
B.case后不加break
C.有default
D.无default
【答案】:答案解析:case后不加break会继续执行下一个case的代码(穿透),加break则跳出,故选B。
9、若inti=5,s=0;执行while(i0){s+=i;i--;}后s的值是?()
A.15
B.10
C.5
D.0
【答案】:答案解析:累加5+4+3+2+1=15,s=15,故选A。
10、以下哪个关键字用于定义整型变量?()
A.char
B.int
C.float
D.double
【答案】:答案解析:int定义整型,char字符型,float单精度浮点型,double双精度浮点型,故选B。
11、表达式5324的结果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:53为真(1),24为真(1),逻辑与结果为1,故选B。
12、以下循环中,循环次数为3次的是?()
A.for(i=1;i=3;i++)
B.while(i=3)
C.do{i++;}while(i3);
D.for(i=5;i0;i--)
【答案】:答案解析:A执行3次(1-3),B是无限循环,C(i初始0)执行3次,D执行5次,题目问“3次”,A明确正确,故选A。
13、若inta=2,b=4;执行if(a==b)a=0;elseb=0;后a和b的值分别是?()
A.0,4
B.2,0
C.0,0
D.2,4
【答案】:答案解析:a==b为假,执行else,b=0,a保持2,故选B。
14、若inti=0;执行for(;i5;){printf(%d,i);i++;}输出结果是?()
A.01234
B.12345
C.无限循环
D.无输出
【答案】:答案解析:for循环初始化和条件省略,循环体中i自增,执行5次,输出01234,故选A。
15、若inti=0,s=0;执行for(i=1;i=4;i++)s+=i;后s的值是?()
A.10
B.9
C.8
D.7
【答案】:答案解析:累加1+2+3+4=10,s=10,故选A。
16、若charstr=hello;则str[1]的值是?()
A.h
B.e
C.l
D.\0
【答案】:答案解析:str是字符串首地址,str[1]等价于(str+1),值为e,故选B。
17、若inta=10,b=20,*p=a,q=b;执行p=q;后p的值是?()
A.10
B.20
C.a
D.b
【答案】:答案解析:p=q使p指向b,*p=b=20,故选B。
18、以下定义函数指针正确的是?()
A.int(*fp)(int);
B.int*fp(int);
C.intfp(int);
D.int(fp)[];
【答案】:答案解析:A是指
原创力文档

文档评论(0)