国家二级C语言机试(公共基础知识)模拟试卷13
选择题
1.下列关于二叉树的叙述中,正确的是( )。(B)
A. 叶子节点总是比度为2的节点少一个
B. 叶子节点总是比度为2的节点多一个
C. 叶子节点数是度为2的节点数的两倍
D. 度为2的节点数是度为1的节点数的两倍
解析:由二叉树的性质可以知道,在二叉树中叶子节点总是比度为2的节点多一个。
2.下列叙述中正确的是( )。(B)
A. 循环队列是队列的一种链式存储结构
B. 循环队列是队列的一种顺序存储结构
C. 循环队列是非线性结构
D. 循环队列是一种逻辑结构
解析:本题主要考查循环队列的概念。循环队列作为队列的一种也应该是线性结构。队列是一种逻辑结构,而循环队列是一种顺序存储结构的队列。
3.支持子程序调用的数据结构是( )。(A)
A. 栈
B. 树
C. 队列
D. 二叉树
解析:栈是一种限定在一端进行插入与删除的线性表。在主函数调用子函数时,要首先保存主函数的状态,然后转去执行子函数,把子函数的运行结果返回到主函数调用子函数的位置,主函数再接着往行,这种过程符合栈的特点。所以一般采用栈式存储方式。
4.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(B)
A. 12345ABCDE
B. EDCBA54321
C. ABCDE12345
D. 54321EDCBA
解析:栈是按照“先进后出”或“后进先出”的原则组织数据的。所以出栈顺序是EDCBA54321。
5.下列叙述中错误的是( )。(D)
A. 栈是一种先进后出的线性表
B. 队列是一种先进先出的线性表
C. 栈与队列都是线性结构
D. 栈和队列都是后进后出的线性表
解析:栈是先进后出的线性表,队列是先进先出的线性表,二者均为线性结构。
6.下列叙述中正确的是( )。(B)
A. 有一个以上根节点的数据结构不一定是非线性结构
B. 只有一个根节点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:在数据结构中,树这类的数据结构只有一个根节点,但它不是线性结构。
7.在深度为7的满二叉树中,叶子节点的个数为( )。(C)
A. 32
B. 31
C. 64
D. 63
解析:所谓满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有节点都有两个子节点。也就是在满二叉树中,每一层上的节点数都是最大节点数,即在满二叉树的第k层上有2k-1个节点,深度为m的满二叉树有2m-1个节点。对于深度为7的满二叉树,叶子节点所在的是第7层,一共有27-1=64个叶子节点。全部节点共27一1=127个。
8.下列对于线性链表的描述中正确的是( )。(A)
A. 存储空间不一定连续,且各元素的存储顺序是任意的
B. 存储空间不一定连续,且前件元素一定存储在后件元素的前面
C. 存储空间必须连续,且前件元素一定存储在后件元素的前面
D. 存储空间必须连续,且各元素的存储顺序是任意的
解析:一般来说,在线性表的链式存储结构中各数据节点的存储序号是不连续的,并且各节点在存储空间中的位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间的前后件关系是由各节点的指针域来指示的。指向线性表中第一个节点的指针head称为头指针,当head=NULL(或0)时称为空表。
9.下列叙述中正确的是( )。(B)
A. 算法的效率只与问题的规模有关,而与数据的存储结构无关
B. 算法的时间复杂度是指执行算法所需要的计算工作量
C. 数据的逻辑结构与存储结构是一一对应的
D. 算法的时间复杂度与空间复杂度一定相关
解析:算法的时间复杂度是指执行算法所需要的计算工作量。算法的工作量用算法所执行的基本运算的次数来度量,而算法所执行的基本运算次数是问题规模的函数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。算法的时间复杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间的关系.是独立于计算机的;数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。
10.一棵二叉树中共有70个叶子节点与80个度为1的节点,则该二叉树中的总节点数为( )。(A)
A. 219
B. 221
C. 229
D. 231
解析:在二叉树中,叶子节点个数为n0,度为2的节点数n2=n0一1。本题中叶子节点的个数为70,所以度为2的节点个数为69。总节点数=叶子节点数+度为1的节点数+度为2的节点数=70+80+69=219。
11.下列与队列结构有关联的是( )。(D)
A. 函数的递归调用
B. 数组元素的引用
C. 多重循环的执行
D. 先到先服务的作业调度
解析:队列中最先插入的元素将最先被删除,最后插入的元素将最后被删除。
12.下列叙述中正确的是( )。(A)
A. 对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
解析:本题主要考查的知识点为查找技术。顺序查找的使用情况:①线性表为无序表;②表采用链式存储结构。二分法查找只适用于顺序存储的有序表,并不适用于线性链表。
13.在软件开发中,需求分析阶段产生的主要文档是( )。(B)
A. 可行性分析报告
B. 软件需求规格说明书
C. 概要设计说明书
D. 集成测试计划
解析:需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标与确认,又可以作为控制软件开发进程的依据。
14.下列描述中,不符合良好程序设计风格要求的是( )。(A)
A. 程序的效率第一,清晰第二
B. 程序的可读性好
C. 程序中要有必要的注释
D. 输入数据前要有提示信息
解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。
15.软件(程序)调试的任务是( )。(A)
A. 诊断和改正程序中的错误
B. 尽可能多地发现程序中的错误
C. 发现并改正程序中的所有错误
D. 确定程序中错误的性质
解析:在对程序进行了成功的测试之后将进入程序调试(通常称Debug,即排错)。程序调试的任务是诊断和改正程序中的错误。
本文档预览:3600字符,共7325字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载