2018年9月计算机二级C语言考试冲刺提分试题(4)
一、选择题(每小题1分,共40分)
1[单选题] 下面叙述中错误的是( )。
A.软件测试的目的是发现错误并改正错误
B.对被调试的程序进行“错误定位”是程序调试的必要步骤
C.程序调试通常也称为Debug
D.软件测试应严格执行测试计划,排除测试的随意性
参考答案:A
参考解析:软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
2[单选题] 以下关于结构化程序设计的叙述中正确的是( )。
A.结构化程序使用goto语句会很便捷
B.在C语言中,程序的模块化是利用函数实现的
C.一个结构化程序必须同时由顺序、分支、循环三种结构组成
D)由三种基本结构构成的程序只能解决小规模的问题
参考答案:B
参考解析:滥用goto语句将使程序的流程毫无规律,可读性差,对于初学者来说尽量不要使用,所以A错误。一个结构化程序可以包含顺序、分支、循环结构中的一种或多种,所以C错误。由三种基本结构构成的程序可以解决任何复杂的问题,所以D错误。
3[单选题] 算法的空间复杂度是指( )。
A.算法在执行过程中所需要的计算机存储空间
B.算法所处理的数据量
C.算法程序中的语句或指令条数
D.算法在执行过程中所需要的临时工作单元数
参考答案:A
参考解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择A。
4[单选题] 若变量x,y已正确定义并赋值,以下符合C语言语法的表达式是( )。
A.x+1=y
B.++x,y=x- -
C.x=z+10=z+y
D.double(x)/10
参考答案:B
参考解析:A选项中不能将变量Y赋给表达式,C选项中错误与A选项一样,D选项中强制类型转换表达式应写成(double)x/10。
5[单选题] 数据库应用系统中的核心问题是( )。
A.数据库设计
B.数据库系统设计
C.数据库维护
D.数据库管理员培训
参考答案:A
参考解析:数据库应用系统中的核心问题是数据库的设计。
6[单选题] 下列叙述中正确的是( )。
A.在switch语句中,不一定使用break语句
B.在switch语句中必须使用default
C.break语句必须与switch语句中的case配对使用
D.break语句只能用于switch语句
参考答案:A
参考解析:default语句在switch语句中可以省略,所以B错误;switch语句中并非每个case后都需要使用break语句,所以C错误;break语句还可以用于for等循环结构中,所以D错误。
7[单选题] 对于一个正常运行的C程序,以下叙述中正确的是( )。
A.程序的执行总是从main函数开始,在程序的最后一个函数中结束
B.程序的执行总是从程序的第一个函数开始,在main函数结束
C.程序的执行总是从main函数开始
D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
参考答案:C
参考解析:任何一个c程序都是从主函数main开始,至主函数main结束,所以选择c选项。
8[单选题] 以下定义数组的语句中错误的是( )。
A.int num[][3]={{1,2},3,4,5,6};
B.int num[2][4]={{1,2},{3,4},{5,6}};
C.int num[]={1,2,3,4,5,6};
D.int hum[][4]={1,2,3,4,5,6};
参考答案:B
参考解析:B)选项中定义的数组为2行4列,而赋值时赋成了3行所以出错。
9[单选题] 以下关于typedef的叙述错误的是( )。
A.用typedef可以增加新类型
B.typedef只是将已存在的类型用一个新的名字来代替
C.用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D.用typedef为类型说明一个新名,通常可以增加程序的可读性
参考答案:A
参考解析:typedef并不是增加了新类型,而是用一个新名字替代已存在的类型,不能为变量说明一个新名,使用typedef可以增强程序的可移植性。所以A选项错误。
10[单选题] 在E-R图中,用来表示实体联系的图形是( )。
A.椭圆形
B.矩形
C.菱形
D.三角形
参考答案:C
参考解析:在E-R图中实体集用矩形,属性用椭圆,联系用菱形。
11[单选题] 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。
A.提高耦合性降低内聚性有利于提高模块的独立性
B.降低耦合性提高内聚性有利于提高模块的独立性
C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D.内聚性是指模块问互相连接的紧密程度
参考答案:B
参考解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A错误,B正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素问彼此结合的紧密程度,所以C与D错误。
12[单选题] 软件设计中划分模块的一个准则是( )。
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D.高内聚高耦合
参考答案:B
参考解析:一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
13[单选题] 下列数据结构中,能够按照“先进后出”原则存取数据的是( )。
A.循环队列
B.栈
C.队列
D.二叉树
参考答案:B
参考解析:栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。
14[单选题] 以下叙述中错误的是( )。
A.gets函数用于从终端读入字符串
B.getchar函数用于从磁盘文件读入字符
C.fput,函数用于把字符串输出到文件
D.fwrite函数用于以二进制形式输出数据到文件
参考答案:B
参考解析:本题考查字符处理函数和文件操作函数,属于基础知识,其中B选项getehar函数是用于从终端读入一个字符。
15[单选题] 以下选项中能表示合法常量的是( )。
A.1,200
B.1.5E2.0
C.''
D."