2008年9月计算机等级考试二级C++笔试试题答案与解析

本文提供了2008年9月全国计算机等级考试二级C++笔试的试题及答案解析,涵盖栈、队列、数据结构、算法、面向对象、数据库等多个方面的知识点,旨在帮助考生理解和掌握C++相关知识。
摘要由CSDN通过智能技术生成

2008年9月计算机等级考试二级C++笔试试题

一、选择题(每小题2分,共70分)

(1)一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是(B)。

A)123456ABCDE        B)EDCBA54321

C)ABCDE12345                 D)54321EDCBA

【答案】B)EDCBA54321

【解析】栈的规则是:先进后出,是我们公共基础的重点考点。栈和队列是每年必考的题目。

栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。这表明栈的运算规则是“先进后出”(或称“后进先出”)。在栈顶进行插入运算,称为进栈(或入栈),在栈顶进行删除运算,称为退栈(或出栈)。本题中,依次进栈,即依次插入元素1、2,3、4、5、A、B、C、D、E,依次出栈,即依次删除元素,根据栈“先进后出”的规则,应该以倒序出栈。即元素出栈顺序为EDCBA54321。

【再如问题】一个栈的初始状态为空。首先将元素5,4,3,2,1 依次入栈,然后退栈一次,再将元素A,B,C,D 依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为?为什么答案是 1DCBA2345?

栈是先进后出,后进先出。所以“首先将元素5,4,3,2,1 依次入栈,然后退栈一次”这次退栈出来的是1,栈中剩下素为5,4,3,2。再将元素A,B,C,D,依次入栈栈中元素为5,4,3,2,A,B,C,D,然后出栈,先进后出,可知序列为D,C,B,A,2,3,4,5加上先前出的则所有元素退栈(包括中间退栈的元素)的顺序为1DCBA2345

 

(2)下列叙述中正确的是(D)。

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D)循环队列中元素的个数是由队头指针和队尾指针共同决定

【答案】D)

 

(3)在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是(C)。

A)O(n)                              B)O(n2)

C)O(log2n)                 D)O(nlog2n)

【答案】C)O(log2n)  

[知识点] 二分查找法的时间复杂度

【解析】二分法检索要求线性表结点按关键值排序且以顺序方式存储。二分查找法也称为折半查找法。二分法检索的效率比较高,它的基本思想是:在查找时,将 n 个元素分成个数大致相同的两组,取 a[n/2]与欲查找的 x 作比较。如果 x=a[n/2],则找到 x,算法终止;如果 x<a[n/2],则只要在数组 a 的左半部继续搜索 x(这里假设数组元素呈升序排列);如果 x>a[n/2],则只要在数组 a的右半部继续搜索 x。每次余下的 n/2个元素待比较,当最后剩下一个时,即 n/2 =1。故,n=2 ,  比较的次数i=log2n。


(4)下列叙述中正确的是(A)。

A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C)顺序存储结构能存储有序表,链式存储结构不能存储有序表

D)链式存储结构比顺序存储结构节省存储空间

【答案】A)

知识点] 顺序存储结构和链式存储结构

【解析】顺序存储结构就是用一组地址连续的存储单元依次存储该线性表中的各个元素,链式存储结构中各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致,所以选项A是正确的。

顺序存储方式是把逻辑上相邻的结点存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。顺序存储方式的优点是占用最少的存储空间,所以选项 D 错误。

顺序存储结构可以存储如二叉树这样的非线性结构,所以选项 B 错误。

链式存储结构也可以存储线性表,所以选项C 错误。

 

(5)数据流图中带有箭头的线段表示的是(D)。

A)控制流                          C)模块调用

B)事件驱动                       D)数据流

【答案】D)数据流

【知识点】数据流图的表示

【解析】在数据流图中,矩形表示数据的外部实体,圆角的矩形表示变换数据的处理逻辑,双横线表示数据的存储,箭头表示数据流。

矩形表示数据的外部实体,是系统和环境的接口,属系统之外的实体。

双横线表示存储文件(数据源):表示处理过程中存放各种数据的文件。

箭头表示数据流:沿箭头方向传送数据的通道,一般在旁边标注数据流名。

 

(6)在软件开发中,需求分析阶段可以使用的工具是(B)。

A)N-S 图                         B)DFD 图(数据流图)

C)PAD 图                         D)程序流程图

 【答案】B)DFD 图(数据流图)

【解析】知识点:软件开发。软件开发阶段包括需求分析、总体设计、详细设计、编码和测试5个阶段。其中需求分析阶段常用的工具是数据流图(简称DFD)和数据字典(简称DD)。常见的详细设计的图形描述工具主要有程序硫程图、N-S结构图、问题分析图(简称PAD图)。

数据流图简称 DFD 图,采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方  法。所以 DFD 图可以用于需求分析阶段。

 

(7)在面向对象方法中,不属于“对象”基本特点的是(A)。

A)一致性                          B)分类性

C)多态性                          D)标识唯一性

【答案】A

【解析】面向对象方法中最基本的概念是对象,它的基本特点有:标识唯—性、分类性、多态性、封装性和模块独立性好。

 

(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(B)。

A)一对一                          B)一对多

C)多对一                          D)多对多

【答案】B)一对多

【解析】一间宿舍可以住多个学生,但每个学生只能住一个宿舍,所以宿舍和学生之  间是一对多关系。

[知识点] E-R模型的基本概念。

两个实体间的联系可以归纳为3种类型:一对一联系:一对一的联系表现为主表中的每一条记录只与相关表中的一条记录相关联。一对多联系或多对一:一对多的联系表现为主表中的每一条记录与相关表中的多条记录相关联。多对多联系:多对多的联系表现为一个表中的多个记录在相关表中同样有多个记录与其匹配。

 

(9)在数据管理技术发展的三个阶段中,数据共享最好的是(C)。

A)人工管理阶段        B) 文件系统阶段

C)数据库系统阶段     D) 二个阶段相同

【答案】C)数据库系统阶段    

 【解析】[知识点]数据库管理技术的发展特点。数据库管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。

(1)人工管理阶段:计算机出现的初期,主要用于科学计算,没有大容量的存储设备。处理方式只能是批处理,数据不共享,不同程序不能交换数据。人工管理阶段的特点:数据不保存、数据不独立、数据不能共享、数据无结构&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值