内容正文:
《编程语言基础—C语言》高等教育出版社(第五版)
编程语言基础—C语言考试 模拟卷(二)
考试时间:100分钟 满分:100分
姓名 班级 学号 1
一、单项选择题(本题共20小题,每题2分,共20分,多选、错选均不得分)
1.在C语言中,main() 函数在源代码文件中的布局位置( )。
A. 必须位于所有其他函数之前 B. 必须位于所有包含文件之后
C. 必须位于程序文件的末尾 D. 可以在源代码文件中的任意位置
2.在下列关于C语言的描述中,哪一项是正确的是( )。
A. C语言是所有编程语言中最为高级的。
B. C语言是一种解释型语言,不需要编译即可执行。
C. C语言的语法在一定程度上模仿了自然语言和数学符号。
D. C语言是在其他所有编程语言之后出现的,集合了所有语言的优点。
3.已知int k=4;则执行k-=k+=k*k;语句后,k的值为( )。
A. 36 B. 0
C. -24 D. -60
4.在下列关于C语言语句的叙述中错误的是( )。
A. C语句必须以分号结束 B. 复合语句在语法上被看作一条语句
C. 空语句出现在任何位置都不会影响程序运行 D. 赋值表达式末尾加分号就构成赋值语句
5.若有定义:int a=9,float x=3.5,y=4.4;则表达式x+a%2*(int)(x+y)%2/3的值是( )。
A. 2.500000 B. 2.750000
C. 3.500000 D. 0.000000
6.在C语言的 if 语句中,以下关于“表达式”(表达式通常用于条件判断)的描述正确的是( )。
A. 表达式可以是任意合法的数值 B. 表达式必须是整数值
C. 表达式必须是正数 D. 表达式必须是逻辑值
7.有如下程序:
#include<stdio.h>
main()
{
int a=0x1a;
printf("%d
",++a+a);
}
程序运行后的输出成果是( )。
A. 27 B. 54
C. 26 D. 52
8.以下程序段运行结果是 ( )
int x=1,y=2,z=-1;
x+=y+=z;
printf("%d
",x<y?z:x+y);
A. 1 B. 2
C. 3 D.4
9.有如下程序:
#include<stdio.h>
main()
{
char s[]="012xy8s\0834f4w2";
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='0'&&s[i]<='9')n++;
printf("%d
",n);
}
程序运行后的输出成果是( )。
A. 4 B. 3
C. 7 D. 8
10.有如下for语句:
int i, k = 1; // 初始化 k
for (i = 0; i < 5 || k == 1; i++, k--) {
printf("***
");
}
printf("%d", k);
下面有关语句执行状况正确的是( )。
A. ***
***
***
***
***
-4 B. ***************-4
C. ***
***
***
***
***
-5 D. 程序错误
11.以下数组定义中错误的是( )。
A. int x[][3] = {0};
B. int x[2][3] = {{1, 2}, {3, 4}, {5}};
C. int x[][3] = {{1, 2, 3}, {4, 5}};
D. int x[2][3] = {1, 2, 3, 4, 5, 6};
12. a 是一个整型变量,则逻辑表达式(a == 1) || (a!=1)的值为( )。
A. 总是真(1) B. 总是假(0)
C. 依赖于 a 的值 D. 以上都不是
13.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是( )。
A. (E>0||E<0) B. (!E==0)
C. (E!=0) D. (E==9)
14.下面属于整数类的实例是( )。
A. 0X5A B. 0.578
C. "-58" D. 59E-2
15.若有以下程序
main()
{
int a=-5,b=4;
while(++a)
++b;
printf("%d,%d
",a,b);
}
则程序的输出结果是( )。
A. 0,2 B. 1,2
C. 0,9 D. 2,9
16.字符变量c1的值是'C',c2的值是'E'。则执行语句 printf("%d,%d",c1,c2+2);的输出结果是