内容正文:
《编程语言基础—C语言》高等教育出版社(第五版)
编程语言基础—C语言考试 模拟卷(八)
考试时间:100分钟 满分:100分
姓名 班级 学号 1
一、单项选择题(本题共20小题,每题2分,共20分,多选、错选均不得分)
1.以下为合法浮点数的是( )
A.5e1.4 B.123L
C.-e9 D.12e3
2.以下程序段的运行结果是( )
int a=1,b=2,c;
c=a<b||a++&&--b;
printf("%d,%d,%d
",c,a,b);
A. 0,2,0 B. 0,2,1
C. 1,1,2 D. 1,2,1
3.若有定义语句int k=-3,j=4;,则以下循环体的执行次数是( )
do {
j += ++k;
}
while (!k == 0);
A. 0次 B. 1次
C. 2次 D. 3次
4.设int x=1,int y=2,则表达式(float)x/y的值是( )
A. 0 B. 1
C. 2 D. 以上都不是
5.以下叙述中正确的是( )
A. 宏替换不占用程序的运行时间 B. 在源文件的一行上不能有多条预处理命令
C. 宏名必须用大写字母表示 D. 预处理命令行必须位于源文件的开头
6.以下程序的输出结果是( )
#include <stdio.h>
int main() {
int i, j = 1;
for (i = 1; i <= 50; i++) {
if (j % 2 == 1) {
j = j + 1;
}
j++;
}
printf("%d
", j);
return 0;
}
A. 100 B. 101
C. 102 D. 103
7.若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是( )
A. int p = &x; B. int *p = x;
C. int *p = &x; D. *p = *x;
8.在以下的语句中输入数据时,正确的数据输入是( )
scanf("a=%f,b=%d", &a, &b);
A. a=2.2,b=3 B. a=2.2 b=3
C. 2.2 3 D. 2.2,3
9.设 int x[]={1,2,3,4,5,6},*p=x; 则值为 3 的表达式是( )
A. p+=2,*++p; B. p+=2,*p++
C. p+=3,*p D. p+=2,++*p
10.关于下列语句,叙述错误的是( )
int i=10, *p=&i;
A. p的值为10 B. p指向整型变量i
C. *p表示变量i的值 D. p的值是变量i的地址
11.以下程序的输出结果是( )
#include <stdio.h>
int main() {
int a=4, b=11;
do {
b-=a;
++a;
}while(- -b<0);
printf("a=%d,b=%d
", a, b);
}
A. a=5,b=11 B. a=2,b=11
C. a=5,b=7 D. a=2,b=9
12.执行以下语句后,b的值为( )
int a=3,b=4,w=5,x=2,y=3,z=4;
(a=w<x)&&(b==y>z);
A. 3 B. 4
C. 5 D. 6
13.已知x = -5,执行下面程序段后y的值为( )
y = 3;
if(x >= 0)
y = x > 0 ? 1 : 0;
else
y = -2;
int x=-3;
do {
x=x*x;
} while (!x);
A. -1 B. 1
C. -2 D. 0
14.下面程序的输出结果是( )
x = y = z = 0; k = 35;
if (!x) k - -;
else if (y);
if (z) k = 2;
else k = 3;
printf("%d
", k);
A. 34 B. 35
C. 3 D. 4
15.以下能对二维数组a进行正确初始化的语句是( )
A. int a[5][ ]={{1,1,1},{1,2,3}}; B. int a[ ][3]={{1,2,3},{4,5,6}};
C. int a[5][3]={{1,2,3},{4,5},{6}}; D. int a[ ][3]={{1,1,1},{},{1,1}};
16.以下程序执行后输出结果是( )
main()
{ int i;
for(i=0; i<5; i++)