内容正文:
《编程语言基础—C语言》高等教育出版社(第五版)
编程语言基础—C语言考试 模拟卷(一)
考试时间:100分钟 满分:100分
姓名 班级 学号 1
一、单项选择题(本题共20小题,每题2分,共20分,多选、错选均不得分)
1.在C语言中,用户能使用的正确标识符是( )。
A.3var B.var3 C.G.5 D.default
2.以下正确的C语言常量是( )。
A.0678 B.3.14e-2.5 C.1.2E3.5 D.123L
3.以下对C语言源程序有关常识正确的描述是( )。
A. main函数可以位于文件的任何位置
B. 每个语句可以写在一行上,也可以多行书写一个语句
C. 标识符中大小写字母是有区别的
D. 宏定义#define可以放在程序的任何位置
4.以下for循环的执行次数是( )。
int x = 0, y = 0;
for ( ; y < 500 && x < 3; ) {
y += 100;
x++;
}
A.是无限循环 B.循环次数不定 C.执行2次 D.执行3次
5.在C语言中,以下for循环的控制结构可以被理解为:
for (初始化; 条件; 迭代) {
// 循环体
}
给定的for循环:
for (表达式1; ; 表达式3) {
// 循环体
}
等价于以下哪个选项( )
A. for(表达式1; 表达式3; 表达式3)
B. for(表达式1; 1; 表达式3)
C. for(表达式1; 表达式1; 表达式3)
D. for(表达式1; 0; 表达式3)
6.在C语言中,while 循环和 do-while 循环的主要区别在于( )
A. while 循环的循环体可能一次都不执行
B. do-while 循环的循环体至少执行一次
C. while 循环的条件判断在循环体执行之前
D. do-while 循环的条件判断在循环体执行之后
7.下面程序段的输出结果是( )。
int i;
int x[3][4] = {9, 8, 7, 6, 5, 4, 3, 2, 1};
for (i = 0; i < 3; i++)
printf("%d", x[i][3 - i]);
A. 9 5 1 B. 6 4 2 C. 9 4 1 D. 6 5 2
8.在C语言中,当基本数据类型的变量作为函数的实参时,它与对应的形参之间的数据传递方式是( )
A. 地址传递 B. 单向值传递
C. 由实参传给形参,再由形参传回给实参 D. 传递方式未明确
9.在C语言中,以下哪个选项是一维数组 a 的正确声明语句( )。
A. int a(10); B. int N=5, a[N];
C. int n; D. #define SIZE 9 int a[SIZE];
10.已知变量 a 的初始值为 5,计算表达式 a*=a+=a/=a 后,a 的值是多少( )。
A.4 B.1
C.10 D.-90
11.执行下面程序段后,输出结果是( )。
int a;
unsigned int b = 655;
a = b;
printf("%d
", a);
A.655 B.0
C.-1 D.1
12.已知有double 型变量 x=3.5,y=2.7,整型变量 a=5,则表达式 x+a%2*(int)(x+y)%2/3的值是( )。
A.2.4 B.2.5
C.3.5 D.4.0
13.若d 为double 型变量,则表达式 d=4,d-1,++d的值是( )。
A.5.0 B.6.0 C.2.0 D.1.0
14.运行下面程序时, 从键盘输入"3,2,5<CR>", 则输出结果是( )。
#include <stdio.h>
void main() {
int x, y, z;
scanf("%d,%d,%d", &x, &y, &z);
if (x > y) {
if (y < z)
printf("%d
", z);
else
printf("%d
", y); // 假设这里是 %d 而不是 %c
} else {
if (x > z)
printf("%d
", z);
else
printf("%d
", x);
}
}
A.10 B.1