内容正文:
《编程语言基础—C语言》高等教育出版社(第五版)
编程语言基础—C语言考试 模拟卷(九)
考试时间:100分钟 满分:100分
姓名 班级 学号 1
一、单项选择题(本题共20小题,每题2分,共20分,多选、错选均不得分)
1.以下选项中可用作 C 语言合法用户标识符的是( )
A. 3b B. void
C. -aab D. _123
2.C语言中各种类型的数据其实决定了占用内存的字节数,float类型占( )
A. 1字节 B. 2字节
C. 4字节 D. 8字节
3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )
A. 必须为字母 B. 必须为下划线
C. 必须为字母或下划线 D. 可以是字母,数字和下划线中任一种字符
4. 若有定义:int a,b;则表达式(a=3,b=6,a*5,b--,a+2*b)的值是( )
A. 10 B. 11
C. 12 D. 13
5.已知 int a;使用scanf()函数输入一个整数给变量a,正确的函数调用是( )
A. scanf("%d",a); B. scanf("%d",&a);
C. scanf("%f",&a); D. scanf("%lf",&a);
6.以下程序的输出结果是( )
void main()
{
int a=67;
char c='B';
printf("%x,%d",a,c);
}
A. 67,B B. 43,66
C. 67,66 D. 43,B
7.以下程序的输入为30,40则输出结果是( )
#include <stdio.h>
int main() {
int m, n, r, s;
scanf("%d,%d", &m, &n);
s = m * n;
while (n) {
r = m % n;
m = n;
n = r;
}
printf("%d,%d
", m, s / m);
}
A. 10,120 B. 10,100
C. 10,110 D. 10,115
8.若有如下程序,运行该程序的输出结果是( )
int main() {
int x=3,y=2,z=1;
printf("%d%d
",(x++, y+x), z+y);
}
A. 34 B. 42
C. 63 D. 33
9.以下程序运行后的输出是( )
#include <stdio.h>
int main(void){
int x = 10, y = 20, t = 0;
if (x == y) t = x; x = y; y = t;
printf("%d, %d
", x, y);
return 0;
}
A. 20, 10 B. 20, 0
C. 10, 0 D. 10, 20
10.经过以下语句后 , 变量z的值为( )
int x = 1, y = 2, z = 3;
z *= x > y ? x++ : --y;
A. 2 B. 3
C. 6 D. 5
11.若“int n; float f=5.7;”,则执行“n=(int)f%2”后,n的值是( )
A. 1 B. 4
C. 4.333333 D. 4.6
12.若有以下数组说明,则i=4;a[a[i]]元素数值是( )
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A. 4 B. 10
C. 2 D. 7
13.下面程序段的运行结果是( )
int i;
for (i = 1; i <= 5;)
printf("%d", i);
i++;
A. 12345 B. 1234
C. 123 D. 无限循环
14.在 C 语言中,continue 语句不适合于( )
A. while 语句 B. do while
C. switch 语句 D. for 语句
15.以下程序段的输出结果是( )
int k,n,m;
n=12;m=2;k=3;
while (k<=n)
{m*=3;k+=4;}
printf("%d
",m);
A. 6 B. 54
C. 2 D. 18
16.下面程序中有错误的行是 (每行程序前面的数字表示行号)( )
1 main()
2 {
3 float a[3]={1};
4 int i;
5 scanf(“%f”,a);
6 for(i=1;i<3;i++) a[0]=a[0]+a[i];
7 printf(“a[0]=%d
”,a[0]);
8