二级C++真题2007年4月答案.doc
《二级C++真题2007年4月答案.doc》由会员分享,可在线阅读,更多相关《二级C++真题2007年4月答案.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、二级C+真题2007年4月答案真题 120一、选择题(每小题2分,共70分) 下列各题A、B、C、D 四个选项中,只有一个选项是正确的。第1题:参考答案:B答案解析:本题考查数据结构中有关算法的基本知识和概念。数据的结构,直接影响算法的选择和效率。而数据结构包括两方面,即数据的逻辑结构和数据的存储结构。因此,数据的逻辑结构和存储结构都影响算法的效率。选项A的说法是错误的。算法的时间复杂度是指算法在计算机内执行时所需时间的度量;与时间复杂度类似,空间复杂度是指算法在计算机内执行时所需存储空间的度量。因此,选项B的说法是正确的。 数据之间的相互关系称为逻辑结构。通常分为四类基本逻辑结构,即集合、线
2、性结构、树型结构、图状结构或网状结构。存储结构是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。存储结构在计算机中有两种,即顺序存储结构和链式存储结构。可见,逻辑结构和存储结构不是一一对应的。因此,选项C的说法是错误的。有时人们为了提高算法的时间复杂度,而以牺牲空间复杂度为代价。但是,这两者之间没有必然的联系。因此,选项D的说法是错误的。第2题:参考答案:D答案解析:本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则: (1)改进软件结构,提高模块独立性。通过模块的分解或合并,力求降低耦合提高内聚。低耦合也就是
3、降低不同模块间相互依赖的紧密程度,高内聚是提高一个模块内各元素彼此结合的紧密程度。 (2)模块的规模应适中。一个模块的规模不应过大,过大的模块往往是由于分解不够充分:过小的模块开销大于有益操作,而且模块过多将使系统接口复杂。因此过小的模块有时不值得单独存在。 (3)模块的功能应该可以预测,但也要防止模块功能过分局限。如果模块包含的功能太多,则不能体现模块化设计的特点;如果模块的功能过分的局限,使用范围就过分狭窄。 经过上述分析,本题的正确答案是选项D。第3题:参考答案:A答案解析:本题考查软件工程中测试的目的和方法。仅就软件测试而言,它的目的是发现软件的中的错误,但是,发现错误并不是最终目的,
4、最终目的是通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。 由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。因此,在软件测试阶段通常由其他人员组成测试小组来完成测试工作。因此,经过上述分析可知选项A的说法是正确的,而选项B、C、D的说法是错误的。第4题:参考答案:C答案解析:通常认为,面向对象方法具有封装性、继承性、多态性几大特点。就是这几大特点,为软件开发提供了一种新的方法学。 封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中(对象中)。简单地说,封装就是隐藏信息。这是面向对象方法的中心,是面向对象程序设计的基础。 继承性
5、:子类具有派生它的类的全部属性(数据)和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。继承有利于提高软件开发效率,容易达到一致性。 多态性:多态性就是多种形式。不同的对象在接收到相同的消息时,采用不同的动作。例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作,但是却以不同的做法来实现。不必为每个对象的过程取一过程名,造成复杂化,可以使过程名复用。同一类型的工作有相同的过程名,这种技术称为多态性。 经过上述分析可知,选项C的说法是错误的。第5题:参考答案:
6、D答案解析:本题考查数据结构中队列的基本知识。队列是一种限定性的线性表,它只允许在表的一端插入元素,而在另一端删除元素,所以队列具有先进先出的特性。在队列中,允许插入元素的一端叫做队尾,允许删除的一端则称为队头。这与日常生活中的排队是一致的,最早进入队列的人最早离开,新来的人总是加入到队尾。因此,本题中只有选项D的说法是正确的。第6题:参考答案:C答案解析:本题考查数据结构中二叉树的遍历。根据对二叉树根的访问先后顺序不同,分别称为前序遍历、中序遍历和后序遍历。这三种遍历都是递归定义的,即在其子树中也按照同样的规律进行遍历。下面就是前序遍历方法的递归定义。 当二叉树的根不为空时,依次执行如下3个
7、操作: (1)访问根结点 (2)按先序遍历左子树 (3)按先序遍历右子树 根据如上前序遍历规则,来遍历本题中的二叉树。首先访问根结点,即A,然后遍历A的左子树。遍历左子树同样按照相同的规则首先访问根结点B,然后遍历B的左子树。遍历B的左子树,首先访问D,然后访问D的左子树,D的左子树为空,接下来访问D的右子树,即Y。遍历完B的左子树后,再遍历B的右子树,即E。到此遍历完A的左子树,接下来遍历A的右子树。按照同样的规则,首先访问C,然后遍历C的左子树,即F。C的左子树遍历完,接着遍历C的右子树。首先访问右子树的根结点X,然后访问X的左子树,X的左子树,即Z,接下来访问X的右子树,右子树为空。到此
8、,把题目的二叉树进行了一次前序遍历。遍历的结果为 ABDYECFXZ,故本题的正确答案为选项C。第7题:参考答案:A答案解析:本题考查数据结构中二叉树的性质。二叉树满足如下一条性质,即:对任意一棵二叉树,若终端结点(即叶子结点)数为n0,而其度数为2的结点数为 n2则n0=n2+1。 根据这条性质可知,若二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为 n+1。因此,本题的正确答案是选项A。第8题:参考答案:B答案解析:本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。 两个关系的交运
9、算是包含同时出现在第一和第二个关系中的元组的新关系。因此,交运算不改变关系表中的属性个数,但能减少元组个数。 投影是一元关系操作。投影操作选取关系的某些属性,这个操作是对一个关系进行垂直分割,消去某些属性,并重新安排属性的顺序,再删除重复的元组。因此,投影运算既可以减少关系表中的属性个数,也可以减少元组个数。 两个关系的笛卡儿乘积是指一个关系中的每个元组和第二个关系的每个元组连接。因此,笛卡儿乘积运算能够增加元组属性的个数。 经过上述分析可知,在上述四种运算中,交运算不改变关系表中的属性个数但能减少元组个数。因此,正确答案是选项B。第9题:参考答案:C答案解析:E-R模型中,有三个基本的抽象概
10、念:实体、联系和属性。E-R图是E-R模型的图形表示法,在E-R图中,用矩形框表示实体,菱形框表示联系,椭圆形框表示属性。因此,本题的正确答案是选项C。第10题:参考答案:A答案解析:本题考查数据库系统的基本概念和知识。数据的逻辑结构,是数据间关系的描述,它只抽象地反映数据元素之间的逻辑关系,而不管其在计算机中的存储方式。数据的存储结构,又叫物理结构,是逻辑结构在计算机存储器里的实现。这两者之间没有必然的联系。因此,选项A的说法是错误的。 数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。因此,数据库具有为各种用户所共享的特点。不同的用户可以使用同一个数据库,可以取出它
11、们所需要的子集,而且容许子集任意重叠。数据库的根本目标是要解决数据的共享问题。因此,选项B的说法是正确的。 数据库设计是在数据库管理系统的支持下,按照应用的要求,设计一个结构合理、使用方便、效率较高的数据库及其应用系统,数据库设计包含两方面的内容:一是结构设计,也就是设计数据库框架或数据库结构;二是行为设计,即设计基于数据库的各类应用程序、事务等。因此,选项C的说法是错误的。 数据库系统除了数据库管理软件之外,还必须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等。对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。因此,选项D的说法是
12、正确的。 因此,本题的正确答案是选项A。第11题:参考答案:B答案解析:本题考查的知识点是;内联函数。C+引入内联(inline)函数的原因是用它来取代C中的预处理宏函数,即带参数的宏。故本题应该选择B。第12题:参考答案:A答案解析:本题考查的知识点是:类的定义。类中缺省的访问权限是私有的(private),所以选项B) 不正确:类的数据成员和函数成员的访问控制权限均可被声明为公有 (public)、私有(priate)和保护(protected)中的任意一种,所以选项C) 不正确;成员函数的实现即可以在类体内定义,也可以在类体外定义,所以选项D) 不正确。故本题应该选择A。第13题:参考答
13、案:D答案解析:本题考查的知识点是;派生类的构造函数和析构函数。在销毁派生类对象时,析构函数的执行;过程与构造函数严格相反,即;(1)对派生类新增普通成员进行清理; (2)调用成员对象析构函数,对派生类新增的成员对象进行清理;(3)调用基类析构函数,对基类进行清理。故本题应该选择D。第14题:参考答案:A答案解析:本题考查的知识点是:运算符重载。重载的运算符具有保持其原有的操作数个数、优先级和结合性不变的特性。故本题应该选择A。第15题:参考答案:C答案解析:本题考查的知识点是:函数模板。声明一个函数模板的格式是: template模板形参表声明函数声明 其中的模板形参表声明是由一个或多个模板
14、形参组成。每个模板形参具有下面几种形式: (1)typename参数名 (2)class参数名 (3)类型修饰参数名 由此可见,题中的T是模板形参。故本题应该选择C。第16题:参考答案:B答案解析:本题考查的知识点是:C+流的操作符。在C+流中,操作符setw的作用是设置输入输出宽度。故本题应该选择B。第17题:参考答案:D答案解析:本题考查的知识点是:标识符。在C+中,标识符的组成要符合以下4个规定: (1)标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串; (2)标识符不能与任意一个关键字同名; (3)标识符中的字母区分大小写: (4)标识符不宜过长,C+语言一般设定一个
15、标识符的有效长度为32个字符。 在选项D) 中,switch是C+开关语句的关键字,因此不能用作标识符。故本题应该选择D。第18题:参考答案:C答案解析:本题考查的知识点是:字面常量。对于整型字面常量,只要没有超出C+中整数所能表示的范围,C+将自动按整数(int)来存储此数。也可以通过在整型字面常量后添加u或1(大、小写均可),来指定按无符号整数(unsigned)或长整数(long)来存储,也可同时使用u和1(对排列无要求),来指定按无符号长整数(unsigned long)来存储。对于实型字面常量,C+自动按双精度数(double)来存储。也可通过在实型字面常量后添加f(大、小写均可),
16、来指定按单精度数(float)来存储。故本题应该选择C。第19题:参考答案:B答案解析:本题考查的知识点是:for循环语句。 for语句的执行过程是: (1)计算第1个表达式(在本题中是“int i=50”)的值: (2)计算第2个表达式(在本题中是“i1”)的值,如果此值不等于0(结果为真),则转向步骤(3);否则转向步骤(5); (3)执行一遍循环体(在本题中是“cout*;”); (4)计算第3个表达式(在本题中是“-i”)的值,然后转向步骤(2); (5)结束for循环。 由此可见,本题循环中i从50开始逐次递减,直到i=1时退出,而此时没有机会执行到循环体,因此执行了49遍循环体。而
17、循环体中的语句是输出1个字符“*”,所以最终输出了49个字符“*”,故本题应该选择B。第20题:参考答案:A答案解析:本题考查的知识点是:指针和引用。指针声明的一般形式为: 数据类型*声明的指针变量名; 引用声明的一般形式为: 数据类型&声明的引用变量名=被引用的变量名; 引用声明时必须初始化,而指针则可有可无。通过引用来改变其所引用的对象,直接赋值即可,而通过指针改变其所指对象则须使用一元运算符“*”。在本题中,语句就是一条合法的引用声明语句,使变量i被r所引用。语句通过引用r将变量j的值赋给变量i。语句声明了指针变量p,并初始化指向变量i。而语句中的*p代表了变量i,欲将&r(变量r的地址
18、值)赋给*p(变量i),这会引起VC6编译器产生一条类型不匹配的错误“无法将类型int*转换为int”。故本题应该选择A。第21题:参考答案:C答案解析:本题考查的知识点是:函数参数的传递方式。C+的默认参数传递方式是传值,即将实参值的副本传递(拷贝)给被调用函数的形参。如果需要传地址,可通过传递指针、引用或数组类型的参数来实现。传值时,对形参的改变不会影响到实参;而传地址,则会同时改变实参。本题中形参a是普通参数,即传值调用,函数中对a增1不会影响到实参x的值;而形参b是引用,即传址调用,函数中对b增1同时也改变了实参y的值(y也增1了)。故最终结果是0和2,应该选择C。第22题:参考答案:
19、B答案解析:本题是一道陷阱题,看似考查类的静态成员变量,实际考查的是:变量作用域的屏蔽效应。在C+中,当标识符的作用域发生重叠时,在一个函数(或块)中声明的标识符可以屏蔽函数(或块)外声明的标识符或全局标识符。本题从行class A到行“int A:a=0;”都是类A的声明部分。行“A obj;”声明了一个类A的全局对象 obj,由于没指定构造参数,所以构造时构造函数的形参a取默认值2。构造函数中首先调用了init函数,将静态成员变量a赋为1,然后将a增1。许多考生此时会很自然地认为是将类A的静态成员变量a增1了,从而导致选择C这个错误答案。其实,此时静态成员变量a被构造函数的形参a所屏蔽,所
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 C+ 2007 答案
