国家二级C语言机试(选择题)模拟试卷93
选择题
1.下列叙述中正确的是( )。(B)
A. 算法的效率只与问题的规模有关,而与数据的存储结构无关
B. 算法的时间复杂度是指执行算法所需要的计算工作量
C. 数据的逻辑结构与存储结构是一一对应的
D. 算法的时间复杂度与空间复杂度一定相关
解析:采用不同的存储结构,数据处理效率是不同的,A选项错误;算法的时间复杂度是指算法在计算机内执行时所需时间的度量,空间复杂度是指算法在计算机内执行时所需存储空间的度量,二者不一定相关,B选项正确,D选项错误;数据的逻辑结构在计算机存储空间的存放形式称为数据的存储结构,二者并非一一对应,C选项错误。
2.栈和队列的共同点是( )。(C)
A. 都是先进后出
B. 都是先进先出
C. 只允许在端点处插入和删除元素
D. 没有共同点
解析:栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。
3.对于现实世界中事物的特征,在实体.联系模型中使用( )。(A)
A. 属性描述
B. 关键字描述
C. 二维表格描述
D. 实体描述
解析:在实体.联系模型中,用属性来描述现实世界中对象的属性所表示的对象的性质、特征和行为。
4.下列关于队列的叙述中正确的是( )。(C)
A. 在队列中只能插入数据
B. 在队列中只能删除数据
C. 队列是“先进先出”的线性表
D. 队列是“先进后出”的线性表
解析:队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列具有“先进先出”的特点,它是按“先进先出”的原则组织数据的。
5.下列选项中属于面向对象设计方法主要特征的是( )。(A)
A. 继承
B. 自顶向下
C. 模块化
D. 逐步求精
解析:面向对象设计方法的基本概念有对象、类和实例、消息、继承与多态性,所以答案为A。
6.关系表中的每一横行称为一个( )。(A)
A. 元组
B. 字段
C. 属性
D. 码
解析:关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为一个属性,对应表中的一个字段;在二维表中凡能唯一标识元组的最小属性集称为该表的键或码。
7.下列对软件测试和软件调试叙述中错误的是( )。(C)
A. 严格执行测试计划,排除测试的随意性
B. 软件调试的目的是改正软件错误
C. 软件测试不需要考虑测试成本
D. 正确的执行测试用例
解析:软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。软件测试的目的:发现错误而执行程序的过程,是评测软件质量的重要过程和手段。软件调试的目的是诊断并改正程序中的错误。测试必须对整个软件总体进行评估。软件测试需要考虑测试成本,软件测试成本也要计入软件开发成本中。故C选项不正确。
8.下列测试方法中,( )均属于白盒测试的方法。(B)
A. 语句覆盖法和边界值分析法
B. 条件覆盖法和基本路径测试法
C. 边界值分析法和代码检查法
D. 等价类划分和错误推测法
解析:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。黑盒测试也称为功能测试,着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。故B选项正确。
9.负责数据库中查询操作的数据库语言是( )。(C)
A. 数据定义语言
B. 数据管理语言
C. 数据操纵语言
D. 数据控制语言
解析:数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查,以及并发控制、故障恢复等功能。
10.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的( )。(C)
A. 记录
B. 行
C. 属性
D. 元组
解析:进行自然连接时要求两个关系具有相同列,即属性。
11.以下说法中正确的是( )。(C)
A. C语言程序总是从第一个定义的函数开始执行
B. 在C语言程序中,要调用的函数必须放在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
解析:c程序总是从main()函数开始执行,A选项错误,C选项正确;要调用的函数必须放在。main()函数中是函数嵌套,所有程序执行是从main()函数开始的,被调用的函数在调用之前要进行声明,B选项错误;调用的函数可以放在main()函数之前,D选项错误。故正确答案为C。
12.以下叙述中正确的是( )。(A)
A. 在算法设计时,可以把复杂任务分解成一些简单的子任务
B. 在C语言程序设计中,所有函数必须保存在一个源文件中
C. 只要包含三种基本结构的算法就是结构化程序
D. 结构化程序必须包含所有三种基本结构,缺一不可
解析:C语言程序中,函数不一定都放在同一个源文件中,可以分别放在不同源文件中,通过#include命令来引用,所以B错误;结构化程序可以包含三种基本结构中的一种或几种,所以C、D选项错误。
13.以下叙述中正确的是( )。(B)
A. 字符变量在定义时不能赋初值
B. 字符常量可以参与任何整数运算
C. 同一英文字母的大写和小写形式代表的是同一个字符常量
D. 转义字符用符号开头
解析:A选项中,字符变量在定义时可以赋初值;C选项中,同一英文字母的大写和小写形式代表地是不同的字符常量;D选项中,转义字符以反斜线“\”开头的。故B选项正确。
14.表达式a+=a一=a:9的值是( )。(A)
A. 0
B. 一9
C. 18
D. 9
解析:赋值语句,从右向左执行,先执行a=9,再执行a一=a,a为0,再执行a+=a,结果仍为0。
15.以下各项中,当x为大于1的奇数时,值为0的表达式是( )。(A)
A. x%2==0
B. x/2
C. x%2!=0
D. x%2==1
解析:当x为大于1的奇数时,x%2==0表达式为0,所以答案为A。
16.若有定义语句:
int x=12,y=8,Z;
在其后执行语句:
本文档预览:3600字符,共13246字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载