1、国家二级 C 语言机试(公共基础知识)模拟试卷 12 及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.某系统总体结构图如下图所示: (分数:2.00)A.7B.6C.3D.22.对于循环队列,下列叙述中正确的是( )。(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针3.下列关于栈的叙述正确的是( )。(分数:2.00)A.栈是非线性结构B.栈是一种树状结构C.栈具有“先进先出”的特征D.栈具有“后进先出”的特征4.下列叙述中正确的是( )。(分数
2、:2.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈中元素不随栈底指针与栈顶指针的变化而动态变化C.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化D.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化5.下列对队列的描述中正确的是( )。(分数:2.00)A.队列属于非线性表B.队列按“先进后出”原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据6.下列描述中正确的是( )。(分数:2.00)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的
3、数据一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对7.设一棵完全二叉树共有 700 个节点,则此二叉树中的叶子节点数为( )。(分数:2.00)A.85B.120C.250D.3508.下列叙述中正确的是( )。(分数:2.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.以上都不正确9.算法的时间复杂度是指( )。(分数:2.00)A.算法的执行时间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所
4、需要的基本运算次数10.一棵二叉树中共有 80 个叶子节点与 70 个度为 1 的节点,则该二叉树中的总节点数为( )。(分数:2.00)A.219B.229C.230D.23111.下列叙述中正确的是( )。(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是线性结构D.有序线性表不可以采用顺序存储结构12.在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。(分数:2.00)A.63B.64C.6D.713.软件需求规格说明书的作用不包括( )。(分数:2.00)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.
5、软件设计的依据D.软件可行性研究的依据14.下列叙述中正确的是( )。(分数:2.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上都不正确15.下面不属于软件测试实施步骤的是( )。(分数:2.00)A.集成测试B.回归测试C.确认测试D.单元测试16.在面向对象方法中,不属于“对象”基本特点的是( )。(分数:2.00)A.一致性B.分类性C.多态性D.标识唯一性17.对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为( )。(分数:2.00)A.9B.10C.45D.9018.耦合性和内聚
6、性是对模块独立性度量的两个标准。下列叙述中正确的是( )。(分数:2.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度19.在 ER 图中,用来表示实体属性的图形是( )。(分数:2.00)A.椭圆形B.矩形C.菱形D.三角形20.下列对于软件测试的描述中正确的是( )。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则21.下
7、列选项中不属于结构化程序设计方法的是( )。(分数:2.00)A.自顶向下B.逐步求精C.模块化D.可复用22.数据库系统的核心是( )。(分数:2.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员23.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接B.差C.交D.并24.数据独立性是数据库技术的重要特点之一,数据独立性是指( )。(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对25.程序流程图中带有箭头的线段表示的是( )。(分数:2.00)A.图元关系B.数据流C.控制
8、流D.调用关系26.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。(分数:2.00)A.1:1B.m:1C.1:mD.m:n27.有两个关系 R 和 T 如下: (分数:2.00)A.选择B.投影C.交D.并28.负责数据库中查询操作的数据库语言是( )。(分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言29.数据库设计的根本目标是要解决( )。(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护30.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然
9、连接B.交C.投影D.并国家二级 C 语言机试(公共基础知识)模拟试卷 12 答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.某系统总体结构图如下图所示: (分数:2.00)A.7B.6C.3 D.2解析:解析:这个系统总体结构图是一棵树结构。在树结构中,根节点在第 1 层,同一层上所有子节点都在下一层,由系统总体结构图可知,这棵树共 3 层。在树结构中,树的最大层次称为树的深度。所以这棵树的深度为 3。2.对于循环队列,下列叙述中正确的是( )。(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针
10、D.队头指针可以大于队尾指针,也可以小于队尾指针 解析:解析:所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针 rear 指向队列中的队尾元素,用队头指针 front 指向队头元素的前一个位置。循环队列的主要操作是:入队运算和退队运算。每进行一次入队运算,队尾指针就进一。每进行一次退队运算,队头指针就进一。当 rear 或 front 等于队列的长度加 1 时,就把 rear或 front 值置为 1。所以在循环队列中,队头指针可以大于队尾指针,也可以小于队尾指针。3.下列关于栈的叙述正确的是( )。(分数:2.00)
11、A.栈是非线性结构B.栈是一种树状结构C.栈具有“先进先出”的特征D.栈具有“后进先出”的特征 解析:解析:栈是限定在一端进行插入和删除的线性表。允许进行插入和删除元素的一端称为栈顶,另一端称为栈底。栈是按照“先进后出”或“后进先出”的原则组织数据的。4.下列叙述中正确的是( )。(分数:2.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈中元素不随栈底指针与栈顶指针的变化而动态变化C.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化D.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 解析:解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与
12、删除的另一端称为栈底。栈跟队列不同,元素只能在栈顶压人或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。5.下列对队列的描述中正确的是( )。(分数:2.00)A.队列属于非线性表B.队列按“先进后出”原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据 解析:解析:队列(queue)是指允许在一端进行插入而在另一端进行删除的线性表。允许插入的一端称为队尾;允许删除的一端称为队头。在队列这种数据结构中,最先插入的元素将最先能够被删除;反之,最后插入的元素将最后才能被删除。因此,队列又称“先进先出”或“后进后出”的线性表。6.下列描述中正确的是( )。
13、(分数:2.00)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对 解析:解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等。7.设一棵完全二叉树共有 700 个节点,则此二叉树中的叶子节点数为( )。(分数:2.00)A.85B.120C.2
14、50D.350 解析:解析:(1)具有 n 个节点的完全二叉树的深度为log 2 n+1,计算出该完全二叉树的深度为 10。 (2)设度为 0 的节点(叶子节点)为 n 0 ,度为 1 的节点为 n 1 ,度为 2 的节点为 n 2 ,总节点数为 n,深度为 k。n=n 1 +n 2 +n 0 ,由于 n 0 =n 2 +1 则 n 2 =n 0 一 1,故 n=n 1 +n 0 一 1+n 0 =n 1 +2n 0 一1。由于完全二叉树中度为 1 的节点数只有两种可能:0 或 1。 (3)假设度为 1 的节点数为 0 即满二叉树,根据满二叉树的定义,其 2 m 一 1 个节点,根据以上计算所
15、得的深度 10 来计算,应有 2 10 1=1024 一1=1023 个节点,显然与题目中 700 个节点不符。因此,度为 1 的节点数必然为 1。故 n=n 1 +2n 0 1=1+2n 0 1=2n 0 ,则 n 0 =n2=7002=350。8.下列叙述中正确的是( )。(分数:2.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.以上都不正确解析:解析:线性表的存储分为顺序存储和链式存储。在顺序存储中,所有元素所占的存储空间是连续的。而在链
16、式存储的方式中,将存储空间的每一个存储节点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号。称为指针域。所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。9.算法的时间复杂度是指( )。(分数:2.00)A.算法的执行时间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数 解析:解析:算法的时间复杂度是指执行算法所需要的计算工作量。算法的工作量可以用算法在执行过程中所需基本运算的执行次数来度量。10.一棵二叉树中共有 80 个叶子节点与 70 个度为 1 的节点,则该二叉树中的总节点数为( )。(分数:2
17、.00)A.219B.229 C.230D.231解析:解析:根据二叉树的性质,在任意二叉树中,度为 0 的节点(叶子节点)总是比度为 2 的节点多一个,总节点数=叶子节点数+度为 2 的节点数+度为 1 的节点数=80+79+70=229。11.下列叙述中正确的是( )。(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是线性结构D.有序线性表不可以采用顺序存储结构 解析:解析:栈是“先进后出”队列是“先进先出”。栈和队列都是一种线性表,属于线性结构。有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。采用链式存储结构的线性表称之为线性链表。12.
18、在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。(分数:2.00)A.63B.64 C.6D.7解析:解析:顺序查找又称顺序搜索。顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一个元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功)。若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。如果线性表中的第一个元素就是要查找的元素,则只需要做一次比较就查找成功,但如果要查找的元素是线性表中的最后一个元素或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查
19、找的最坏情况,比较次数为线性表的长度。13.软件需求规格说明书的作用不包括( )。(分数:2.00)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件设计的依据D.软件可行性研究的依据 解析:解析:软件规格说明书主要有三个作用:用户和软件开发人员之间的合同;开发人员进行设计和编程的依据;软件工程项目验收的依据。14.下列叙述中正确的是( )。(分数:2.00)A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上都不正确解析:解析:影响程序执行效率的因素有很多,如数据的存储结构、程序处理的数据量、程
20、序的算法等。顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别。其中,链式存储结构的效率要高一些。15.下面不属于软件测试实施步骤的是( )。(分数:2.00)A.集成测试B.回归测试 C.确认测试D.单元测试解析:解析:软件测试实施的步骤有单元测试、集成测试和确认测试。16.在面向对象方法中,不属于“对象”基本特点的是( )。(分数:2.00)A.一致性 B.分类性C.多态性D.标识唯一性解析:解析:对象具有如下特征:标识唯一性、分类性、多态性、封装性、模块独立性。17.对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为( )。(分数:2.00)A.9B.10C.
21、45 D.90解析:解析:假设线性表的长度为 n,则在最坏情况下,冒泡排序需要比较的次数为 n(n 一 1)2。18.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。(分数:2.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性 C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度解析:解析:耦合性是反映模块间互相连接的紧密程度,内聚性是指一个模块内部各个元素间彼此接合的紧密程序。提高模块的内聚性,降低模块的耦合性是有利于提高模块的独立性。19.在 ER 图中,用来表示实体属性的图形是
22、( )。(分数:2.00)A.椭圆形 B.矩形C.菱形D.三角形解析:解析:构成 ER 图的基本要素是实体型、属性和联系,其表示方法为:实体型(Entity)用矩形表示;属性(Attribute)用椭圆形表示,联系(Relationship)用菱形表示,菱形框内写明联系名。20.下列对于软件测试的描述中正确的是( )。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误 D.软件测试的目的是使程序符合结构化原则解析:解析:软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指很可能找到迄今为止尚未发现的
23、错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。软件测试的目的要以查找错误为中心,而不是为了演示软件的正确功能。21.下列选项中不属于结构化程序设计方法的是( )。(分数:2.00)A.自顶向下B.逐步求精C.模块化D.可复用 解析:解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用GOTO 语句。自顶向下是指程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。逐步求精是指对复杂问题应设计一些子目标过渡,逐步细化。模块化是把程序要解决的总目标先分解成分目标,再进一步分解成具体的小目标,把每个小目标称为一个模块。可复用性是指软件元素不加
24、修改或稍加修改便可在不同的软件开发过程中重复使用的性质。软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法,不属于结构化程序设计方法。22.数据库系统的核心是( )。(分数:2.00)A.数据模型B.数据库管理系统 C.数据库D.数据库管理员解析:解析:数据库管理系统(DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。所以,数据库管理系统是数据库系统的核心。23.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接B.差 C.交D.并解析:解析:由三个关系 R、S 和 T 的结构可以知道,关系 T 是
25、由关系 R、S 经过差运算得到的。24.数据独立性是数据库技术的重要特点之一,数据独立性是指( )。(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对 解析:解析:数据独立性是指数据库中数据独立于应用程序而不依赖于应用程序。即数据与程序间的互不依赖性。也就是说数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据的独立性包括物理独立性和逻辑独立性两级。物理独立性:数据的物理结构(包括存储结构、存取方式等)的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用
26、程序的变化;逻辑独立性:数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应的应用程序改变,这就是数据的逻辑独立性。25.程序流程图中带有箭头的线段表示的是( )。(分数:2.00)A.图元关系B.数据流C.控制流 D.调用关系解析:解析:程序流程图是一种传统的、应用广泛的软件过程设计工具,通常也称为程序框图。其中,用带箭头的线段表示控制流,用矩形表示加工步骤,用菱形表示逻辑条件。26.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。(分数:2.00)A.1:1B.m:1C.1:m D.m:n解
27、析:解析:一个部门可以有多名员工,所以实体部门和职员间的联系是 1:m 联系。27.有两个关系 R 和 T 如下: (分数:2.00)A.选择 B.投影C.交D.并解析:解析:由关系 R 和 T 所包含的元素可知,关系 R 经过选择操作就可以得到关系 T。28.负责数据库中查询操作的数据库语言是( )。(分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言 D.数据控制语言解析:解析:负责数据库中查询操作的数据库语言是数据操纵语言。29.数据库设计的根本目标是要解决( )。(分数:2.00)A.数据共享问题 B.数据安全问题C.大量数据存储问题D.简化数据维护解析:解析:数据库应用系统中的一个核心问题就是设计一个能满足用户要求、性能良好的数据库,这就是数据库设计。数据库设计是在一定平台制约下,根据信息需求与处理需求设计出性能良好的数据模式。数据库设计的根本目标是要解决数据共享的问题。30.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接 B.交C.投影D.并解析:解析:选择是单目运算,其运算对象是一个表。该运算按给定的条件,从表中选出满足条件的行形成一个新表作为运算结果。投影也是单目运算,该运算从表中选出指定的属性值组成一个新表。自然连接是一种特殊的等价连接,它将表中有相同名称的列自动进行记录匹配。自然连接不必指定任何同等连接条件。