绪论单元测试
1.以下对C语言程序的描述,正确的是( )。
A:C语言程序从包含的第一个头文件开始执行
B:C语言程序总是从main函数开始执行
C:C语言程序从定义的第一个函数开始执行
D:C语言程序首先执行main函数前的语句
答案:B
2.C语言属于( )语言。
A:汇编语言
B:机器语言
C:面对对象语言
D:高级语言
答案:D
3.以下对C语言程序工作过程的描述,错误的是( )。
A:程序中的指令、数据均以二进制形式存储在存储器中
B:程序编译链接为可执行文件后存储在磁盘中
C:执行程序时通过解释器,逐行边解释为机器可理解的指令边执行这些指令c语言程序总是从什么开始执行
D:程序执行时将按照程序指定的逻辑从存储器中获取指令,并逐条执行
答案:C
4.以下关于计算机语言的描述,错误的是( )。
A:计算机可以不需要解析直接使用高级语言
B:汇编语言中使用了助记符来帮助开发人员开发
C:计算机可以直接使用机器语言
D:计算机高级语言(如C语言)更具有可读性,开发效率进一步提升
答案:A
5.C语言的功能和用途有( )。
A:编写嵌入式系统
B:直接与硬件交互
C:编写操作系统底层调度算法
D:开发其他计算机高级语言
答案:ABCD
6.C语言程序中包含( )。
A:main函数
B:定义的变量
C:助记符
D:头文件
答案:ABCD
7.C语言程序中可以没有main函数,也可以执行。( )
A:错
B:对
答案:A
第一章测试
8.以下不是算法的特征是( )
A:可行性
B:确切性
C:简洁性
D:有穷性
答案:C
9.以下不是评价一个算法的指标( )
A:时间复杂度
B:问题的规模
C:空间复杂度
D:健壮性
答案:B
10.以下哪种图形表示选择结构( )
A:
B:
C:
D:
答案:B
11.变量n初始为1,以下代码中哪个n最终可以为10( )
A:while(n<10){n=n+1;}
B:while(n<=10){n=n+1}
C:while(int i=0; i<=10; i++){n=ni}
D:while(int i=10; i>=0; i–){n=ni}
答案:A
12.实现x和y的值交换,能够实现此功能的是( )
A:int t; t=x; x=y; y=t;
B:x=y; y=x;
C:x=y;
D:x=y; y=x; x=x;
答案:A
13.结构程序化设计不应该使用( )
A:自顶向下,逐步细化的方法
B:模块化设计
C:灵活、简洁的goto结构
D:三种基本结构:顺序结构、选择结构、循环结构的编码方法
答案:C
14.程序的基本结构包括( )
A:选择结构
B:逻辑结构
C:顺序结构
D:循环结构
答案:ACD
15.结构化程序设计方法包括( )
A:结构化编码
B:逐步细化
C:自顶向下
D:模块化设计
答案:ABCD
16.算法有且只有一个输入和输出( )
A:错
B:对
答案:A
17.描述算法可用自然语言、传统流程图、N-S流程图来描述( )
A:对
B:错
答案:A
第二章测试
18.下列定义变量的语句中正确的是:( )
A:int int123
B:float US$
C:double int
D:char For
答案:A
19.C语言中最简单的数据类型包括:( )
A:整型、字符型、逻辑型
B:整型、实型、逻辑型、字符型
C:整型、实型、逻辑型
D:整型、实型、字符型
答案:D
20.main(){int a=8,b=4;printf(“%d”, b=b/a);}上述程序的输出结果是( )
A:不确定值
B:0
C:1
D:4
答案:B
21.a=125.534;a=(int)125.521%4;设a为int型变量,执行上述赋值语句后,a的取值分别是( )
A:125,21
B:125,1
C:125,31
D:125.534,2
答案:B
22.int b=3; ++b;则b的值为( )
A:5
B:2
C:3
D:4
答案:D
23.下列说法不正确的是( )
A:主函数main中定义的变量在整个文件或程序中有效
B:形式参数是局部变量
C:在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效
D:不同函数中,可以使用相同名字的变量
答案:A
24.以下属于不合法赋值语句的是( )
A:x+y;
B:x=y=200;
C:–d;
D:c=int(a+b);
答案:AD
25.以下选项是不合法常量的是( )
答案:AD
26.¥temp是合法的变量名称( )
A:错
B:对
答案:A
27.编译系统把浮点型常量都按双精度处理,分配16个字节( )
A:错
B:对
答案:A
第三章测试
28.main() {int a=1, b=2, c=3;if(a<c) {b=a;c=b;a=c;} else {a=0;}printf(“a=%d”, a);}上述程序的输出是( )
A:2
B:0
C:1
D:3
答案:C
29.以下一组运算符中,优先级最低的运算符是( )
A:-
B:>
C:*
D:!=
答案:D
30.#include<stdio.h>int main(){ int a=1,b=2,c=3,d=4,m=2,n=2; (m=a<b)||(n=c>d); printf(
“%d:1 0
B:0 1
C:1 2
D:2 2
答案:C
31.若int i=0,j=1,k=2 k= i++ && j++;则此时的k为多少( )
A:0
B:2
C:1
D:3
答案:A
32.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?c:d的结果为( )
A:3
B:1
C:4
D:2
答案:A
33.以下不能作为switch语句中的条件的是( )
A:1
B:1+1
C:‘A’
D:3
答案:B
34.以下 if语句形式正确的有( )
A:if(表达式){若干语句;}else if{若干语句;}
B:if(表达式){若干语句;}if {若干语句;}else{若干语句;}
C:if(表达式){若干语句;}
D:if(表达式){若干语句;}else{若干语句;}
答案:CD
35.以下对逻辑运算符两侧的运算对象的数据类型描述不正确的是( )
A:可以是整数或字符型数据
B:只能是0或非0整数
C:只能是0或者1
D:可以是任何类型的整数
答案:BC
36.条件运算符?和:是一对运算符,不能分开单独使用。( )
A:对
B:错
答案:A
37.在switch语句中,每一个的case常量表达式的值可以相同。( )
A:错
B:对
答案:A
第四章测试
38.下面有关for循环的错误描述有( )
A:for循环是先执行循环体语句,后判定表达式
B:在for循环中,可以用break语句跳出循环体
C:for循环语句中,可以包含多条语句,但要用花括号括起来
D:for循环只能用于循环次数已经确定的情况
答案:A