- 0
- 0
- 约6.41千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
大学工程学院C语言考试真题
第一部分单选题(50题)
1、定义单精度浮点型变量y并赋值2.718的语句是?()
A.doubley=2.718;
B.floaty=2.718f;
C.floaty=2.718;
D.inty=2.718;
【答案】:答案解析:float是单精度,需加f后缀(否则默认double),double是双精度,故选B。
2、以下关于函数参数的说法正确的是?()
A.形参是局部变量
B.实参是局部变量
C.形参在函数调用后释放
D.实参在函数调用后释放
【答案】:答案解析:形参是函数内局部变量(调用时分配内存,调用结束释放),实参是主调函数中的变量(生命周期与主调函数一致),故选A。
3、逻辑表达式!5的结果是?()
A.0
B.1
C.5
D.真
【答案】:答案解析:5为真,!是逻辑非,真变假(0),故选A。
4、以下关于函数的说法正确的是?()
A.函数必须有返回值
B.函数可嵌套定义
C.函数可递归调用
D.函数名可重定义
【答案】:答案解析:A函数可无返回值(void),B不能嵌套定义(可嵌套调用),D函数名不能重定义,C递归调用正确,故选C。
5、若inta=7,*p=a;执行++*p;后a的值是?()
A.7
B.8
C.a
D.无定义
【答案】:答案解析:++*p等价于++(*p),先解引用取a的值,再加1(a=8),故选B。
6、以下哪个字符串的长度是3?()
A.abc
B.a\0b
C.ab\n
D.ab
【答案】:答案解析:字符串长度以\0结束,abc含a、b、c(3个字符),a\0b长度为1,故选A。
7、若inta=3;执行a+=aa;后a的值是?()
A.12
B.6
C.9
D.15
【答案】:答案解析:优先级先乘后加,a+=aa等价于a=a+(aa)=3+(33)=12,故选A。
8、若inta[4]={10,20,30,40};则*(a+2)的值是?()
A.20
B.30
C.40
D.10
【答案】:答案解析:a+2是第三个元素地址,*(a+2)=a[2]=30,故选B。
9、函数中局部变量的作用域是?()
A.整个程序
B.函数内部
C.函数外部
D.所有函数
【答案】:答案解析:局部变量定义在函数内,仅在函数内部有效,故选B。
10、函数返回值通过______语句返回?()
A.printf
B.scanf
C.return
D.break
【答案】:答案解析:return语句用于函数返回值,printf输出,scanf输入,break跳出循环/switch,故选C。
11、以下函数递归调用的例子是?()
A.计算阶乘
B.循环输出数字
C.数组遍历
D.变量交换
【答案】:答案解析:阶乘常用递归实现(n!=n*(n-1)!),B、C、D用循环更高效,故选A。
12、以下转义字符表示换行的是?()
A.\t
B.\n
C.\
D.\r
【答案】:答案解析:\t是制表符,\n是换行符,\是反斜杠,\r是回车符,故选B。
13、以下哪个运算符的优先级最高?()
A.+
B.*
C.=
D.==
【答案】:答案解析:算术运算符中*(乘)优先级高于+(加),赋值(=)和关系(==)优先级更低,故选B。
14、以下指针运算中,结果为指针的是?()
A.*p
B.p+1
C.a
D.B和C
【答案】:答案解析:p+1是指针偏移,a是取地址,结果均为指针;*p是解引用(获取值),故选D。
15、以下if语句中,逻辑运算符使用正确的是?()
A.if(x3x7)
B.if(x3x7)
C.if(x3|||x7)
D.if(x3||x7)
【答案】:答案解析:逻辑与用,逻辑或用||,B是按位与,C多写||,D逻辑错误(x3或x7恒为真),故选A。
16、以下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。
17、以下哪个条件表达式表示“x大于等于5且小于等于10”?()
A.5=x=10
B.x=5x=10
C.x=5||x=10
D.5=x=10
【答案】:答案解析:C语言中连续比较不合法,需用逻辑与连接两个判断,A语法错误,C逻辑错误,D语法错误,故选B。
18、以下函数调用错误的是?()
A.fun();
B.fun(5);
C.fun(3,4);
D.无错误(需看函数定义)
原创力文档

文档评论(0)