2004年9月全国计算机等级考试二级笔试试卷参考答案及解析
公共基础知识及C++语言程序设计
(考试时间90分钟,满分100)分)
一、选择题((1)~(35)每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 下面叙述正确的是
A)算法的执行效率与数据的存储结构无关
B)算法的空间复杂度是指算法程序中指令(或语句)的条数
C)算法的有穷性是指算法必须能在执行有限个步骤之后终止
D)以上三种描述都不对
【答案】C)算法的有穷性是指算法必须能在执行有限个步骤之后终止
A选项错误,因为算法的执行效率与算法执行过程中所需基本运算的执行次数有关;B选项错误,原因是算法的空间复杂度是指执行这个算法所需要的内存空间;C选项正确,故D选项不正确。
知识点:算法
算法的有穷性是指算法必须能在执行有限个步骤之后终止。
算法的执行效率与数据的存储结构是相关的。
一个算法的空间复杂度(SpaceComplexity)S(n)定义为该算法所耗费的存储空间。
(2)以下数据结构中不属于线性数据结构的是
A)队列 B)线性表 C)二叉树 D)栈
【答案】C)二叉树不属于线性数据结构
所谓的线性结构是指:如果一个非空的数据结构满足下列两个条件,即①有且只有一个根结点:②每一个结点最多有一个前驱,也最多有一个后继。同时满足两个条件的有队列、线性表和栈,而二叉树的结点可能存在两个后继,所以不是线性结构。
《数据结构》
数据结构课程中数据的逻辑结构分为线性结构和非线性结构。
对于数据结构课程而言,简单地说,线性结构是n个数据元素的有序(次序)集合。它有四个基本特征:
1.集合中必存在唯一的一个"第一个元素";
2.集合中必存在唯一的一个"最后的元素";
3.除最后元素之外,其它数据元素均有唯一的"后继";
4.除第一元素之外,其它数据元素均有唯一的"前驱"。
数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。
如(a1,a2,a3,.....,an),a1为第一个元素,an为最后一个元素,此集合即为一个线性结构的集合。
相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。
常用的线性结构有:线性表(包括顺序表和链表),栈,队列,双队列,数组,串。
关于广义表,是一种非线性的数据结构。
常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图(网等)。
(3)在一棵二叉树上第5层的结点数最多是
A)8 B)16 C)32 D)15
【答案】B) 一棵二叉树上第5层的结点数最多是16个
根据二叉树的性质,在二叉树的第K层上,最多有2的k-1次方个结点。所以,第五层的结点数最多为16。
(4)下面描述中,符合结构化程序设计风格的是
A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B)模块只有一个入口,可以有多个出口
C)注重提高程序的执行效率
D)不使用goto语句
【答案】A
[解析] 应该选择只有一个入口和一个出口的模块,故B选项错误;首先要保证程序正确,然后才要求提高效率,故C选项错误:严格控制使用goto语句,必要时可以使用,故D选项错误。
考点:结构化程序设计风格
结构化程序设计的基本思想是采用"自顶向下,逐步求精"的程序设计方法和"单入口单出口"的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;"单入口单出口"的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序来。
(5)下面概念中,不属于面向对象方法的是
A)对象 B)继承 C)类 D)过程调用
【答案】D
[解析] A、B、C属于面向对象方法,D属于面向过程方法,故答案为D。
关于面向对象的定义:
定义一:面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。
定义二:面向对象方法是以认识论为基础,用对象来理解和分析问题空间,并设计和开发出由对象构成的软件系统(解空间)的方法。由于问题空间和解空间都是由对象组成的,这样可以消除由于问题空间和求解空间结构上的不一致带来的问题。简言之,面向对象就是面向事情本身,面向对象的分析过程就是认识客观世界的过程。
面向对象方法从对象出发,发展出对象,类,消息,继承等概念。
面向对象方法的主要优点是:符合人们通常的思维方式;从分析到设计再到编码采用一致的模型表示具有高度连续性;软件重用性好。
(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是
A)可行性分析 B)需求分析 C)详细设计 D)程序编码
【答案】B)需求分析
[解析] 结构化分析方法是结构化程序设计理论在软件需求分析阶段的运用。而结构化分析就是使用数据流图(DFD)、数据字典(DD)、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化规格说明的目标文档。所以数据流程图是在需求分析阶段使用的。
(7)在软件开发中,下面任务不属于设计阶段的是
A)数据结构设计 B)给出系统模块结构
C)定义模块算法 D)定义需求并建立系统模型
【答案】D)定义需求并建立系统模型不属于设计阶段
[解析] 数据结构设计、给出系统模块结构以及定义模块算法都属于设计阶段,而定义需求并建立系统模型属于分析阶段。
(8)数据库系统的核心是
A)数据模型 C)软件工具
B)数据库管理系统 D)数据库
【答案】B数据库管理系统
[解析] 数据库管理系统是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。
数据库系统的核心是数据库管理系统(DBMS),它也是是数据库系统的基础。
数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。
(9)下列叙述中正确的是
A)数据库系统是一个独立的系统,不需要操作系统的支持
B)数据库设计是指设计数据库管理系统
C)数据库技术的根本目标是要解决数据共享的问题
D)数据库系统中,数据的物理结构必须与逻辑结构一致
【答案】C数据库技术的根本目标是要解决数据共享的问题
[解析] A选项,数据库系统需要操作系统的支持,必不可少,故其叙述不正确。B选项错误,数据库设计是指设计一个能满足用户要求,性能良好的数据库。D选项也不对,数据库应该具有物理独立性和逻辑独立性,改变其一而不影响另一个。正确答案为C。
数据库技术是信息系统的一个核心技术。是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。
数据库技术涉及到许多基本概念,主要包括:信息,数据,数据处理,数据库,数据库管理系统以及数据库系统等。
数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。数据库技术的根本目标是要解决数据的共享问题。
(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是
A)内模式 B)外模式 C)概念模式 D)逻辑模式
【答案】A)内模式
[