- 0
- 0
- 约6.47千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年c语言设计考试题库
第一部分单选题(50题)
1、以下数组定义中,可省略数组长度的是?()
A.inta[5];
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[][3];
【答案】:答案解析:初始化时可省略长度(编译器自动计算),D二维数组第二维不能省略,故选B。
2、若inti=0;执行while(i5){if(i==2)break;printf(%d,i);i++;}输出结果是?()
A.01
B.012
C.01234
D.无限循环
【答案】:答案解析:i=2时执行break,终止循环,输出01,故选A。
3、指针变量的大小取决于?()
A.指向变量的类型
B.编译器和系统(32位4字节,64位8字节)
C.指针变量的名称
D.变量的值
【答案】:答案解析:指针大小与指向类型无关,取决于系统位数(32位4B,64位8B),故选B。
4、以下关于循环语句的说法错误的是?()
A.for循环三个表达式均可省略
B.while循环先判断后执行
C.do-while循环至少执行一次
D.continue可用于switch语句
【答案】:答案解析:continue仅用于循环语句,不能用于switch,A、B、C说法正确,故选D。
5、以下switch语句中,case穿透的情况是?()
A.case后加break
B.case后不加break
C.有default
D.无default
【答案】:答案解析:case后不加break会继续执行下一个case的代码(穿透),加break则跳出,故选B。
6、数组名的本质是?()
A.数组第一个元素的地址
B.数组最后一个元素的地址
C.数组元素的个数
D.数组的大小
【答案】:答案解析:数组名是首元素地址(常量,不可修改),故选A。
7、若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。
8、若intx=3;执行以下代码后a的值是?()inta;if(x5)a=10;elseif(x2)a=20;elsea=30;
A.10
B.20
C.30
D.无定义
【答案】:答案解析:x=32,执行第二个分支,a=20,故选B。
9、若inti=0,s=0;执行for(i=0;i4;i++)s+=i;后s的值是?()
A.6
B.10
C.4
D.0
【答案】:答案解析:累加0+1+2+3=6,s=6,故选A。
10、若intx=1;执行switch(x){case1:printf(1);break;case1:printf(2);break;}会出现什么情况?()
A.输出1
B.输出2
C.编译错误
D.运行错误
【答案】:答案解析:case后常量不能重复,编译时会报错,故选C。
11、以下switch语句中,case后的常量可以是?()
A.整数
B.字符
C.枚举常量
D.以上都可以
【答案】:答案解析:switch的case后必须是整型常量(整数、字符、枚举常量,字符本质是ASCII码整数),故选D。
12、若charstr[]=helloworld;则字符串长度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:helloworld含11个字符(不含\0),长度为11,故选B。
13、若inti=0,s=0;执行do{s+=i;i++;}while(i5);后s的值是?()
A.10
B.15
C.5
D.0
【答案】:答案解析:do-while累加0+1+2+3+4=10,s=10,故选A。
14、以下if语句中,条件表达式正确的是?()
A.if(x=5)printf(yes);
B.if(x==5)printf(yes);
C.if(x=5;)printf(yes);
D.if(x==5;)printf(yes);
【答案】:答案解析:if条件需是判断表达式(==),A是赋值,C、D多加分号,故选B。
15、定义单精度浮点型变量y并赋值2.718的语句是?()
A.doubley=2.718;
B.floaty=2.718f;
C.floaty=2.718;
D.inty=2.718;
【答案】:答案解析:float是单精度,需加f后缀(否则默认double),double是双精度,故选B。
16、指针与字符串的关系,以下说法正确的是?()
A.字符串常量是字符数组,数组名是指针
B.字符串可通过指针遍历
C.字符指针
原创力文档

文档评论(0)