国家二级C语言机试(选择题)模拟试卷561
公共基础选择题
1.某完全二叉树按层次输出(同一层从左到右)的序列为ABCDEFGH,则该完全二叉树的前序序列为( )。(B)
A. ABCDEFGH
B. ABDHECFG
C. HDBEAFCG
D. HDEBFGCA
解析:完全二叉树的特点是除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干节点。根据这一特点,再根据题意输出序列为ABCDEFGH,可以得到该完全二叉树的结构如下。
2.在长度为n的顺序表中查找一个元素,假设需要查找的元素一定在表中,并且元素出现在表中每个位置上的可能性是相同的,则平均需要比较的次数为( )。(D)
A. n/4
B. n
C. 3n/4
D. (n+1)/2
解析:在顺序表中查找,在最好情况下,第1个元素就是要查找的元素,则比较次数为1;在最坏情况下,最后一个元素才是要查找的元素,则比较次数为n。因此,平均需要比较的次数为(1+2+…+n)/n=(n(n+1)/2)/n=(n+1)/2。故本题答案为D选项。
3.下列叙述中正确的是( )。(A)
A. 二分查找只适用于顺序存储的有序线性表
B. 二分查找适用于任何存储结构的有序线性表
C. 二分查找适用于有序循环链表
D. 二分查找适用于有序双向链表
解析:二分查找(又称对分查找)只适用于顺序存储的有序线性表。在此所说的有序线性表是指表中的元素按值非递减排列(从小到大排列,但允许相邻元素值相等)。故本题答案为A选项。
4.下列各组排序法中,最坏情况下比较次数相同的是( )。(C)
A. 简单选择排序与堆排序
B. 简单插入排序与希尔排序
C. 冒泡排序与快速排序
D. 希尔排序与堆排序
解析:对于长度为n的线性表,最坏情况下查找或比较次数、时间复杂度如下表所示。
5.以下不属于结构化程序设计原则的是( )。(D)
A. 逐步求精
B. 自顶向下
C. 模块化
D. 可继承性
解析:结构化程序设计原则包括:自顶向下、逐步求精、模块化、限制使用goto语句。可继承性是面向对象方法的特点。故本题答案为D选项。
6.以下不属于对象主要特征的是( )。(D)
A. 对象唯一性
B. 对象分类性
C. 对象多态性
D. 对象可移植性
解析:对象有如下一些基本特点。
①标识唯一性:指对象是可区分的,并且由对象的内在本质来区分,而不是通过描述来区分。
②分类性:指可以将具有相同属性和操作的对象抽象成类。
③多态性:指同一个操作可以是不同对象的行为,不同对象执行同一类操作产生不同的结果。
④封装性:从外面看只能看到对象的外部特征,对象的内部对外是不可见的。
⑤模块独立性好。
故本题答案为D选项。
7.以下对软件特点描述正确的是( )。(D)
A. 软件具有明显的制作过程
B. 软件在使用中存在磨损、老化问题
C. 软件复制不涉及知识产权
D. 软件是一种逻辑实体,具有抽象性
解析:软件具有以下特点:软件是一种逻辑实体,而不是物理实体,具有抽象性;软件的生产与硬件不同,它没有明显的制作过程;软件在运行、使用期间不存在磨损、老化问题;软件的开发、运行对硬件和环境具有依赖性;软件复杂性高,成本昂贵;软件开发涉及诸多的社会因素(包括软件知识产权和法律等问题)。故本题答案为D选项。
8.下列叙述中正确的是( )。(D)
A. 软件过程是软件开发过程
B. 软件过程是软件维护过程
C. 软件过程是软件开发过程和软件维护过程
D. 软件过程是把输入转化为输出的一组彼此相关的资源和活动
解析:软件过程是把输入转化为输出的一组彼此相关的资源和活动。软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程所进行的基本活动主要有软件规格说明、软件开发或软件设计与实现、软件确认、软件演进。在过程结束时,将输入(用户要求)转化为输出(软件产品)。故本题答案为D选项。
9.软件生命周期中,解决软件“做什么”的阶段是( )。(A)
A. 需求分析
B. 软件设计
C. 软件实现
D. 可行性研究
解析:软件生命周期可细化为可行性研究和计划制定、需求分析、软件设计(总体设计和详细设计)、编码、软件测试、软件运行和维护等阶段。需求分析是对待开发软件提出的需求进行分析并给出详细定义,是解决软件“做什么”的阶段。软件设计是解决软件“怎么做”的阶段。故本题答案为A选项。
10.以下可以作为软件需求分析工具的是( )。(D)
A. N-S图
B. 程序流程图
C. 问题分析图(PAD )
D. 数据流图(DFD )
解析:常见的需求分析方法有结构化分析方法和面向对象分析方法。结构化分析工具包括数据流图(Data Flow Diagram,DFD)、数据字典(Data Dictionary,DD)、判定表和判定树等。程序流程图、N-S图、问题分析图(Problem Analysis Diagram,PAD)属于软件设计阶段使用的工具。故本题答案为D选项。
11.对软件设计中应遵循的准则描述正确的是( )。(B)
A. 高耦合、低内聚
B. 高内聚、低耦合
C. 模块独立性仅与内聚度相关
D. 内聚与耦合无关
解析:软件设计应遵循的准则有抽象、逐步求精和模块化、信息隐蔽和局部化、模块独立性。
模块的独立性程度是评价设计好坏的重要标准,有两个定性标准度量,即模块间的耦合性和模块内的内聚性。
耦合性是模块间互相连接的紧密程度的度量。一个模块的耦合性越高则该模块的独立性越弱。内聚性是指一个模块内部各个元素间彼此结合的紧密程度。一个模块的内聚性越高则该模块的独立性越强。好的软件设计,应尽量做到高内聚、低耦合。故本题答案为B选项。
12.某系统结构图如下所示(图中n≥5):
(A)
A. n
B. 3
C. 2
D. 1
解析:宽度表示整体控制跨度(最大模块数的层)。本题中第1层有1个模块,第2层有n个模块(注意n>15),第3层有5个模块,故宽度为n。故本题答案为A选项。
13.以下属于软件设计阶段产生的文档是( )。(A)
A. 详细设计说明书
B. 数据流图和数据字典
C. 软件确
本文档预览:3600字符,共8246字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载