国家二级C语言机试(公共基础知识)模拟试卷10
选择题
1.下列链表中,其逻辑结构属于非线性结构的是( )。(A)
A. 二叉链表
B. 循环链表
C. 双向链表
D. 带链的栈
解析:二叉链表作为树的存储结构。链表中节点的两个链域分别指向该节点的第一个孩子节点和下一个兄弟节点。
2.下列关于栈的描述中正确的是( )。(C)
A. 在栈中只能插入元素而不能删除元素
B. 在栈中只能删除元素而不能插入元素
C. 栈是特殊的线性表,只能在一端插入或删除元素
D. 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
解析:栈是限定在一端进行插入与删除的线性表。在栈中允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
3.下列描述中正确的是( )。(A)
A. 线性链表是线性表的链式存储结构
B. 栈与队列是非线性结构
C. 双向链表是非线性结构
D. 只有根节点的二叉树是线性结构
解析:线性表的链式存储结构称为线性链表。线性表链式存储结构的基本单位称为存储节点,每个存储节点包括数据域和指针域两个组成部分。各数据元素之间的前后件关系是由各节点的指针域来指示的。指向线性表中第一节点的指针HEAD称为头指针,当HEAD=NULL时称为空表。栈、队列和双向链表是线性结构,树是一种简单的非线性结构。在树这种数据结构中,所有数据元素的关系具有明显的层次特征。二叉树是非线性结构。线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系。即使是空的二叉树也是非线性结构。
4.下列关于栈叙述正确的是( )。(B)
A. 栈顶元素最后被删除
B. 栈底元素最后才能被删除
C. 栈底元素永远不能被删除
D. 以上三种说法都不对
解析:栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。
5.下列关于栈的描述中错误的是( )。(B)
A. 栈是先进后出的线性表
B. 栈只能顺序存储
C. 栈具有记忆作用
D. 对栈的插入与删除操作中,不需要改变栈底指针
解析:栈是限定在一端进行插入与删除的线性表。栈顶(top):插入数据(即入栈)的一端;栈底(bottom):不能入栈也不能出栈的一端。栈存储数据的原则“先进后出”或“后进先出”。栈的特性是具有记忆作用。
6.数据的存储结构是指( )。(D)
A. 存储在外存中的数据
B. 数据所占的存储空间量
C. 数据在计算机中的顺序存储方式
D. 数据的逻辑结构在计算机中的表示
解析:在对数据进行处理时各数据元素在计算机中的存储关系,即为数据的存储结构。
7.某二叉树共有12个节点,其中叶子节点只有1个。则该二叉树的深度为(根节点在第1层)( )。(D)
A. 3
B. 6
C. 8
D. 12
解析:根据二叉树的性质,度为0的节点(叶子节点)总是比度为2的节点多一个。题目中的二叉树的叶子节点为1,因此度为2的节点的数目为O。故该二叉树为12层,每层只有一个节点。
8.下列关于线性链表的叙述中,正确的是( )。(C)
A. 各数据节点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B. 各数据节点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C. 进行插入与删除时,不需要移动表中的元素
D. 以上都不正确
解析:线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据节点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
9.下列叙述中正确的是( )。(D)
A. 算法就是程序
B. 设计算法时只需要考虑数据结构的设计
C. 设计算法时只需要考虑结果的可靠性
D. 以上三种说法都不对
解析:所谓算法是指解题方案的准确而完整的描述。是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法不等于程序,也不等于计算方法。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
10.某二叉树有5个度为2的节点,则该二叉树中的叶子节点数是( )。(C)
A. 10
B. 8
C. 6
D. 4
解析:根据二叉树的性质,在任意二叉树中,度为0的节点(叶子节点)总是比度为2的节点多一个。
11.在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则循环队列中的元素个数为( )。(B)
A. 2
B. 3
C. 4
D. 5
解析:循环队列中,rear表示尾指针,front表示头指针,当有元素入队时,rear=rear+1,而元素出队的时候,front=front+1,当rear值大于front值时,队列中的元素个数为rear—front,当rear的值小于front时,列队中的元素个数为rear-front+m(m表示队列的容量)。
12.对如下二叉树
(D)
A. ABCDEF
B. DBEAFC
C. BDECF
D. DEBFCA
解析:所谓后序遍历是指在访问根据节点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后遍历右子树,最后访问根节点,并且,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根点。因此,后序遍历二叉树的过程也是一个递归过程。其简单描述为:若二叉树为空,则结束返回;否则,先后序遍历左子树,然后后序遍历右子树,最后访问根节点。对于后序遍历,第一个访问的节点一定是最左下的节点,最后一个访问的节点一定是根节点,故D选项正确。
13.在面向对象方法中,实现信息隐蔽是依靠( )。(C)
A. 对象的继承
B. 对象的多态
C. 对象的封装
D. 对象的分类
解析:对象的封装性是指从外部看只能看到对象的外部特征,即只需知道数据的取值范围和可以对该数据施加的操作。而不需要知道数据的具体结构以及实现操作的算法。对象的内部,即处理能力的实行和内部状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象的内部状态只能由其自身改变。
14.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n一1)/2的排序方法是( )。(D)
A. 快速排序
B. 冒泡排序
C. 直接插入排序
D. 堆排序
解析:各种排序方法中最坏情况下需要比较的次数分别为:冒泡排序n(n一1)/2、快速排序n(n—1)/2、简单插入排序n(n一1)/2、希尔排序O(n1.5)、单选择排序n(n一1)/2、堆排序D(nlog2n)。
15.下面属于黑盒测试方法的是( )。(C)
A. 语句覆盖
B. 逻辑覆盖
C. 边界值分析
D. 路径覆盖
解析:采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
本文档预览:3600字符,共7332字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载