- 0
- 0
- 约6.59千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年C语言程序设计基础单项选择题库
第一部分单选题(50题)
1、C语言程序的入口函数是?()
A.main()
B.printf()
C.scanf()
D.main
【答案】:答案解析:所有C程序从main()函数开始执行,必须有且仅有一个,故选A。
2、以下switch语句语法正确的是?()
A.switch(x){case1:printf(1);break;case2:printf(2);}
B.switch(x){case1:printf(1);case2:printf(2);break;}
C.switch(x){case1:printf(1);break;default:printf(0);}
D.以上都正确
【答案】:答案解析:switch语句case后可加break(跳出)或不加(穿透),default可选,A、B、C语法均正确,故选D。
3、若inti=1;执行do{printf(%d,i);i++;}while(i=0);输出结果是?()
A.1
B.无输出
C.无限循环
D.12
【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断i=0为假,循环结束,故选A。
4、指针与结构体的关系,以下说法正确的是?()
A.结构体指针通过-访问成员
B.结构体变量通过。访问成员
C.结构体指针可指向结构体变量
D.以上都正确
【答案】:答案解析:A、B、C均是结构体与指针的基本规则,故选D。
5、若inti=1;执行while(i5){printf(%d,i);i+=2;}输出结果是?()
A.13
B.135
C.1234
D.无输出
【答案】:答案解析:i初始1,每次加2,执行2次(1、3),输出13,故选A。
6、定义整型变量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。
7、以下关于void类型函数的说法正确的是?()
A.不能有return语句
B.可以有return语句(无表达式)
C.必须有return语句
D.可返回任意类型
【答案】:答案解析:void函数可写return;(无表达式),用于提前结束函数,不能返回表达式,故选B。
8、以下循环语句中,语法正确的是?()
A.while(i5){printf(%d,i);i++;}
B.while(i5)printf(%d,i);i++;
C.do{printf(%d,i);i++;}while(i5)
D.for(i=0;i5)printf(%d,i);
【答案】:答案解析:B中i++在循环体外(循环无限),C缺少分号,D缺少更新表达式,A语法正确,故选A。
9、若inta=8;执行if(a%4==0)a=a/2;elsea=a+2;后a的值是?()
A.4
B.10
C.8
D.6
【答案】:答案解析:8%4=0,条件为真,a=8/2=4,故选A。
10、若inta[4]={10,20,30,40};则*(a+2)的值是?()
A.20
B.30
C.40
D.10
【答案】:答案解析:a+2是第三个元素地址,*(a+2)=a[2]=30,故选B。
11、以下哪个if语句的条件是“x是偶数且x大于10”?()
A.if(x%2==0x10)
B.if(x%2=0x10)
C.if(x%2==0||x10)
D.if(x%2=0||x10)
【答案】:答案解析:偶数判断用x%2==0,逻辑与用,B是赋值,C、D是逻辑或,故选A。
12、若inti=0;执行for(;;){if(i==4)break;printf(%d,i);i++;}输出结果是?()
A.0123
B.01234
C.无限循环
D.无输出
【答案】:答案解析:for(;;)是无限循环,i=4时break,输出0123,故选A。
13、若inta=10;执行if(a%2==0)printf(偶数);elseprintf(奇数);输出结果是?()
A.偶数
B.奇数
C.10
D.无输出
【答案】:答案解析:a=10%2=0,条件为真,输出偶数,故选A。
14、while循环的语法格式正确的是?()
A.while(条件)语句;
B.while条件语句;
C.while(条件);语句;
D.while(条件){语句}
【答案】:答案解析:while后条件需加括号,语句可是单条(加分号)或代码块(用{}),D缺少分号,故选A。
15
原创力文档

文档评论(0)