1、国家二级 C语言机试(公共基础知识)模拟试卷 2及答案与解析 一、选择题 1 下列关于栈的描述中错误的是 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入与删除操作中,不需要改变栈底指针 2 按照 “后进先出 ”原则组织数据的数据结构是 ( A)队列 ( B)栈 ( C)双向链表 ( D)二叉树 3 下列对队列的描述中正确的是 ( A)队列属于非线性表 ( B)队列按 “先进后出 ”原则组织数据 ( C)队列在队尾删除数据 ( D)队列按 “先进先出 ”原则组织 数据 4 下列叙述中正确的是 ( A)栈是一种先进先出的线性表 ( B)队列是一种后
2、进先出的线性表 ( C)栈与队列都是非线性结构 ( D)以上三种说法都不对 5 下列叙述中正确的是 ( A)栈是 “先进先出 ”的线性表 ( B)队列是 “先进后出 ”的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 6 下列关于栈的描述中正确的是 ( A)在栈中只能插入元素而不能删除元素 ( B)在栈中只能删除元素而不能插入元素 ( C)栈是特殊的线性表,只能在一 端插入或删除元素 ( D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 7 下列叙述中正确的是 ( A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
3、( B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 ( C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 ( D)循环队列中元素的个数是由队头指针和队尾指针共同决定 8 对于循环队列,下列叙述中正确的是 ( A)队头指针是固定不变的 ( B)队头指针一定大于队尾指针 ( C)队头指针一定小于队尾 指针 ( D)队头指针可以大于队尾指针,也可以小于队尾指针 9 下列叙述中正确的是 ( A)循环队列是队列的一种链式存储结构 ( B)循环队列是队列的一种顺序存储结构 ( C)循环队列是非线性结构 ( D)循环队列是一种逻辑结构 10 设循环队列的存储空间为 Q(1:
4、 35),初始状态为 front rear 35。现经过一系列入队与退队运算后, front 15, rear 15,则循环队列中的元素个数为 ( A) 15 ( B) 16 ( C) 20 ( D) 0或 35 11 在一个容量为 15的循环队列中,若 头指针 front 6,尾指针 rear 9,则循环队列中的元素个数为 ( A) 2 ( B) 3 ( C) 4 ( D) 5 12 下列叙述中正确的是 ( A)栈是一种先进先出的线性表 ( B)队列是一种后进先出的线性表 ( C)栈与队列都是非线性结构 ( D)栈与队列都是线性结构 13 下列叙述中正确的是 ( A)栈是 “先进先出 ”的线
5、性表 ( B)队列是 “先进后出 ”的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 14 下列与队列结构有关联的是 ( A)函数的递归调用 ( B)数组元素的引用 ( C)多重循环的执行 ( D)先到先服务的作业调度 15 下列叙述中正确的是 ( A)循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 ( B)循环队列中的元素个数随队头指针的变化而动态变化 ( C)循环队列中的元素个数随队尾指针的变化而动态变化 ( D)循环队列中的元素个数不会变化 16 下列关于线性链表的叙述中,正确的是 ( A)各数据结点的存储空间可以不连续,
6、但它们的存储顺序与逻辑顺序必须一致 ( B)各数据结点的存储顺序与逻辑顺序可以不 一致,但它们的存储空间必须连续 ( C)进行插入与删除时,不需要移动表中的元素 ( D)以上都不正确 17 下列叙述中正确的是 ( A)线性表链式存储结构的存储空间一般要少于顺序存储结构 ( B)线性表链式存储结构与顺序存储结构的存储空间都是连续的 ( C)线性表链式存储结构的存储空间可以是连续的,也可以是不连续的 ( D)以上都不正确 18 下列叙述中正确的是 ( A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 ( B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 ( C)线性表的
7、链式存储结构所需要的存储空间一般要少于顺序存储结构 ( D)上述三种说法都不对 19 下列对于线性链表的描述中正确的是 ( A)存储空间不一定连续,且各元素的存储顺序是任意的 ( B)存储空间不一定连续,且前件元素一定存储在后件元素的前面 ( C)存储空间必须连续,且前件元素一定存储在后件元素的前面 ( D)存储空间必须连续,且各元素的存储顺序是任意的 20 下列叙述中正确的是 ( A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 ( B)顺序存储结构只针对线性 结构,链式存储结构只针对非线性结构 ( C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 ( D)链
8、式存储结构比顺序存储结构节省存储空间 21 下列链表中,其逻辑结构属于非线性结构的是 ( A)二叉链表 ( B)循环链表 ( C)双向链表 ( D)带链的栈 22 下列叙述中正确的是 ( A)有一个以上根结点的数据结构不一定是非线性结构 ( B)只有一个根结点的数据结构不一定是线性结构 ( C)循环链表是非线性结构 ( D)双向链表是非线性结构 23 对下列二叉树 进行中序遍历的结果是 ( A) ACBDFEG ( B) ACBDFGE ( C) ABDCGEF ( D) FCADBEG 24 某系统总体结构图如下图所示: 该系统总体结构图的深度是 ( A) 7 ( B) 6 ( C) 3 (
9、 D) 2 25 下列关于二叉树的叙述中,正确的是 ( A)叶子结点总是比度为 2的结点少一个 ( B)叶子结点总是比度为 2的结点多一个 ( C)叶子结点数是度为 2的结点数的两倍 ( D)度为 2的结点数是度为 1的结点数的两倍 26 某二叉树中有 n个度为 2的结点,则该二叉树中的叶子结点数为 ( A) n 1 ( B) n 1 ( C) 2n ( D) n 2 27 某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是 ( A) 10 ( B) 8 ( C) 6 ( D) 4 28 一棵二叉树共有 25个结点,其中 5个是叶子结点,则度为 1的结点数为 ( A) 16 ( B)
10、10 ( C) 6 ( D) 4 29 一棵二叉树中共有 80个叶子结点与 70个度为 1的结点,则该二叉树中的总结点数为 ( A) 219 ( B) 229 ( C) 230 ( D) 231 30 一棵二叉树中共有 70个叶子结点与 80个度为 1的结点,则该二叉树中的总 结点数为 ( A) 219 ( B) 221 ( C) 229 ( D) 231 31 某二叉树共有 7个结点,其中叶子结点只有 1个,则该二叉树的深度为 (假设根结点在第 1层 ) ( A) 3 ( B) 4 ( C) 6 ( D) 7 32 某二叉树共有 12个结点,其中叶子结点只有 1个。则该二叉树的深度为 (根结
11、点在第 1层 ) ( A) 3 ( B) 6 ( C) 8 ( D) 12 33 设树 T的深度为 4,其中度为 1, 2, 3, 4的结点个数分别为 4, 2, 1, 1。则 T中的叶子结点数为 ( A) 8 ( B) 7 ( C) 6 ( D) 5 34 设一棵完全二叉树共有 700个结点,则此二叉树中的叶子结点数为 ( A) 85 ( B) 120 ( C) 250 ( D) 350 35 在深度为 7的满二叉树中,叶子结点的个数为 ( A) 32 ( B) 3 1 ( C) 64 ( D) 63 国家二级 C语言机试(公共基础知识)模拟试卷 2答案与解析 一、选择题 1 【正确答案】
12、B 【试题解析】 栈是限定在一端进行插入与删除的线性表。栈顶 (top):插入数据(即入栈 )的一端;栈底 (bottom):不能入栈也不能出栈的一端。栈存储数据的原则: “先进后出 ”或 “后进先出 ”。栈的特性是具有记忆作用。 【知识模块】 公共基础知识 2 【正确答案】 B 【试题解析】 栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,也是最先被删除的元素;栈底元素总是最先被插入的元素,也是最后才能被删除的元素。即栈是按照 “后进先出 ”(LastIn First Out,简称 LIFO)或“先进
13、后出 ”(First In Last Out,简称 FILO)的原则组织数据的。因此, 栈也称为“后进先出表 ”或 “先进后出 ”表。 【知识模块】 公共基础知识 3 【正确答案】 D 【试题解析】 队列 (queue)是指允许在一端进行插入、而在另一端进行删除的线性表。允许插入的一端称为队尾:允许删除的一端称为队头。在队列这种数据结构中,最先插入的元素将最先能够被删除:反之,最后插入的元素将最后才能被删除。因此,队列又称 “先进先出 ”或 “后进后出 ”的线性表。 【知识模块】 公共基础知识 4 【正确答案】 D 【试题解析】 栈是先进后出的线性表,队列是先进先出的线性表,二 者均为线性结构
14、。 【知识模块】 公共基础知识 5 【正确答案】 D 【试题解析】 本题主要考查了栈、队列、循环队列的概念,栈是先进后出的线性表,队列是先进先出的线性表。根据数据结构中各数据元素之间的前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。有序线性表既可以采用顺序存储结构,又可以采用链式存储结构。 【知识模块】 公共基础知识 6 【正确答案】 C 【试题解析】 栈是限定在一端进行插入与删除的线性表,在栈中,允许插入与删除的一端称为栈顶,不允许插入 与删除的另一端称为栈底。 【知识模块】 公共基础知识 7 【正确答案】 D 【试题解析】 循环队列中元素的个数是由队头指针和队尾指针
15、共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。 【知识模块】 公共基础知识 8 【正确答案】 D 【试题解析】 所谓循环队列 ,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针 rear指向队列中的队尾元素,用队头指针 front指向队头元素的前一个位置。循环队列的主要操作是:入队运算和退队运算。每进行一次入队运算,队尾指针就进一。每进行一次退队运算,队头指针就进一。当 rear或 front等于队列的长度加 l时,就把 rear或 front值置为 1。所以在循环队列中,队头指针可以大于队尾指针,也可以小于队尾指针
16、。 【知识模块】 公共基础知识 9 【正确答案】 B 【试题解析】 本题主要考查循环队列的概念,循环队列作为队列的一种也应该是线性结构。队列是一种逻辑结构,而循环队列是一种顺序存储结构的队列。 【知识模块】 公共基础知识 10 【正确答案】 D 【试题解析】 循环队列的队头指针和尾指针都等于 15,此循环队列中元素的个数有两种情况,第一种情况是队头指针和尾指针都是第一次到达 15,此时元素个数为 0:第二种情况是队头指针第一次到达 15,而尾指针第二次到达 15,此时元素个数为 35。 【知识模块】 公共基础知识 11 【正确答案】 B 【 试题解析】 循环队列中, rear表示尾指针, fr
17、ont表示头指针,当有元素入队时, rear rear 1,而元素出队的时候, front front 1,当 rear值大于 front值时,队列中的元素个数为 rear front,当 rear的值小于 front时,列队中的元素个数为 rearfront m(m表示队列的容量 )。 【知识模块】 公共基础知识 12 【正确答案】 D 【试题解析】 栈是先进后出,队列是先进先出。栈和队列都是一种线性表,属于线性结构。 【知识模块】 公共基础知识 13 【正确答案】 D 【试题解析】 栈是 “先进后出 ”,队列 “是先进先出 ”。栈和队列都是一种线性表,属于线性结构。有序线性表既可以采用顺序
18、存储结构,也可以采用链式存储结构。采用链式存储结构的线性表称之为线性链表。 【知识模块】 公共基础知识 14 【正确答案】 D 【试题解析】 队列中最先插入的元素将最先被删除,最后插入的元素将最后被删除。 【知识模块】 公共基础知识 15 【正确答案】 A 【试题解析】 所谓循环结构就是将队列存储空间的最后一个位置绕到第一个位置上,形 成逻辑上的环状空间,循环使用。在循环队列中,用队尾指针 rear指向队列中的队尾元素,用队头指针 front指向队头元素的前一个位置,因此,队列中的元素数等于从队头指针 front指向的后一个位置与队尾指针 rear指向位置之间的元素数量。 【知识模块】 公共基
19、础知识 16 【正确答案】 C 【试题解析】 线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 【 知识模块】 公共基础知识 17 【正确答案】 C 【试题解析】 线性表的存储分为顺序存储和链式存储。在顺序存储中,所有元素所占的存储空间是连续的。而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。 【知识
20、模块】 公共基础知识 18 【正确答案】 B 【试题解析】 线性表的存储分为顺序存储和链式存储。在顺序存储中,所有元素所占的 存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。 【知识模块】 公共基础知识 19 【正确答案】 A 【试题解析】 一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与
21、逻辑关系也不一致。在线 性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一个结点的指针 head称为头指针,当 head NULL(或 0)时称为空表。 【知识模块】 公共基础知识 20 【正确答案】 A 【试题解析】 顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。而链式存储结构的存储空间不一定是连续的。 【知识模块】 公共基础知识 21 【正确答案】 A 【试题解析】 二叉链表作为树的存储 结构。链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。 【知识模块】
22、 公共基础知识 22 【正确答案】 B 【试题解析】 在数据结构中,树这类的的数据结构只有一个根结点,但它不是线性结构。 【知识模块】 公共基础知识 23 【正确答案】 A 【试题解析】 本题考查二叉树的遍历,中序遍历首先遍历左子树,然后访问根节点,最后遍历又子树,选 A。 【知识模块】 公共基础知识 24 【正确答案】 C 【试题解析】 这个系统总体结构图是一棵树结构,在树 结构中,根结点在第 1层,同一层上所有子结点都在下一层,由系统总体结构图可知,这棵树共 3层。在树结构中,树的最大层次称为树的深度。所以这棵树的深度为 3。 【知识模块】 公共基础知识 25 【正确答案】 B 【试题解析
23、】 由二叉树的性质可以知道在二叉树中叶子结点总是比度为 2的结点多一个。 【知识模块】 公共基础知识 26 【正确答案】 A 【试题解析】 在任意一棵二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。所以该二叉树的叶子结点数等于 n 1。 【知识模块】 公共基础知识 27 【正确答案】 C 【试题解析】 根据二叉树的性质,在任意二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。 【知识模块】 公共基础知识 28 【正确答案】 A 【试题解析】 根据二叉树的性质,在任意二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个,故此度为 1的结点
24、个数总结点数叶子节点数度为 2的节点数 25 5 4 16。 【知识模块】 公共基础知识 29 【正确答案】 B 【试题解析】 根据二叉树的性质,在任意二叉 树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个,故总结点数叶子节点数度为 2的节点数度为 1的节点数 80 79 70 229。 【知识模块】 公共基础知识 30 【正确答案】 A 【试题解析】 在二叉树中,叶子结点个数为 n0,则度为 2的结点数 n2 n01。本题中叶子结点的个数为 70,所以度为 2的结点个数为 69,因而总结点数叶子结点数度为 1的结点数度为 2的结点数 70 80 69 219。 【知识模块】
25、公共基础知识 31 【正确答案】 D 【试题解析】 根据二叉树的性质,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。题目中的二叉树的叶子结点为 1,因此度为 2的结点的数目为 0,故该二叉树为 7层,每层只有一个结点。 【知识模块】 公共基础知识 32 【正确答案】 D 【试题解析】 根据二叉树的性质,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。题目中的二叉树的叶子结点为 1,因此度为 2的结点的数目为 0,故该二叉树为 12层,每层只有一个结点。 【知识模块】 公共基础知识 33 【正确答案】 B 【试题解析】 深度为 m二叉树 其总结点数为 2m 1 24 1
26、 15。总结点数减去度为 1, 2, 3, 4的结点个数就是叶子结点数。 15 4 2 1 1 7。 【知识模块】 公共基础知识 34 【正确答案】 D 【试题解析】 具有 n个结点的完全二叉树的深度为 long2n 1,计算出该完全二叉树的深度为 10。 设度为 0的结点 (即叶子结点 )为 n0,度为 1的结点为 n1,度为 2的结点为 n2,总结点数为 n,深度为 k。 n n1 n2 n0,由于 n0 n2 1则 n2 n0 1,故 n n1 n0 1 n0 n1 2n0 1。由于完全二叉 树中度为 1的结点数只有两种可能: 0或 1。 假设度为 1的结点数为 0即满二叉树,根据满二叉
27、树的定义,其 2m 1个结点,根据以上计算所得的深度 10来计算,应有 2101 1024 1 1023个结点,显然与题目中 700个结点不符。因此,度为 1的结点数必然为 1。故 n n1 2n0 1 1 2n0 1 2n0,则 n0 n 2 700 2 350。 【知识模块】 公共基础知识 35 【正确答案】 C 【试题解析】 所谓满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个子结点。也就是在 满二叉树中,每一层上的结点数都是最大结点数,即在满二叉树的第 k层上有 2k 1个结点,且深度为 m的满二叉树有 2m 1个结点。对于深度为 7的满二叉树,叶子结点所在的是第 7层,一共有 27 1 64个叶子结点。全部结点共 27 1 127个。 【知识模块】 公共基础知识