- 0
- 0
- 约6.33千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
计算机二级c语言真题
第一部分单选题(50题)
1、以下哪个for循环是无限循环?()
A.for(i=0;i5;i++)
B.for(;;)
C.for(i=0;i5;i--);
D.for(i=5;i0;i--)
【答案】:答案解析:for循环三个表达式均省略时,条件恒为真,是无限循环,A执行5次,C、D初始条件不满足(执行0次),故选B。
2、以下switch语句中,default的执行时机是?()
A.所有case都不匹配时
B.第一个case不匹配时
C.最后一个case不匹配时
D.任何时候
【答案】:答案解析:default仅在所有case都不匹配时执行,故选A。
3、表达式5324的结果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:53为真(1),24为真(1),逻辑与结果为1,故选B。
4、以下指针运算错误的是?()
A.inta=5,*p=a;p++;
B.inta=5,*p=a;*p++;
C.inta=5,*p=a;p=a+1;
D.inta=5,*p=a;p=p+2;
【答案】:答案解析:a是地址常量,不能进行算术运算(a+1错误),A、B、D均正确,故选C。
5、若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。
6、函数定义的格式是?()
A.返回类型函数名(参数列表){函数体}
B.函数名(返回类型,参数列表){函数体}
C.函数名(参数列表)返回类型{函数体}
D.返回类型函数名{参数列表,函数体}
【答案】:答案解析:函数定义标准格式为“返回类型函数名(参数列表){函数体}”,故选A。
7、若inta=5,p=a;执行p=8;后a的值是?()
A.5
B.8
C.a
D.无定义
【答案】:答案解析:*p=8通过指针修改指向变量a的值,a变为8,故选B。
8、以下if-else语句的语法错误是?()
A.if(x0)printf(a);elseprintf(b);
B.if(x0){printf(a);}else{printf(b);}
C.if(x0)printf(a);else;printf(b);
D.if(x0){printf(a);}elseprintf(b);
【答案】:答案解析:else后不能直接加分号(否则else无作用),C中else;后printf独立执行,故选C。
9、以下关于数组的说法正确的是?()
A.数组长度可动态修改
B.数组元素可不同类型
C.数组在内存中连续存储
D.数组名可作为左值赋值
【答案】:答案解析:A数组长度定义后固定,B元素必须同类型,D数组名是常量(不可赋值),C正确,故选C。
10、若inta=5,b=3;执行if(ab){a--;b++;}后a和b的值分别是?()
A.4,4
B.5,3
C.4,3
D.5,4
【答案】:答案解析:ab为真,执行代码块,a=5-1=4,b=3+1=4,故选A。
11、以下函数声明正确的是?()
A.intfun(intx,inty);
B.intfun(int,int);
C.intfun(intx;inty);
D.A和B
【答案】:答案解析:函数声明可写参数名或只写类型,A、B正确,C用分号错误,故选D。
12、若inti=1;执行while(i5){printf(%d,i);i+=2;}输出结果是?()
A.13
B.135
C.1234
D.无输出
【答案】:答案解析:i初始1,每次加2,执行2次(1、3),输出13,故选A。
13、以下数组定义中,正确的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A、B、C均符合数组定义规则,故选D。
14、putchar()函数的功能是?()
A.读取一个字符
B.输出一个字符
C.读取字符串
D.输出字符串
【答案】:答案解析:putchar()用于输出单个字符,getchar()读取单个字符,puts()输出字符串,故选B。
15、以下函数定义中,参数为指针的是?()
A.voidfun(int*a){printf(%d,*a);}
B.voidfun(inta){printf(%d,a);}
C.voidfun(inta[]){printf(%d,a[0]);}
D.A和C
【答案】:答案解析:A是指针参数,
原创力文档

文档评论(0)