1、计算机二级(C+)29 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:25,分数:1750.00)1.下列程序中画线处应填入的语句是( )。 classBase public: voidfun( )COUt“Baseoffun“endl; ; classDerived:publicBase voidfun( ) _/显示基类的成员函数 fun cout“Derivedoffun“endl; ; (分数:70.00)A.Alt+F2B.BBBBBC.随机出几个数D.文本框平均内容无变化2.下列程序的运行结果为( )。 #inc
2、ludeiostreamh class Location protected: int X,Y; publiC: void SeX(int myx)X=myx; void SetY(int myy)Y=myy; void showxy( ) cout“X=“ X“ “ “Y“= Y endl; ; Class Rectangle :public Location private: int H,W; public: void SetH(int myh)H=myh; void SetW(int myw) W=myw; void show( ) cout “X=“X“ “Y=“ Y“ “H=“ H“
3、 “ “W=“ W endl; ; void main( ) Rectangle r1; r1SetX(3); r1SetY(5); r1SetH(4); r1SetW(6); r1showxy( ); r1. show( ); (分数:70.00)A.X=3 Y=5 X=3 Y=5 H=4 W=6B.X=3 Y=5 X=3 Y=5 H=3 W=6C.X=3 Y=5 X=3 Y=4 H=4 W=6D.X=3 Y=5 X=3 Y=3 H=4 W=63.下列哪个是 C+语言的有效标识符?(分数:70.00)A.“30Not30 Or30 And30Likeb)|c) cout“true“endl;
4、 else cout“false“endl; (分数:3.00)填空项 1:_42.派生类构造函数的执行顺序是先执行 1 的构造函数,然后执行成员对象的构造 函数,最后执行 2 的构造函数。 (分数:3.00)填空项 1:_43.C+程序是从 1 函数开始执行的。(分数:3.00)填空项 1:_44.将 x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为 1。(分数:3.00)填空项 1:_45.C+语言中的多态性是在编译时通过 1 和模板体现的,在运行时是通过 2 体现的。(分数:3.00)填空项 1:_46.对软件是否能达到用户所期望的要求的测试称为 1。(分数:-1.00)
5、填空项 1:_47.软件维护活动包括以下几类:改正性维护、适应性维护、 1 维护和预防性维护。(分数:-1.00)填空项 1:_48. 1 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。(分数:-1.00)填空项 1:_49.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体 “项目”的联系属于 1 的联系。 (分数:-1.00)填空项 1:_50.数据的逻辑结构有线性结构和 1 两大类。(分数:-1.00)填空项 1:_计算机二级(C+)29 答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(
6、总题数:25,分数:1750.00)1.下列程序中画线处应填入的语句是( )。 classBase public: voidfun( )COUt“Baseoffun“endl; ; classDerived:publicBase voidfun( ) _/显示基类的成员函数 fun cout“Derivedoffun“endl; ; (分数:70.00)A.Alt+F2B.BBBBBC.随机出几个数D.文本框平均内容无变化 解析:数组在 Java 语言中是当作对象处理的,它包含一个很重要的变量 length,用来表示数组的长度。 2.下列程序的运行结果为( )。 #includeiostrea
7、mh class Location protected: int X,Y; publiC: void SeX(int myx)X=myx; void SetY(int myy)Y=myy; void showxy( ) cout“X=“ X“ “ “Y“= Y endl; ; Class Rectangle :public Location private: int H,W; public: void SetH(int myh)H=myh; void SetW(int myw) W=myw; void show( ) cout “X=“X“ “Y=“ Y“ “H=“ H“ “ “W=“ W e
8、ndl; ; void main( ) Rectangle r1; r1SetX(3); r1SetY(5); r1SetH(4); r1SetW(6); r1showxy( ); r1. show( ); (分数:70.00)A.X=3 Y=5 X=3 Y=5 H=4 W=6 B.X=3 Y=5 X=3 Y=5 H=3 W=6C.X=3 Y=5 X=3 Y=4 H=4 W=6D.X=3 Y=5 X=3 Y=3 H=4 W=6解析:本题是一道简单的成员函数应用题,考生只要按着主函数中生成的类 Rectangle 的对象 r1 进行成员函数的调用即可得到答案。3.下列哪个是 C+语言的有效标识符
9、?(分数:70.00)A.“30Not30 Or30 And30Likeb)|c) cout“true“endl; else cout“false“endl; (分数:3.00)填空项 1:_ (正确答案:True)解析:本题考查的是对于逻辑运算符号的理解,“|”运算符的任何一边取值为真, 则整个运算结果为真。 42.派生类构造函数的执行顺序是先执行 1 的构造函数,然后执行成员对象的构造 函数,最后执行 2 的构造函数。 (分数:3.00)填空项 1:_ (正确答案:基类)解析:本题主要考查的是派生类构造函数的执行顺序,在 C+语言中构造函数的执行顺序是先基类后派生类,而析构函数的执行顺序正
10、好相反,是先调用派生类后调用基类。 43.C+程序是从 1 函数开始执行的。(分数:3.00)填空项 1:_ (正确答案:main)解析:所有的 C+语言程序都是从 main 函数刀:始执行,而普通函数的存在是为了 简化 main 函数的复杂程度。 44.将 x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为 1。(分数:3.00)填空项 1:_ (正确答案:x,operator+(operator * (y,z) ))解析:C+中用成员函数重载 x * y 为:x.operator * (y),用友元函数重载 x * y 为: operator * (x,y),用成员函数重载
11、x+y 为:x.operator+(y),用友元函数重载 x+y 为:operator+(x,Y)。45.C+语言中的多态性是在编译时通过 1 和模板体现的,在运行时是通过 2 体现的。(分数:3.00)填空项 1:_ (正确答案:函数重载)解析:C+中的多态性是在编译时通过函数重载和模板体现的,在运行时是通过虚函数体现的。 46.对软件是否能达到用户所期望的要求的测试称为 1。(分数:-1.00)填空项 1:_ (正确答案:有效性测试)解析:47.软件维护活动包括以下几类:改正性维护、适应性维护、 1 维护和预防性维护。(分数:-1.00)填空项 1:_ (正确答案:完善性)解析:软件维护活
12、动包括以下几类:改正性维护、适应性维护、完善性维护和预防性维护。改正性维护是指在软件交付使用后,为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程;适应性维护是指为了使软件适应变化,而去修改软件的过程;完善性维护是指为了满足用户对软件提出的新功能与性能要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性;预防性维护是为了提高软件的可维护性、可靠性等,为以后的进一步改进软件打下良好基础。 48. 1 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。(分数:-1.00)填空项 1:_ (正确答案:封装
13、)解析:本题考查了面向对象技术中的一些基本概念。面向对象技术中包括以下几个基本概念,即对象、类、方法、消息、继承和封装,其中封装是一种信息隐蔽技术,目的在于将对象的使用者对象的和设计者分开。49.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体 “项目”的联系属于 1 的联系。 (分数:-1.00)填空项 1:_ (正确答案:一对多(或 1:N))解析:两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有 3 种,即一对一(1:1)的联系、一对多(1:N)或多对一(N:1)的联系和多对多(N:N)的联系。50.数据的逻辑结构有线性结构和 1 两大类。(分数:-1.00)填空项 1:_ (正确答案:非线性结构)解析:数据的逻辑结构有线性结构和非线性结构两大类。