国家二级C语言(公共基础知识)机试模拟试卷7
选择题
1.下列叙述中正确的是( )。(D)
A. 算法就是程序
B. 设计算法时只需要考虑数据结构的设计
C. 设计算法时只需要考虑结果的可靠性
D. 以上3种说法都不对
解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以A选项错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
2.算法的有穷性是指( )。(A)
A. 算法程序的运行时间是有限的
B. 算法程序所处理的数据量是有限的
C. 算法程序的长度是有限的
D. 算法只能被有限的用户使用
解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。
3.算法的空间复杂度是指( )。(A)
A. 算法在执行过程中所需要的计算机存储空间
B. 算法所处理的数据量
C. 算法程序中的语句或指令条数
D. 算法在执行过程中所需要的临时工作单元数
解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,所以选择A选项。
4.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。
B
解析:只有B选项369可以用无符号整数来表示和存储。A选项一369有负号,C选项0.369是小数,都不能用无符号整数类存储。D选项是一个整数集合,得用数组来存储。
5.下列叙述中正确的是( )。(A)
A. 程序执行的效率与数据的存储结构密切相关
B. 程序执行的效率只取决于程序的控制结构
C. 程序执行的效率只取决于所处理的数据量
D. 以上说法均错误
解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
6.下列叙述中正确的是( )。(B)
A. 有一个以上根节点的数据结构不一定是非线性结构
B. 只有一个根节点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:线性结构应满足:有且只有一个根节点;每个节点最多有一个前件,也最多有一个后件,所以B选项正确。有一个以上根节点的数据结构一定是非线性结构,所以A选项错误。循环链表和双向链表都是线性结构的数据结构。
7.下列叙述中正确的是( )。(A)
A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D. 链式存储结构比顺序存储结构节省存储空间
解析:链式存储结构既可以针对线性结构,也可以针对非线性结构,所以B选项与C选项错误。链式存储结构中的每个节点都由数据域与指针域两部分组成,增加了存储空间,所以D选项错误。
8.下列选项中,( )不是一般算法应该有的特征。(A)
A. 无穷性
B. 可行性
C. 确定性
D. 有穷性
解析:作为一个算法,一般应具有以下几个基本特征:可行性、确定性、有穷性、拥有足够的情报。本题答案为A选项。
9.下列叙述中正确的是( )。(D)
A. 栈是“先进先出”的线性表
B. 队列是“先进后出”的线性表
C. 循环队列是非线性结构
D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
解析:栈是先进后出的线性表,所以A选项错误;队列是先进先出的线性表,所以B选项错误;循环队列是线性结构的线性表,所以C选项错误。
10.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(B)
A. 12345ABCDE
B. EDCBA54321
C. ABCDEl2345
D. 54321EDCBA
解析:栈按先进后出的原则组织数据,入栈最早的最后出栈,所以选择B选项。
11.下列关于栈的叙述中确的是( )。(B)
A. 栈按“先进先出”组织数据
B. 栈按“先进后出”组织数据
C. 只能在栈底插入数据
D. 不能删除数据
解析:栈是按先进后出的原则组织数据的,数据的插入和删除都在栈顶进行操作。
12.下列叙述中正确的是( )。(C)
A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D. 以上说法都不正确
解析:栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择C选项。
13.下列关于栈的叙述中正确的是( )。(A)
A. 栈顶元素最先被删除
B. 栈顶元素最后才能被删除
C. 栈底元素永远不能被删除
D. 栈底元素最先被删除
解析:栈是先进后出的数据结构,所以栈顶元素最后人栈却最先被删除,栈底元素最先入栈却最后被删除,所以选择A选项。
14.下列关于栈的叙述中正确的是( )。(C)
A. 栈底元素定足最后入栈的元素
B. 栈顶元素一定是最先入栈的元素
C. 栈操作遵循先进后出的原则
D. 以上说法均错误
解析:栈顶元素总是最后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的,因此,栈称为先进后出表,或后进先出表,所以选择C选项。
15.下列与队列结构有关联的是( )。(D)
A. 函数的递归调用
B. 数组元素的引用
C. 多重循环的执行
D. 先到先服务的作业调度
解析:队列的修改是依先进先出的原则进行的,故D选项正确。
16.下列数据结构中,属于非线性结构的是( )。(C)
A. 循环队列
B. 带链队列
C. 二叉树
D. 带链栈
解析:树是简单的非线性结构,所以二叉树作为树的一种,也是一种非线性结构。
17.下列关于循环队列的叙述中正确的是( )。(D)
A. 队头指针是固定不变的
B. 队头指针一定大于队尾指针
C. 队头指针一定小于队尾指针
D. 队头指针既可以大于队尾指针,也可以小于队尾指针
解析:循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构,所以队头指针有时可能大于队尾指针,有时也可能小于队尾指针。
18.下列叙述中正确的是( )。(B)
A. 循环队列是队列的一种链式存储结构
B. 循环队列是队列的一种顺序存储结构
C. 循环队列是非线性结构
D. 循环队列是一种逻辑结构
解析:在实际应用中,队列的顺序存储结构一般采用循环队列的形式。
19.设循环队列的存储空间为Q(1:35),初
本文档预览:3600字符,共6445字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载