内容正文:
《编程语言基础——C语言》高教社(第五版)
学业水平考试 复习卷(三)
考试时间:100分钟 满分:100分
姓名 班级 学号 1
一、单项选择题(本题15小题,每小题2分,满分30分)
1. 下列叙述中错误的是( ).
A. C语句必须以分号结束
B. 复合语句在语法上被看作一条语句
C. 空语句出现在任何位置都不会影响程序运行
D. 赋值表达式末尾加分号就构成赋值语句
2. 已知int x=5;执行语if(x)x=1;else x=6;后,x的值是( ).
A.1 B.5 C.6 D.0
3. 下列哪种初始化方式对整型数组是合法的?( )
A. int arr[] = {1, 2, 3};
B. int arr[3];
C. int arr[3] = {1, 2, 3, 4};
D. int arr[3] = {1, 2};
4. break语句用于( ).
A. 终止当前循环的执行
B. 跳过本次循环的执行
C. 终止整个程序的执行
D. 跳转到指定的标签位置
5. 调用一个函数,此函数中没有 return 语句,下列说法正确的是: 该函数( ).
A.没有返回值
B.返回若干个系统默认值
C.能返回一个用户所希望的函数值
D.返回一个不确定的值
6. 以下函数值的类型是( ).
fun(float x)
{
float y;
y=3*x-4;
return y;
}
A.int B.不确定 C.void D.float
7. 在定义一维数组时可以省略数组大小,( ).
A. 但必须在初始化时指定数组大小
B. 但无法进行初始化
C. 但此时数组大小默认为0
D. 但必须在后续代码中进行赋值来确定数组大小
8. 下面哪种变量不会占用内存空间?( )
A.局部变量
B.全局变量
C.静态变量
D.寄存器变量
9. 下列哪个函数可用于输出一个字符串?( )
A. printf()
B. scanf()
C. gets()
D. putchar()
10. 有以下程序( ).
int a,b,c;
a=b=10;
c=a++,b++,++b;
printf("%d,%d,%d
",a,b,c);
A.10 10 10
B.10 10 12
C.11 10 10
D.11 12 10
11. 在C语言中,下列哪个选项是错误的指针变量定义?( )
A. int *ptr;
B. char *ptr;
C. float ptr;
D. double *ptr;
12. 在switch语句中,如果没有匹配到任何一个case,会执行哪个部分?( )
A.default
B.case
C.break
D.continue
13. 下面的代码段输出的结果是什么?( )
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
if(i + j == 2){
break;
}
printf("%d %d ", i, j);
}
}
A. 0 0 0 1 1 0 1 1 2 0 2 1 2 2
B. 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2
C. 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1
D. 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2
14. 在字符数组的初始化过程中,字符数超过了数组的大小会导致什么情况?( )
A. 编译错误
B. 输出错误结果
C. 只在运行时出错
D. 覆盖数组后面的内存
15. 下列哪个选项描述了循环嵌套的概念?( )
A. 在一个循环体内嵌套另一个循环体
B. 在一个函数内嵌套另一个函数
C. 在一个条件语句内嵌套另一个条件语句
D. 在一个数组内嵌套另一个