- 0
- 0
- 约6.03千字
- 约 13页
- 2026-01-30 发布于山东
- 举报
2026年期末c语言考试题
第一部分单选题(50题)
1、以下函数递归调用的例子是?()
A.计算阶乘
B.循环输出数字
C.数组遍历
D.变量交换
【答案】:答案解析:阶乘常用递归实现(n!=n*(n-1)!),B、C、D用循环更高效,故选A。
2、逻辑表达式!0的结果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:C语言中非0为真,!是逻辑非,!0(假)结果为1(真),故选B。
3、以下if语句的语法正确的是?()
A.if(x0){printf(a);elseprintf(b);}
B.if(x0)printf(a);else{printf(b);}
C.if(x0)printf(a);elseprintf(b);}
D.if(x0){printf(a);}elseprintf(b);}
【答案】:答案解析:A缺少},C多},D多},B语法正确(else后{}可加可不加),故选B。
4、逻辑表达式30的结果是?()
A.0
B.1
C.3
D.真
【答案】:答案解析:逻辑与只要有一个operand为0则结果为0,3为真,0为假,故选A。
5、以下函数定义错误的是?()
A.intfun(inta,intb){returna+b;}
B.voidfun(){inta=5;printf(%d,a);}
C.intfun(){inta=3;returna;}
D.voidfun(inta){returna;}
【答案】:答案解析:D返回值类型void,不能return表达式a,语法错误,故选D。
6、以下哪个是C语言中的赋值运算符?()
A.==
B.=
C.+=
D.!=
【答案】:答案解析:=是赋值运算符,==是等于判断,+=是复合赋值,!=是不等于判断,故选B。
7、do-while循环的语法格式正确的是?()
A.do语句;while(条件);
B.do{语句}while(条件)
C.do语句while(条件);
D.do;语句;while(条件);
【答案】:答案解析:do-while格式为“do循环体;while(条件);”,循环体可是单条语句或代码块,B缺少分号,C缺少分号,D循环体为空,故选A。
8、若inti=0;执行for(i=0;i5;i++){if(i%2==0)continue;printf(%d,i);}输出结果是?()
A.13
B.024
C.01234
D.无输出
【答案】:答案解析:i为偶数(0、2、4)时continue,输出奇数1、3,故选A。
9、while循环的语法格式正确的是?()
A.while(条件)语句;
B.while条件语句;
C.while(条件);语句;
D.while(条件){语句}
【答案】:答案解析:while后条件需加括号,语句可是单条(加分号)或代码块(用{}),D缺少分号,故选A。
10、函数指针的作用是?()
A.存储函数的地址
B.调用函数
C.实现回调函数
D.以上都正确
【答案】:答案解析:函数指针存储函数地址,可通过指针调用函数,常用于回调函数,故选D。
11、continue语句只能用于以下哪种结构?()
A.循环语句
B.switch语句
C.if语句
D.所有结构
【答案】:答案解析:continue仅用于循环语句(for/while/do-while),用于跳过本次循环,故选A。
12、以下函数声明正确的是?()
A.intfun(intx,inty);
B.intfun(int,int);
C.intfun(intx;inty);
D.A和B
【答案】:答案解析:函数声明可写参数名或只写类型,A、B正确,C用分号错误,故选D。
13、若inta=5,p=a;则p的值是?()
A.5
B.a
C.p
D.无定义
【答案】:答案解析:*p等价于p,即指针p自身的值(a的地址),故选C。
14、若inta=4,b=6;则表达式ab?a+b:a-b的结果是?()
A.10
B.-2
C.4
D.6
【答案】:答案解析:ab为真,取a+b=4+6=10,故选A。
15、若inta=3;执行if(++a3)printf(A);elseprintf(B);输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:++a是前置自增,a变为43,条件为真,输出A,故选A。
16、若charstr[]=Clanguage;则字符串长度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:字符串长度以\0结束,Clanguage含10个字符(不含\0),故选A。
17、以下哪个函数
原创力文档

文档评论(0)