内容正文:
《编程语言基础——C语言》高教社(第五版)
学业水平考试 复习卷(三)
考试时间:100分钟 满分:100分
姓名 班级 学号 1
一、单项选择题(本题15小题,每小题2分,满分30分)
1. 若有定义语句:int m=6;则表达式 m-=m+m 的值为( ).
A.-6
B.0
C.6
D.12
2. 建立函数的目的之一是( ).
A.提高程序的执行效率
B.提高程序的可读性
C.减少程序的篇幅
D.减少程序文件所占内存
3. 不合法的if语句是( ).
A.if(表达式)语句1else 语句2
B.if(表达式)语句
C.if(表达式1)语句1else if(表达式2)语句2else 语句3。
D.if 关系表达式 语1else语句2
4. C语言中while 和do-while 循环的主要区别是( ).
A do-while的循环体至少无条件执行一次
B while 的循环控制条件比do-while 的循环控制条件严格
C do-while 允许从外部转到循环体内
D do-while 的循环体不能是复合语句
5. 已知int a=5,b=5,c=5;执行语句a%=b+c;后,x的值是( ).
A. 0
B.1
C.表达式错误
D. 5
6. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是( ).
A.实参将其地址传递给形参,并释放原先占用的存储单元
B.实参将其地址传递给形参,调用结束时形参再将其地址回传给实参
C.实参将其值传递给形参,调用结束时形参再将其值回传给实参
D.实参将其值传递给形参,调用结束时形参并不将其值回传给实参
7. 在C语言中,以下对二维数组的引用说法正确的是:( ).
A. 引用二维数组元素时只需提供一个下标
B. 引用二维数组元素时需要提供两个下标
C. 引用二维数组元素时需要提供三个下标
D. 引用二维数组元素时需要使用指针
8. 下列哪个输出函数会在输出后自动换行?( )
A. printf()
B. puts()
C. putchar()
D. fputs()
9. 以下选项中叙述正确的是( ).
A.在 switch 语句中,不一定使用 break 语句
B.case 必须使用
C.在 switch 语句中必须使用 default
D.break 语句的作用时继续执行下面的语句
10. 下面哪种变量具有默认初始值?( )
A.局部变量
B.全局变量
C.静态变量
D.寄存器变量
11. 在循环嵌套中,可以使用( )来设置循环的初始值.
A. break
B. continue
C. return
D. goto
12. 下列哪个选项是正确的空指针初始化方式?( )
A. int *ptr = NULL;
B. int *ptr = 0;
C. int *ptr;
D. int *ptr = "NULL";
13. 在 C 语言中,紧跟在 if 后()括号内的表达式( ).
A.只能用逻辑表达式
B.只能用关系表达式
C.只能用逻辑表达式或关系表达式
D.可以是任意表达式
14. 对于字符数组的初始化,以下哪个选项是错误的?( )
A.char str[] = "Hello";
B.char str[6] = "Hello";
C.char str[10] = {'H', 'e', 'l', 'l', 'o', '\0'};
D.char str[]; str = "Hello";
15. 下列函数中,用于在一个字符串中查找指定字符的函数是:( ).
A. strstr()
B. strchr()
C. strrchr()
D. strcmp()
二、判断题(本题10小题,每小题2分,满分20分)
1. 在C程序中,赋值运算符的优先级最低.( )
2. if语句后面的控制表达式只能使用关系表达式或