- 0
- 0
- 约6.61千字
- 约 13页
- 2026-01-30 发布于河南
- 举报
c语言基础考试题库
第一部分单选题(50题)
1、以下二维数组初始化正确的是?()
A.inta[2][3]={{1},{2},{3}};
B.inta[2][3]={1,2,3,4,5};
C.inta[2][3]={{1,2,3},{4,5,6}};
D.inta[2][3]={1,2,3,4,5,6,7};
【答案】:答案解析:A行数超2,B元素不足6个(补0),C标准初始化,D元素超6个,故选C。
2、若inta[3][3]={{1},{2,3},{4,5,6}};则a[1][0]的值是?()
A.2
B.3
C.4
D.5
【答案】:答案解析:a[1][0]是第二行第一列,值为2,故选A。
3、以下关于指针的说法正确的是?()
A.指针可用于遍历数组
B.指针可用于字符串操作
C.指针可用于函数参数传递
D.以上都正确
【答案】:答案解析:指针在数组遍历、字符串处理、参数传递中均有核心作用,故选D。
4、以下函数声明中,返回类型为float的是?()
A.floatfun();
B.voidfun(floata);
C.intfun(floata);
D.charfun(floata);
【答案】:答案解析:A返回类型为float,B无返回值,C返回类型int,D返回类型char,故选A。
5、定义整型变量x、y并均赋值10的语句是?()
A.intx=y=10;
B.intx=10,y=10;
C.intx=10;y=10;
D.intx=10;inty=10;
【答案】:答案解析:同一行定义多个变量用逗号分隔,A不能连续赋值,C缺少int,D是两行定义,故选B。
6、do-while循环的语法格式正确的是?()
A.do语句;while(条件);
B.do{语句}while(条件)
C.do语句while(条件);
D.do;语句;while(条件);
【答案】:答案解析:do-while格式为“do循环体;while(条件);”,循环体可是单条语句或代码块,B缺少分号,C缺少分号,D循环体为空,故选A。
7、若inta[5]={1,2,3,4,5},p=a;执行p+=2;后p的值是?()
A.2
B.3
C.4
D.5
【答案】:答案解析:p+=2使p指向a[2],*p=3,故选B。
8、以下数组定义中,长度为5的是?()
A.inta[5];
B.inta[]={1,2,3,4,5};
C.charstr[]=abcd;
D.以上都是
【答案】:答案解析:A长度5,B长度5,C字符串abcd含\0共5个字符,故选D。
9、以下for循环中,循环变量更新表达式为“i-=2”的是?()
A.for(i=10;i0;i-=2)
B.for(i=0;i10;i+=2)
C.for(i=10;i0;i--)
D.for(i=0;i10;i=2)
【答案】:答案解析:i-=2等价于i=i-2,A的更新表达式正确,故选A。
10、以下哪个函数用于输出字符串?()
A.putchar()
B.printf()
C.gets()
D.scanf()
【答案】:答案解析:printf()可输出字符串(如printf(hello);),putchar()输出单个字符,故选B。
11、以下定义指向数组的指针正确的是?()
A.inta[5],*p=a;
B.inta[5],*p=a;
C.inta[5],p=a;
D.inta[5],*p=a[0];
【答案】:答案解析:a是数组名(首元素地址),p=a等价于p=a[0],Ba是数组地址(类型不匹配),Cp是普通变量,Dp不能赋a[0]的值,故选A。
12、若intx=5;则表达式x+++x的结果是?()
A.10
B.11
C.12
D.9
【答案】:答案解析:结合性从左到右,x+++x等价于(x++)+x=5+6=11,故选B。
13、以下for循环的循环变量初始化表达式为“i=5”的是?()
A.for(i=0;i5;i++)
B.for(i=5;i0;i--)
C.for(i=2;i=5;i++)
D.for(i=5;i10;i+=2)
【答案】:答案解析:初始化表达式是for循环第一个部分,B中i=5符合,其余初始化非5,故选B。
14、若inti=0;执行while(i5){if(i==2)break;printf(%d,i);i++;}输出结果是?()
A.01
B.012
C.01234
D.无限循环
【答案】:答案解析:i=2时执行break,终止循环,输出01,故选A。
15、数组名作为函数参数时,传递的是?()
A.数组第一个元素的值
B.数
原创力文档

文档评论(0)