全国计算机二级C语言模拟测试卷【附带详细解析】
@乡村教师胡劲
1.设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=20,rear=15。现要在该循环队列中寻最小值的元素,最坏情况下需要比较的次数为
A. 5
B. 6
C. m-5
D. m-6
正确答案:D你的答案:
解析:【解析】循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队
尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=20,rear=15时,队列中有m-20+15=m-5个元素,比较次数为m-6次,D选项正确。
2.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的后序序列为
A. EFGDCBA
B. DCBEFGA
C. BCDGFEA
D. DCBGFEA
正确答案:D你的答案:
解析:【解析】二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子
树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。二叉树的前序序列为ABCDEFG,A为根节点。中序序列为DCBAEFG,可知DCB为左子树节点,EFG为右子树节点。同理B为C父节点,C为D父节点,且CD均为B的同侧子树节点。同理E为F根节点,F为G根节点,且FG为E同侧子树节点。二叉树的后序序列为DCBGFEA,D选项正确。
3.下列叙述中正确的是
A. 有两个指针域的链表一定是二叉树的存储结构
B. 有多个指针域的链表一定是非线性结构
C. 有多个指针域的链表有可能是线性结构
D. 只有一个根结点的数据结构一定是线性结构
正确答案:C你的答案:
解析:【解析】一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构,称为线性表。双向链表节点有两个指针域,指向前一个节点的指针和指向后一个节点的指针,但它是线性结构,A、B选项错误。树只有一个根节点,但它是一种简单的非线性结构,D选项错误。故只有C选项正确。
4.下列叙述中错误的是
A. 在带链队列中,队头指针和队尾指针都是在动态变化的
B. 在带链栈中,栈顶指针和栈底指针都是在动态变化的
C. 在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的
D. 在带链队列中,队头指针和队尾指针可以指向同一个位置
正确答案:B你的答案:
解析:【解析】带链的队列就是用一个单链表来表示队列,队列中的每一个元素对应链表中的一个节点,在入队和退队过程中,队头指针和队尾指针都是在动态变化的,A选项叙述正确,循环队列中当队列满或者空时,队头指针和队尾指针指向同一个位置,D选项叙述正确。栈也可以采用链式存储结构表示,把栈组织成一个单链表,这种数据结构可称为带链的栈,入栈和退栈过程中栈底指针不变,栈顶指针随之变化,B选项叙述错误,C选项叙述正确。故选择B选项。
5.软件生命周期中,确定软件系统要做什么的阶段是
A. 需求分析
B. 软件测试
C. 软件设计
D. 系统维护
正确答案:A你的答案:
解析:【解析】软件生命周期各阶段的主要任务是:问题定义、可行性研究与计划制定、需求分析、软件设计、软件实现、软件测试、运行维护。其中需求分析是指对待开发软件提出的需求进行分析并给出详细定义,也即是确定软件系统要做什么,A选项正确。float()函数
6.下面对软件测试和软件调试有关概念叙述错误的是
A. 严格执行测试计划,排除测试的随意性
B. 程序调试通常也称为Debug
C. 软件测试的目的是发现错误和改正错误
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论