国家二级C语言机试(选择题)模拟试卷560
公共基础选择题
1.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的深度(根节点在第1层)为( )。(C)
A. 2
B. 3
C. 4
D. 5
解析:二叉树的前序序列为ABCDEFG,则A为根节点;中序序列为DCBAEFG,则节点D、C、B位于根节点的左子树上,节点E、F、G位于根节点的右子树上。另外,节点B、C、D在前序序列和中序序列中顺序相反,则说明这3个节点依次位于前一个节点的左子树上;节点E、F、G在前序序列和中序序列中顺序未变,则说明这3个节点依次位于前一个节点的右子树上。因此二叉树深度为4。故本题答案为C选项。
2.设二叉树中共有15个节点,其中的节点值互不相同。如果该二叉树的前序序列与中序序列相同,则该二叉树的深度为( )。(C)
A. 4
B. 6
C. 15
D. 不存在这样的二叉树
解析:在具有n个节点的二又树中,各节点值互不相同,若该二叉树的前序序列与中序序列相同,则说明该二叉树只有右子树,左子树为空,二叉树的深度为n;若该二叉树的后序序列与中序序列相同,则说明该二叉树只有左子树,右子树为空,二叉树的深度为n。因此,本题中二叉树的深度为15。故本题答案为C选项。
3.下列算法中均以比较作为基本运算,则平均情况与最坏情况下的时间复杂度相同的是( )。(A)
A. 在顺序存储的线性表中寻找最大项
B. 在顺序存储的线性表中进行顺序查找
C. 在顺序存储的有序表中进行对分查找
D. 在链式存储的有序表中进行查找
解析:寻找最大项,无论如何都要查看所有的数据,与数据原始排列顺序没有多大关系,无所谓最坏情况和最好情况,或者说平均情况与最坏情况下的时间复杂度是相同的。而查找无论是对分查找还是顺序查找,都与要找的数据和原始的数据排列情况有关。最好情况下是第1次查看的一个数据恰好是要找的数据,只需要比较1次;如果没有找到再查看下一个数据,直到找到为止。最坏情况下是最后一次查看的数据才是要找的,顺序查找和对分查找在最坏情况下比较的次数分别是n和log2n,平均情况下则是“1~最坏情况”的平均,因而是不同的。故本题答案为A选项。
4.下列序列中不满足堆条件的是( )。(D)
A. (98,95,93,94,89,90,76,80,55,49)
B. (98,95,93,94,89,85,76,64,55,49)
C. (98,95,93,94,89,90,76,64,55,49)
D. (98,95,93,96,89,85,76,64,55,49)
解析:根据堆的定义,n个元素的序列(h1,h2,…,hn),当且仅当hi≤h2i且hi≤h2i+1时为小顶堆;当且仅当hi≥h2i且hi≥h2i+1时为大顶堆。D选项中,h2=95,h4=96,h2<h4,但h5=89,h2>h5,不满足小顶堆和大顶堆条件。故本题答案为D选项。
5.以下属于良好程序设计风格的是( )。(A)
A. 源程序文档化
B. 程序效率第一
C. 随意使用无条件转移语句
D. 程序输入输出的随意性
解析:要形成良好的程序设计风格,主要应注意和考虑:源程序文档化;数据说明的次序规范化,说明语句中变量安排有序化,使用注释来说明复杂数据的结构;程序编写要做到清晰第一、效率第二,先保证程序正确再要求提高速度,避免不必要的转移;对所有的输入数据都要进行检验,确保输入数据的合法性。故本题答案为A选项。
6.以下对“对象”概念描述正确的是( )。(B)
A. 属性就是对象
B. 操作是对象的动态属性
C. 任何对象都必须有继承性
D. 对象是对象名和方法的封装体
解析:对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作构成的统一体。对象可以做的操作表示它的动态行为,通常也称为方法或服务,属性即对象所包含的信息。一个对象名唯一标识一个对象。对象可以有继承性,但并不是任何对象都必须有继承性。故本题答案为B选项。
7.以下对软件描述错误的是( )。(C)
A. 文档是不可执行的
B. 程序和数据是可执行的
C. 软件文档是与程序开发、维护和应用无关的资料
D. 软件是程序、数据及相关文档的集合
解析:软件是程序、数据及相关文档的集合。程序、数据和相关文档又称为软件的三要素。其中,程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。可见,软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的文档。故本题答案为C选项。
8.下列叙述中正确的是( )。(D)
A. 软件工程是为了解决软件生产率问题
B. 软件工程的三要素是方法、工具和进程
C. 软件工程是用于软件的定义、开发和维护的方法
D. 软件工程是用工程、科学和数学的原理与方法研制、维护计算机软件的有关技术和管理方法
解析:软件工程是用工程、科学和数学的原理与方法研制、维护计算机软件的有关技术和管理方法,是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。软件工程的目标是在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品,追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。软件工程包含3个要素:方法、工具和过程。故本题答案为D选项。
9.软件生命周期可分为定义阶段、开发阶段和维护阶段,以下属于定义阶段任务的是( )。(C)
A. 软件设计
B. 软件测试
C. 可行性研究
D. 数据库设计
解析:软件生命周期可分为定义阶段、开发阶段和维护阶段。
软件定义阶段的任务是:确定软件开发工作必须完成的目标;确定工程的可行性。
软件开发阶段的任务是:具体完成设计和实现定义阶段所定义的软件,通常包括总体设计、详细设计、编码和测试。其中总体设计和详细设计又称为系统设计,编码和测试又称为系统实现。
软件维护阶段的任务是:使软件在运行中持久地满足用户的需要。
故本题答案为C选项。
10.以下不属于软件需求规格说明书的内容的是( )。(A)
A. 软件的可验证性
B. 软件的功能需求
C. 软件的性能需求
D. 软件的外部接口
解析:软件需求规格说明书应重点描述开发软件的目的,软件的功能需求、性能需求、外部接口、属性及约束条件等。故本题答案为A选项。
11.下列数据流图构造规则中正确的是( )。(A)
A. 子图的输入输出数据流与父图中处理的相应输入输出数据流必须一致
B. “
本文档预览:3600字符,共8805字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载