内容正文:
《编程语言基础—C语言》高等教育出版社(第五版)
编程语言基础—C语言考试 模拟卷(六)
考试时间:100分钟 满分:100分
姓名 班级 学号 1
一、单项选择题(本题共20小题,每题2分,共20分,多选、错选均不得分)
1.以下字符常量正确的是( )
A. 'a - b' B. '\082'
C. '\0xAE' D. E
2.以下为合法浮点数的是( )
A. 2.3e1.6 B. 456
C. E2 D. 1e3
3.以下程序段的运行结果是( )
int n = 300;
char c;
c = n;
printf("c = %d
", c) ;
A. 34 B. 44
C. 54 D. 64
4.有以下程序段,如果输入的字符为A,则程序运行后的结果为( )
char ch1, ch2;
scanf("%c", &ch1);
ch1 = ch1 + 'c' - 'a';
ch2 = ch1 + 'd' - 'b';
printf("%c,%d
", ch1, ch2);
A. C,69 B. C,70
C. B,69 D. B,70
5.若a为int类型,则表达式((a = 4 * 5,a * 3),- -a,a+5)的值为( )
A. 64 B. 65
C. 24 D. 25
6.关于下列运算符的优先级描述正确的是( )
A.逗号运算符<赋值运算符<关系运算符<算术运算符
B.赋值运算符<逗号运算符<关系运算符<算术运算符
C.赋值运算符<关系运算符<逗号运算符<算术运算符
D.逗号运算符<赋值运算符<算术运算符关系运算符
7.设有数组定义:char array[]="123456";,则数组array所占的空间是( )
A. 4个字节 B. 5个字节
C. 6个字节 D. 7个字节
8.以下程序的输出结果是( )
int main() {
int i, j, k, a = 4, b = 5;
i = (++a == b- -) ? --a : ++b;
j = i++;
k = j;
printf("i=%d,j=%d,k=%d
", i, j, k);
return 0;
}
A. i=6,j=4,k=4 B. i=5,j=4,k=4
C. i=5,j=3,k=3 D. i=6,j=3,k=3
9.函数调用fun((reg1,reg2),(reg3,reg4),reg5,reg6);中,实参的个数是( )
A. 3 B. 4
C. 5 D. 6
10.在C语言中,if语句的格式为if(表达式);,其中表达式( )
A. 只能用逻辑表达式 B. 只能用关系表达式
C. 只能用逻辑表达式或关系表达式 D. 可用任意合法且有值的表达式
11.以下程序的输出结果是( )
int fun1(int x, int y) {
return x > y ? y : x;
}
int fun2(int x, int y) {
return x > y ? x : y;
}
main() {
int a = 1, b = 2, c = 3, d = 4, e, f, g;
e = fun2(fun1(a, b), fun1(c, d));
f = fun1(fun2(a, b), fun2(c, d));
g = e + f;
printf("%d, %d, %d
", e, f, g);
}
A. 3,2,5 B. 3,2,6
C. 5,2,3 D. 6,2,3
12.以下程序的运行结果是( )
main() {
char m = 'a';
int n = 48;
printf("%d%c", m++, ++n);
printf("%c%d
", n++, ++m);
}
A. 971197 B. 971198
C. 971199 D. 971100
13.下面程序段描述正确的是( )
int x=-1;
do {
x=x*x;
} while (!x);
A. 是死循环 B. 循环执行二次
C. 循环执行一次 D. 有语法错误
14.下面有关for循环的正确描述是( )
A.for是先执行循环体,后判断表达式
B.for循环只能用于循环次数已经确定的情况
C.for循环不可以用break语句跳出循环体
D.for循环括号中的表达式可以省略一个或多个,但不能省略分号
15.阅读以下程序
int main() {
int x;
scanf("%d", &x);
if (++x < 3)
prin