2007年4月计算机等级考试C++考试试卷参考答案及解析

本文提供了2007年4月计算机等级考试C++科目的试题及答案解析,涵盖选择题、填空题等多个部分,详细解答了关于算法、数据结构、数据库、软件工程、面向对象编程等方面的问题,帮助考生理解和掌握相关知识点。
摘要由CSDN通过智能技术生成

2007年4月计算机等级考试C++考试试卷参考答案及解析

该试题网上流传的参考答案错漏比较多,本文已经对其进行修正,并添加了答案解析。

因本人水平有限,如果有错漏的地方还请多多指教!

一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是。
A)算法的效率只与问题的规模有关,而与数据的存储结构无关.
B)算法的时间复杂度是指执行算法所需要的计算工作量
C)数据的逻辑结构与存储结构是一一对应的.
D)算法的时间复杂度与空间复杂度一定相关.

【答案】B 考点:算法的基本概念,包括时间复杂度和空间复杂度两个方面。


(2)在结构化程序设计中,模块划分的原则是。
A)各模块应包括尽量多的功能
B)各模块的规模应尽量大
C)各模块之间的联系应尽量紧密
D)模块内具有高内聚度,模块间具有低耦合度

【答案】D考点:模块划分的原则,牢记:模块内要高内聚,模块间要低耦合。

 

(3)下列叙述中正确的是。
A)软件测试的主要目的是发现程序中的错误.
B)软件测试的主要目的是确定程序中错误的位置.
C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作
D)软件测试是证明软件没有错误

【答案】A软件测试的主要目的是发现程序中的错误.

考点:软件测试的目标,牢记:软件测试的目的就是为了发现程序中的错误


(4)下面选项中不属于面向对象程序设计特征的是。
A)继承性 B)多态性 C)类比性 D)封装性

【答案】C)

考点:面向对象程序设计的特征,

牢记对象的特征有以下几点:分类性,封装性,多态性,继承性,模块性


(5)下列对列的叙述正确的是。
A)队列属于非线性表
B)队列按”先进后出”的原则组织数据
C)队列在队尾删除数据
D)队列按“先进先出”原则组织数据

【答案】D

考点:队列基本特点,牢记:队列是先进先出的数据结构,栈是先进后出的数据结构,它们都是特殊的线性表


(6)对下列二叉树

  进行前序遍历的结果为:

A)DYBEAFCZX   B)YDEBFZXCA  C)ABDYECFXZ  D)ABCDEFXYZ

【答案】C

解析:考点:树的遍历。

掌握:二叉树的三种遍历方式。二叉树的前序遍历中序遍历后序遍历。

前序遍历是先访问根结点,再访问左子树,再访问右子树,对于左子树和右子树仍旧按照前序访问方式遍历。

所以本题目中前序遍历先访问根结点A,再对左子树前序访问,依次是B D Y E ,然后访问A的右子树,依次是C F X Z。所以遍历顺序:A B D Y E C F X Z


(7)某二叉树中有n个度为2的结点则该二叉树中的叶子结点数为
A)n+1 B )n-1 C)2n D)n/2

【答案】A 考点:二叉树的性质。

在任意一颗二叉树中,度为0的结点总比度为2的结点多一个。


(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是。
A)并 B)交 C)投影 D)笛卡儿乘积

【答案】B

考点:关系运算,了解掌握:

并运算会增加元组个数,

并和交都不会改变属性的个数,因为他们都是针对同类关系的关系运算,但并会增加元组的个数,而交会减少元组的个数

投影运算会减少属性的个数,但不改变元组个数。

笛卡尔积既会增加属性个数,又会增加元组个数。


(9)在E-R图中,用来表示实体之间是联系的图形是。
A)矩形 B)椭圆形 C)菱形 D)平行四边形

【答案】C)菱形

考点:E—R图的相关概念

掌握:E-R模型的图示法,主要是什么类型是什么图形表示

构成E-R图的基本要素是实体型、属性和联系,其表示方法为:

·实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。

·属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。如果是多值属性的话,在椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。

·联系(Relationship):联系也称关系,信息世界中反映实体内部或实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。

例如:


(10)下列叙述中错误的是。
A)在数据库系统中,数据的物理结构必须与逻辑结构一致.
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库设计是指在已有数据库管理系统的基础上建立数据库
D)数据库系统需要操作系统的支持

【答案】A 考点:数据库的基本特点

掌握以下几点:

数据库技术的根本目标:解决数据的共享问题

数据库设计:在已有数据库管理系统的基础上建立数据库
数据库系统需要操作系统的支持

数据的物理结构与逻辑有高度独立性,结构不必一致


(11)为了取代C中带参数的宏,在C++中使用
A)重载函数 B)内联函数 C)递归函数 D)友元函数

【答案】B)内联函数

C++通常用内联函数可以替代多数的宏函数。因为效果与宏函数差不多,但编译时有类型匹配等好处。
宏函数功能很强大(比如“#”、“##”的用法),导致其无法被 C++ 中其它元素完全替代。但这些强大的功能并不经常被用到,一般情况下的宏函数是可以被内联函数替代的。


(12)下列关于类定义的说法中,正确的是
A)类定义中包括数据成员和函数成员的声明
B)类成员的缺省访问权限是保护的
C)数据成员必须被声明为私有的
D)成员函数只能在类体外进行定义

【答案】A

【解析】类成员的缺省访问权限是私有的。数据成员必须被声明不仅可以是私有的,也可以是公有成员或者保护成员。成员函数不仅可以在类体外进行定义。成员函数可以在类体中定义的,也可以在类体中只写成员函数的声明。


(13)下列关于派生类构造函数和析构函数的说法中,错误的是
A)派生类的构造函数会隐含调用基类的构造函数
B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数
C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数

【答案】D

在建立派生类对象时,必须先调用基类的构造函数,再调用派生类的构造函数,

在销毁派生类对象时,先调用派生类的析构函数,再调用基类的析构函数。这是C++的内部规定。

 

(14)通过运算符重载,可以改变运算符原有的
A)操作数类型 B&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值