1、二级 C+笔试 322 及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.C语言类体系中,不能被派生类继承的有(分数:2.00)A.转换函数B.构造函数C.虚函数D.静态成员函数2.在 C语言程序中,对象之间的相互通信通过(分数:2.00)A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于类定义 class A public: virtual void func1( ) void func2( ) ; class B: public A public: void func1( ) cout “class B func 1
2、“ endl; virtua1 void func2( ) cout “class B func 2“ endl; ; 下面正确的叙述是(分数:2.00)A.A: :func2( ) 和 B: :func1( ) 都是虚函数B.A: :func2( ) 和 B: :func1( ) 都不是虚函数C.B: :func1( ) 是虚函数,而 A: :func2( ) 不是虚函数D.B: :func1( ) 不是虚函数,而 A: :func2( ) 是虚函数4.下面程序的运行结果是 #includeiostream.h class base protected: int a; public: bas
3、e( ) cout “0“; ; class base l: virtual base public: base l ( ) cout “1“; ; class base 2: virtual base public: base2 ( ) cout “2“; ; class derived: public base 1, public base2 public: derived( ) cout “3“; ; void main( ) derive obj; cout endl; ) 0123 ) 3120 ) 0312 ) 3012(分数:2.00)A.B.C.D.5.类的析构函数是在什么时候
4、调用的?(分数:2.00)A.类创建时B.创建对象时C.删除对象时D.不自动调用6.与语句 cout endl; 不等价的是(分数:2.00)A.cout /n;B.cout /12;C.cout /xA;D.cout /0;7.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(分数:2.00)A.控制流B.加工C.数据存储D.源和潭8.继承机制的作用是(分数:2.00)A.信息隐藏B.数据封装C.定义新类D.数据抽象9.设 int a1,b2;,则(a) b 和 ab 这两个表达式的值分别为(分数:2.00)A.3,3B.3
5、,4C.4,3D.4,410.下列不是描述类的成员函数的是(分数:2.00)A.构造函数B.析构函数C.友元函数D.复制构造函数11.下面关于 C语言变量的叙述错误的是(分数:2.00)A.C语言中变量分为 auto、static、extern 和 register4 种存储类型B.自动变量和外部变量的作用域为整个程序C.内部静态变量的作用域是定义它的函数D.外部静态变量的作用域是定义它的文件12.存在定义 int a10 ,x, * pa;,若 paB.x * (a1) ;C.x * (pa1) ;D.x * 1 ;13.设有定义 int a1;float f1.2;char ca;,则下列
6、表示错误的是(分数:2.00)A.a;B.f-;C.c;D.8;14.下面程序的运行结果为 #includeiostream.h Class A static int n; public: A( ) n1; A(int num) nnum; void print( ) cout n; ; int A: :n2; void main( ) A a,b(3) ; a. print( ) ; b. print( ) ; cout endl; ) 11 ) 13 ) 23 ) 33(分数:2.00)A.B.C.D.15.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义
7、为(分数:2.00)A.publicB.protectedC.privateD.static16.一个函数功能不太复杂但要求被频繁调用,应选用(分数:2.00)A.内联函数B.重载函数C.递归函数D.嵌套函数17.下面关于运算符重载的描述错误的是(分数:2.00)A.运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构B.不是所有的运算符都可以进行重载C.运算符函数的调用必须使用关键字 operatorD.在 C语言中不可通过运算符重载创造出新的运算符18.算法的空间复杂度是指(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.
8、执行过程中所需要的存储空间19.应用数据库的主要目的是(分数:2.00)A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题D.解决数据量大的问题20.在数据结构中,与所使用的计算机无关的是数据的(分数:2.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构21.下面程序的运行结果是 #includeiostream.h int fun(int a ,int n) int result1; for(int i1;in;i) resultresult * ai ; retum result; void main( ) int a3 3,4,5; cout fun(a,3) e
9、ndl; ) 12 ) 15 ) 20 ) 60(分数:2.00)A.B.C.D.22.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(分数:2.00)A.数据库系统B.文件系统C.人工管D.数据项管理23.检查软件产品是否符合需求定义的过程称为(分数:2.00)A.确认测试B.集成测试C.验证测试D.验收测试24.下面程序的运行结果为 #includeiostream.h void swap(int tempa; ab; btemp; void main( ) int a2,b3; swap(a, b) ; cout a “,“ b
10、endl; ) 2,3 ) 3,2 ) 2,2 ) 3,3(分数:2.00)A.B.C.D.25.有如下数组声明:int num10 ;,下标值引用错误的是(分数:2.00)A.num10B.num5C.num3D.num026.下面程序的运行结果是 #includeiostream.h void main( ) int i1; while(i 8) if(i%3!2) continue; else cout i; ) 25 ) 36 ) 258 ) 369(分数:2.00)A.B.C.D.27.下面程序的运行结果为 #includeiostream.h void main( ) char a
11、3; switch(a) case3:cout “3“; case2:cout “2“;break; default:cout “1“; ) 3 ) 321 ) 31 ) 32(分数:2.00)A.B.C.D.28.结构化程序设计主要强调的是(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性29.下面关于 C语言的描述错误的是(分数:2.00)A.C语言支持数据封装B.C语言中引入友元,没有破坏封装性C.C语言允许函数名和运算符重载D.C语言支持动态联编30.用链表表示线性表的优点是(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和
12、删除操作D.数据元素的物理顺序与逻辑顺序相同31.通常拷贝构造函数的参数是(分数:2.00)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名32.下列程序的运行结果为 #includeiostream.h templateclass TT class FF TTa1,a2,a3; public: FF(TT b1,TT b2,TT b3) a1b1;a2b2;a3b3; TT Sum( ) return a1a2a3; void main( ) FF int x(int(1.1) ,2,3) ,y(int(4.2) ,5,6) ; cout x. Sum( ) y.
13、Sum( ) endl; ) 6.1 15.2 ) 6 15 ) 6 15.2 ) 6.1 15(分数:2.00)A.B.C.D.33.下列程序的运行结果为 #includeiostream.h void main( ) int a2; int ba1; cout a/b endl; ) 0.66667 ) 0 ) 0.7 ) 0.66666666(分数:2.00)A.B.C.D.34.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(分数:2.00)A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程35.在数据库设计中,将 E-R 图转换成
14、关系数据模型的过程属于(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段二、B填空题/B(总题数:14,分数:28.00)36.数据的逻辑结构有线性结构和U /U两大类。(分数:2.00)填空项 1:_37.顺序存储方法是把逻辑上相邻的节点存储在物理位置U /U的存储单元中。(分数:2.00)填空项 1:_38.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 U /U。(分数:2.00)填空项 1:_39.软件工程研究的内容主要包括:U /U技术和软件工程管理。(分数:2.00)填空项 1:_40.关系操作的特点是U /U操作。(分数
15、:2.00)填空项 1:_41.C中封装性、继承性和U /U是面向对象思想的主要特征。(分数:2.00)填空项 1:_42.下面程序的结果为U /U。 #includeiostream.h void main( ) int a1,b2; bool c1; if(ab) | | c) cout “tree“ endl; else cout “false“ endl; (分数:2.00)填空项 1:_43.下列 for 语句的循环次数为U /U。 for(int a0,b1;ba) ;(分数:2.00)填空项 1:_44.下面程序的输出结果是U /U。 #includeiostream.h voi
16、d main( ) int a6 1,2,3,4,5,6; for(int i0;i5;i) cout ai “ “; cout endl;(分数:2.00)填空项 1:_45.C程序是从U /U函数开始执行的。(分数:2.00)填空项 1:_46.假定 A 为一个类,则语句 A(A 为该类U /U函数的原型说明。(分数:2.00)填空项 1:_47.派生类构造函数的执行顺序是先执行U 12 /U的构造函数,然后执行成员对象的构造函数,最后执行U 13 /U的构造函数。(分数:2.00)填空项 1:_48.类模板不同于函数模板,类模板只可用U /U型参数。(分数:2.00)填空项 1:_49.
17、下列程序的执行结果为U /U。 #includeiostream.h void main( ) cout.fill(*) ; cout.width(10) ; cout “hello“ endl; (分数:2.00)填空项 1:_二级 C+笔试 322 答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.C语言类体系中,不能被派生类继承的有(分数:2.00)A.转换函数B.构造函数 C.虚函数D.静态成员函数解析:解析 派生类对象的数据结构是由基类中说明的数据成员和派生类中说明的数据成员共同构成,所以不能继承基类的构造函数,必须重新定义。2.
18、在 C语言程序中,对象之间的相互通信通过(分数:2.00)A.继承实现B.调用成员函数实现 C.封装实现D.函数重载实现解析:解析 对象属于某个已知的类,是类的实例,对象之间通信实际上就是通过函数传递信息,封装是把数据和操作结合在一起,继承是对于类的方法的改变和补充,重载是多态性之一。3.对于类定义 class A public: virtual void func1( ) void func2( ) ; class B: public A public: void func1( ) cout “class B func 1“ endl; virtua1 void func2( ) cout
19、“class B func 2“ endl; ; 下面正确的叙述是(分数:2.00)A.A: :func2( ) 和 B: :func1( ) 都是虚函数B.A: :func2( ) 和 B: :func1( ) 都不是虚函数C.B: :func1( ) 是虚函数,而 A: :func2( ) 不是虚函数 D.B: :func1( ) 不是虚函数,而 A: :func2( ) 是虚函数解析:解析 基类中说明的虚函数,在派生类中自然就是虚函数,所以类 B 中 func1( ) 是虚函数;而类A 中的 func2 没有被关键字 virtual 修饰,所以不是虚函数。4.下面程序的运行结果是 #in
20、cludeiostream.h class base protected: int a; public: base( ) cout “0“; ; class base l: virtual base public: base l ( ) cout “1“; ; class base 2: virtual base public: base2 ( ) cout “2“; ; class derived: public base 1, public base2 public: derived( ) cout “3“; ; void main( ) derive obj; cout endl; )
21、0123 ) 3120 ) 0312 ) 3012(分数:2.00)A. B.C.D.解析:解析 本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。5.类的析构函数是在什么时候调用的?(分数:2.00)A.类创建时B.创建对象时C.删除对象时 D.不自动调用解析:解析 析构函数可以被函数调用,也可以系统调用:函数体内的对象在函数结束时调用析构函数和使用 delete 释放对象所占有用的资源。6.与语句 cout endl; 不等价的是(分数:2.00)A.cout /n;B.cout
22、 /12;C.cout /xA;D.cout /0; 解析:解析 题干表示的是回车换行,选项 A) ,选项 B) 和选项 C) 都表示回车换行。而选项 D) 是字符串的结尾标志。7.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(分数:2.00)A.控制流 B.加工C.数据存储D.源和潭解析:解析 数据流图包括 4 个方面,即加工 (转换) (输入数据经加工变换产生输出) 、数据流(沿箭头方向传送数据的通道,一般在旁边标注数据流名) 、存储文件(数据源) (表示处理过程中存放各种数据的文件) 、源和潭(表示系统和环境的接口,
23、属系统之外的实体) 。不包括选项中的控制流。8.继承机制的作用是(分数:2.00)A.信息隐藏B.数据封装C.定义新类 D.数据抽象解析:解析 数据封装就是数据抽象,即信息隐藏;而继承是实现程序复用的基础。9.设 int a1,b2;,则(a) b 和 ab 这两个表达式的值分别为(分数:2.00)A.3,3 B.3,4C.4,3D.4,4解析:解析 单目的什运算优先级高于双目的 运算,不过抖的结合性是自右向左的,而是自左向右的,所以上面的两个表达式都是先计算 ab 的值之后,a 再自加 1。10.下列不是描述类的成员函数的是(分数:2.00)A.构造函数B.析构函数C.友元函数 D.复制构造
24、函数解析:解析 友元函数是独立于当前类的外部函数,但它可以访问该类的所有对象的成员;拷贝构造函数是使用已存在的对象初始化正在生成的对象时调用的成员函数。11.下面关于 C语言变量的叙述错误的是(分数:2.00)A.C语言中变量分为 auto、static、extern 和 register4 种存储类型B.自动变量和外部变量的作用域为整个程序 C.内部静态变量的作用域是定义它的函数D.外部静态变量的作用域是定义它的文件解析:解析 自动变量是函数体或分程序内定义的变量,它的作用域在所定义的函数体内或分程序体内。12.存在定义 int a10 ,x, * pa;,若 pa B.x * (a1) ;
25、C.x * (pa1) ;D.x * 1 ;解析:解析 本题考查的是数组和指向数组的指针之间的关系,选项 A) 中 x 是被数组 a 的第一个元素赋值,其余的都是被数组 a 的第二个元素赋值。13.设有定义 int a1;float f1.2;char ca;,则下列表示错误的是(分数:2.00)A.a;B.f-;C.c;D.8; 解析:解析 、运算符不能用于常量表达式。14.下面程序的运行结果为 #includeiostream.h Class A static int n; public: A( ) n1; A(int num) nnum; void print( ) cout n; ;
26、int A: :n2; void main( ) A a,b(3) ; a. print( ) ; b. print( ) ; cout endl; ) 11 ) 13 ) 23 ) 33(分数:2.00)A.B.C.D. 解析:解析 本题考查的是静态数据成员的使用,n 为类 A 的静态成员,即为类 A 的所有对象共有的成员,所以,当对象 b 把 n 初始化为 3 时,对象 a 的成员 n 的值也为 3(这两个 n 实际上是同一个) 。15.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为(分数:2.00)A.public B.protectedC.priv
27、ateD.static解析:解析 本题考查点为类成员的访问权限,public 关键字修饰的类成员可以被类的对象通过成员操作符“.”直接访问,protected 和 private 则不能,而 static 不能单独修饰类的成员。16.一个函数功能不太复杂但要求被频繁调用,应选用(分数:2.00)A.内联函数 B.重载函数C.递归函数D.嵌套函数解析:解析 本题考查的是内联函数的使用,它的引入是为了解决程序中函数调用的效率问题,在编译时,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体来替换。17.下面关于运算符重载的描述错误的是(分数:2.00)A.运算符重载不能改变操作数的个数、运
28、算符的优先级、运算符的结合性和运算符的语法结构B.不是所有的运算符都可以进行重载C.运算符函数的调用必须使用关键字 operator D.在 C语言中不可通过运算符重载创造出新的运算符解析:解析 例如“: :”运算符就不能被重载;通过重载可以创造新的运算方式,但是不能臆造新的运算符;定义的时候必须使用关键字 operator,而调用时可直接使用运算符。18.算法的空间复杂度是指(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行过程中所需要的存储空间 解析:解析 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所
29、需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。19.应用数据库的主要目的是(分数:2.00)A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题 D.解决数据量大的问题解析:解析 数据库中的数据具有“集成”与“共享”的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项 C) 正确。20.在数据结构中,与所使用的计算机无关的是数据的(分数:2.00)A.存储结构B.物理结构C.逻辑结构 D.物理和存储结构解析:解析 数据结构概念一般包括 3 个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结
30、构只抽象地反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。21.下面程序的运行结果是 #includeiostream.h int fun(int a ,int n) int result1; for(int i1;in;i) resultresult * ai ; retum result; void main( ) int a3 3,4,5; cout fun(a,3) endl; ) 12 ) 15 ) 20 ) 60(分数:2.00)A.B.C. D.解析:解析 for 循环执行 2 次,所以第一次 for 循环为 result1 * a1 4,第二次 for 循环为re
31、sult4 * a2 20。22.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(分数:2.00)A.数据库系统 B.文件系统C.人工管D.数据项管理解析:解析 人工管理阶段是在 20 世纪 50 年代中期以前出现的,数据不独立,完全依赖于程序;文件系统是数据库系统发展的初级阶段,数据独立性差;数据库系统具有高度的物理独立性和一定的逻辑独立性。23.检查软件产品是否符合需求定义的过程称为(分数:2.00)A.确认测试 B.集成测试C.验证测试D.验收测试解析:解析 确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规格说明中
32、确定的各种需求;集成测试的主要目的是发现与接口有关的错误。24.下面程序的运行结果为 #includeiostream.h void swap(int tempa; ab; btemp; void main( ) int a2,b3; swap(a, b) ; cout a “,“ b endl; ) 2,3 ) 3,2 ) 2,2 ) 3,3(分数:2.00)A.B.C.D. 解析:解析 本题考查的是引用调用,因为函数 swap 引用调用参数 a,所以在 swap 函数中 a 的变化会改变主函数中 a 的值,即 a 自加 1,但 b 的值并未改变。25.有如下数组声明:int num10 ;
33、,下标值引用错误的是(分数:2.00)A.num10 B.num5C.num3D.num0解析:解析 数组定义中的数字指的是数组的大小,而下标是从 0 开始的,所以题中数组的最后一个元素是 num9 。26.下面程序的运行结果是 #includeiostream.h void main( ) int i1; while(i 8) if(i%3!2) continue; else cout i; ) 25 ) 36 ) 258 ) 369(分数:2.00)A.B.C. D.解析:解析 应该先做运算,然后进行%运算,最后比较不等式,实际上最后输出的结果就是被 3除,余数为 2 的不大于 8 的数。
34、27.下面程序的运行结果为 #includeiostream.h void main( ) char a3; switch(a) case3:cout “3“; case2:cout “2“;break; default:cout “1“; ) 3 ) 321 ) 31 ) 32(分数:2.00)A.B.C.D. 解析:解析 本题主要考查的是 switch 语句的使用,在第一个 case 处,因为满足条件所以输出字符 3,但这个分支没有 break 语句终止,所以会继续执行下面的分支语句,即输出字符 2,这时出现 break语句,结束整个语句,即输出 32。28.结构化程序设计主要强调的是(分
35、数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性 解析:解析 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用 goto语句,总的来说可使程序结构良好、易读、易理解、易维护。29.下面关于 C语言的描述错误的是(分数:2.00)A.C语言支持数据封装B.C语言中引入友元,没有破坏封装性 C.C语言允许函数名和运算符重载D.C语言支持动态联编解析:解析 数据封装就是数据抽象;友元可以访问类中的所有成员,是面向对象的一个重要特征,但是破坏了封装性;重载和动态联编都是面向对象的另一个特点多态性。30.用链表表示线性表的优点是(分数:2.00)
36、A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作 D.数据元素的物理顺序与逻辑顺序相同解析:解析 链式存储结构克服了顺序存储结构的缺点:它的节点空间可以动态申请和释放;它的数据元素的逻辑次序靠节点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。31.通常拷贝构造函数的参数是(分数:2.00)A.某个对象名B.某个对象的成员名C.某个对象的引用名 D.某个对象的指针名解析:解析 复制初始化构造函数的作用是用一个已知的对象来初始化一个被创建的同类的对象,该函数只有一个参数,并且是对同类的某个对象的引用。32.下列程序的运行结果为 #includei
37、ostream.h templateclass TT class FF TTa1,a2,a3; public: FF(TT b1,TT b2,TT b3) a1b1;a2b2;a3b3; TT Sum( ) return a1a2a3; void main( ) FF int x(int(1.1) ,2,3) ,y(int(4.2) ,5,6) ; cout x. Sum( ) y. Sum( ) endl; ) 6.1 15.2 ) 6 15 ) 6 15.2 ) 6.1 15(分数:2.00)A.B. C.D.解析:解析 本题考查模板函数的应用,表达式 int(1.1) 和 int(4.2
38、) 是将 1.1 和 4.2 强制转换为整型。33.下列程序的运行结果为 #includeiostream.h void main( ) int a2; int ba1; cout a/b endl; ) 0.66667 ) 0 ) 0.7 ) 0.66666666(分数:2.00)A.B. C.D.解析:解析 表达式值的类型是由操作数的类型决定的,因为本题的两个数都是 int 型的,所以得出的结果也为 int 型,即去掉小数点后的部分,只取商的整数部分。34.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(分数:2.00)A.模块间的关系B.系统结构部件转换成软件的过程描
39、述 C.软件层次结构D.软件开发过程解析:解析 软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程描述。35.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于(分数:2.00)A.需求分析阶段B.逻辑设计阶段 C.概念设计阶段D.物理设计阶段解析:解析 E-R 模型即实体-联系模型,是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们之间的两种连接关系。数据库逻辑
40、设计阶段包括以下几个过程:从 E-R 图向关系模式转换,逻辑模式规范化及调整、实现规范化和 RDBMS,以及关系视图设计。二、B填空题/B(总题数:14,分数:28.00)36.数据的逻辑结构有线性结构和U /U两大类。(分数:2.00)填空项 1:_ (正确答案:非线性结构)解析:解析 数据的逻辑结构有线性结构和非线性结构两大类。37.顺序存储方法是把逻辑上相邻的节点存储在物理位置U /U的存储单元中。(分数:2.00)填空项 1:_ (正确答案:相邻)解析:解析 常用的存储表示方法有 4 种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储的方法是把逻辑上相邻的节点存储在物理位置也相
41、邻的存储单元中。38.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 U /U。(分数:2.00)填空项 1:_ (正确答案:可重用性)解析:解析 本题考查了继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。39.软件工程研究的内容主要包括:U /U技术和软件工程管理。(分数:2.00)填空项 1:_ (正确答案:软件开发)解析:解析 基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。
42、软件工程管理包括:软件管理学、软件工程经济学,以及软件心理学等内容。40.关系操作的特点是U /U操作。(分数:2.00)填空项 1:_ (正确答案:集合)解析:解析 在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元数相同的元组的集合。因此,关系操作的特点是集合操作。41.C中封装性、继承性和U /U是面向对象思想的主要特征。(分数:2.00)填空项 1:_ (正确答案:多态性)解析:解析 面向对象系统包含了 3 个特征封装性、继承性和多态性,这 3 个特征可以很好地实现数据抽象,进行行为共享,完成进化求解和描述一个系统的确定行为。42.下面程序的结果为U /U。 #include
43、iostream.h void main( ) int a1,b2; bool c1; if(ab) | | c) cout “tree“ endl; else cout “false“ endl; (分数:2.00)填空项 1:_ (正确答案:true)解析:解析 本题考查的是对于逻辑运算符号的理解,“ | ”运算符的任何一边取值为真,则整个运算结果为真。43.下列 for 语句的循环次数为U /U。 for(int a0,b1;ba) ;(分数:2.00)填空项 1:_ (正确答案:5)解析:解析 因为 b 的值为 1,所以 b for(int i0;i5;i) cout ai “ “;
44、cout endl;(分数:2.00)填空项 1:_ (正确答案:1 2 3 4 5)解析:解析 本题考查的是考生使用简单循环输出数组元素的能力,因为结束条件是 i5,而 i 初始值为 0,所以只会输出前 5 个元素。45.C程序是从U /U函数开始执行的。(分数:2.00)填空项 1:_ (正确答案:main)解析:解析 所有的 C语言程序都是从 main 函数开始执行的,而普通函数的存在是为了简化 main函数的复杂程度。46.假定 A 为一个类,则语句 A(A 为该类U /U函数的原型说明。(分数:2.00)填空项 1:_ (正确答案:拷贝构造)解析:解析 本题考查的是拷贝构造函数的定义,它是一种特殊的成员函数,作用是使用一个已知的对象来初始化一个被创建的同类的对象,定义格式是类名: :拷贝构造函数名(类名 cout.width(10) ; cout