1、计算机二级(C+)4 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:25,分数:1750.00)1.下面的哪个选项不能作为函数的返回类型?(分数:70.00)A.voidB.intC.newD.long2.有如下程序 #includeiostreamh void main( ) float x=20,y; if(x00)y=00; else if(x100)y=10/x; else y=10; cout y; 该程序的输出结果是( )。 (分数:70.00)A.0B.0.25C.0.5D.1.03.决定 C+语言中函数的返回值类
2、型的是( )。(分数:70.00)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型4.关于虚函数下面说的正确的是(分数:70.00)A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问5.假定 int类型变量占用两个字节,其有定义 int x l0= 0,2,4 ;,则数组 x在内存中所占字节数是( )。(分数:70.00)A.3B.6C.10D.206.下面程序的执行结果是
3、( )。 #include“ iostreamh“ void main( ) int * p,r; p=new in; * p=20; r=sizeof(* p); cout r end1; delete p; (分数:70.00)A.程序错误B.内存为 20地址的大小C.20D.47.以下定义数组中错误的是( )。(分数:70.00)A.int a10;B.int a220;C.int a20 ;D.iht a ;8.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。(分数:70.00)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类
4、的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针9.C+语言中,表示一条语句结束的标号是( )。(分数:70.00)A.#B.;C./D.10.建立派生类对象时,3 种构造函数分别是 a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这 3种构造函数的调用顺序为( )。 (分数:70.00)A.数据库管理系统、数据库应用系统B.数据库管理系统C.数据库应用系统、数据库管理系统、操作系统D.数据库应用系统11.下面关于 C+语言的描述错误的是( )。(分数:70.00)A.C+语言支持数据封装B.C+语言中引入友元没有破坏封装性C.C+语言允许函数名
5、和运算符重载D.C+语言支持动态联编12.C+语言中类定义中默认的访问权限是( )。(分数:70.00)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员13.下列程序中画线处应填入的语句是( )。 classBase public: voidfun( )COUt“Baseoffun“endl; ; classDerived:publicBase voidfun( ) _/显示基类的成员函数 fun cout“Derivedoffun“endl; ; (分数:70.00)A.fun( );B.Base.fun( );C.Base:fun( );D.Base
6、-fun( );14.设有数组定义:chararray:“China“;,则数组 array所占的空间为( )。(分数:70.00)A.循环执行 10次B.无限循环C.循环体语句一次也不执行D.循环体浯句执行一次15.以下哪个基类中的成员函数表示纯虚函数?(分数:70.00)A.4B.-4C.32004D.016.如果表达式+x/y 中,+是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为( )。(分数:70.00)A.抽象类就是其中有函数定义但没有实现的类B.抽象类是可以被实例化的C.派生类不能成为抽象类D.抽象类的子类必须实现父类中的纯虚函数17.一个类的友元函数能够访问该类的
7、( )。(分数:70.00)A.私有成员B.保护成员C.公有成员D.所有成员18.以下各选项组中,均是 C+语言关键字的组是( )。(分数:70.00)A.无法引用,必须更名使两者名字不同B.在实例变量加关键字 thisC.在实例变量加关键字 superD.不影响,系统可以自己区分19.C+语言类体系中,不能被派生类继承的有( )。(分数:70.00)A.a,point,* &aB.& * a,&a,* pointC.* &point,* point,&aD.&a,& * point,point20.设有定义 int a=1;float f=12;charc=a;,则下列表示错误的是( )。(
8、分数:70.00)A.+a;B.f-;C.c+;D.8+;21.若定义 intk=7,x=12;,则能使值为 3的表达式是( )。(分数:70.00)A.Alt+F2B.ablC.随机出儿个数D.不发生变化22.类的析构函数的作用是( )。(分数:70.00)A.一般成员函数的初始化B.类的初始化C.对象的初始化D.删除类创建的对象23.下列关于多态性的描述,错误的是( )。(分数:70.00)A.C+语言中的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态绑定24.若有如下语句 #inclu
9、deiostreamh void main( ) int x=3; do x=x-2; cout x; while(!(-X); 则上面程序段( )。 (分数:70.00)A.输出的是 1B.输出的是 1和-2C.输出的是 3和 0D.是死循环25.有以下程序 #includeiostreamh void main( ) int a=5,b=0,c=0; if(a=b+c) cout“* * *“ endl; else cout“$“endl; 下列选项叙述正确的是( )。 (分数:70.00)A.abcB.acbC.cabD.cba26.下列叙述中,不属于软件需求规格说明书的作用的是( )。
10、(分数:-1.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析27.需求分析阶段的任务是确定( )。(分数:-1.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能28.在软件生产过程中,需求信息的给出是( )。(分数:-1.00)A.程序员B.项目管理者C.软件分析设计人员D.软件用户29.为了提高测试的效率,应该( )。(分数:-1.00)A.随机选取测试数据B.取一切可能的输人数据作为测试数据C.在完成编码以后制定软件的测试计划D.集中对付那些错误群集的程序30
11、.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是( )。(分数:-1.00)A.acbedB.decabC.deabcD.cedba31.下列 4项中说法不正确的是( )。(分数:-1.00)A.数据库减少了数据冗余B.数据库中的数据可以共享C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性32.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示( )。(分数:-1.00)A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向33.数据库的故障恢复一般是由( )。(分数:-1.00)A.数据流图完成的B.数据字典
12、完成的C.DBA完成的D.PAD图完成的34.数据处理的最小单位是( )。(分数:-1.00)A.数据B.数据元素C.数据项D.数据结构35.软件生命周期中花费时间最多的阶段是( )。(分数:-1.00)A.详细设计B.软件编码C.软件测试D.软件维护三、填空题(每空 2分,共 30分)(总题数:10,分数:30.00)36.以下程序输出的结果是 1。 #includeiostream.h voidmain( ) inta=5,b=4,c=3,d; d=(abc); coutd; (分数:3.00)填空项 1:_37.继承的方式有公有继承、私有继承和 13 种。(分数:3.00)填空项 1:_
13、38.如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的 1 函数。(分数:3.00)填空项 1:_39.coutput(A);,还可以表示为 1。(分数:3.00)填空项 1:_40.表达式 operator + (x,y)还可以表示为 1。(分数:3.00)填空项 1:_41.友元类的所有成员函数都是另一个类的 1。(分数:3.00)填空项 1:_42.构造函数是和 1 同名的函数。(分数:3.00)填空项 1:_43.开发一个 C+语言程序的步骤通常包括编辑、 1、链接、运行和调试。(分数:3.00)填空项 1:_44.表达式 xoperator+(yoperator+
14、(0) )还可以写成 1。(分数:3.00)填空项 1:_45.假设 int a=1,b=2;,则表达式(+a/b)*b-的值为 1。(分数:3.00)填空项 1:_46.件维护活动包括以下几类:改正性维护、适应性维护、 1 维护和预防性维护。(分数:-1.00)填空项 1:_47.软件设计模块化的目的是 1。(分数:-1.00)填空项 1:_48.Jackson结构化程序设计方法是英国的 M.Jackson提出的,它是一种面向 1 的设 计方法。 (分数:-1.00)填空项 1:_49.数据的基本单位是 1。(分数:-1.00)填空项 1:_50.用链表表示线性表的突出优点是 1。(分数:-
15、1.00)填空项 1:_计算机二级(C+)4 答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:25,分数:1750.00)1.下面的哪个选项不能作为函数的返回类型?(分数:70.00)A.voidB.intC.new D.long解析:new 是动态申请内存空间时使用的关键字,不能作为函数的返回 类型,选项 A)为无返回值,选项B)为返回整型,选项 D)为返回长整型。NULL2.有如下程序 #includeiostreamh void main( ) float x=20,y; if(x00)y=00; else if(x100)y
16、=10/x; else y=10; cout y; 该程序的输出结果是( )。 (分数:70.00)A.0B.0.25C.0.5 D.1.0解析:本题考查 if语句的使用方法。该表达式的语句是 if(表达式 1) 语句 1 else if(表达式 2) 语句 2 else if(表达式 3) 语句 3 else 语句 4 由 if表达式可知,题中直接执行 if语句的第 2条 else if(x100)y=1O/x;。 3.决定 C+语言中函数的返回值类型的是( )。(分数:70.00)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义
17、该函数时所指定的数据类型 解析:C+语言中,在定义该函数时所指定的数据类型决定函数的返回值类型。4.关于虚函数下面说的正确的是(分数:70.00)A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问解析:对象是属性、方法和事件的集成,所以选项 A)说法正确;例如 Print 方法是用来输出字符串、变量和表达式的值,也就是完成输出的这一功能,所以选项 D)的说法正确;在执行方法时,不必考虑实现输出的具体步骤,方法的步骤是系统预先规定好的,所以选项 B)说法正确
18、。5.假定 int类型变量占用两个字节,其有定义 int x l0= 0,2,4 ;,则数组 x在内存中所占字节数是( )。(分数:70.00)A.3B.6C.10D.20 解析:x 数组共有 10个元素,在花括弧内只提供 3个初值,这表示只给前面的 3个成员赋值,后 7个元素的值为 0,所以,一共有 20个字节。6.下面程序的执行结果是( )。 #include“ iostreamh“ void main( ) int * p,r; p=new in; * p=20; r=sizeof(* p); cout r end1; delete p; (分数:70.00)A.程序错误B.内存为 20
19、地址的大小C.20D.4 解析:本题考查指针和运算符 sizeof的运用。理解 sizeof的用法,它可以运算出各种数据类型所占内存空间的多少。注意:选项 C)中是指针 p所指向的内存地址中内容是 20。7.以下定义数组中错误的是( )。(分数:70.00)A.int a10;B.int a220;C.int a20 ; D.iht a ;解析:本题考查数组的定义方法。二维数面的二维不能省略。8.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。(分数:70.00)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中
20、的成员 D.派生类的对象的地址可以赋给指向基类的指针解析:公有继承的派生类和基类是子类型的关系,所谓子类型是类型间一般和特殊的关系,即派生类是基类的子类型或者说基类的操作可以被用于操作派生类的对象。9.C+语言中,表示一条语句结束的标号是( )。(分数:70.00)A.#B.; C./D.解析:C+语言中语句的结束符是分号。10.建立派生类对象时,3 种构造函数分别是 a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这 3种构造函数的调用顺序为( )。 (分数:70.00)A.数据库管理系统、数据库应用系统B.数据库管理系统C.数据库应用系统、数据库管理系统、操作系统 D
21、.数据库应用系统解析:纵栏式报表是在一页中主体节内显示一条或多条信息,而且以垂直方式显示。11.下面关于 C+语言的描述错误的是( )。(分数:70.00)A.C+语言支持数据封装B.C+语言中引入友元没有破坏封装性 C.C+语言允许函数名和运算符重载D.C+语言支持动态联编解析:数据封装就是数据抽象;友元可以访问类中的所有成员,是面向对 象的一个重要特征,但是破坏了封装性;重载和动态联编都是面向对象的另一个特点- 多态性。12.C+语言中类定义中默认的访问权限是( )。(分数:70.00)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员 解析:A)选项
22、指必须输入数字 09,B)选项指所有字符转换为小写,C)选项指所有字符转换为大写。13.下列程序中画线处应填入的语句是( )。 classBase public: voidfun( )COUt“Baseoffun“endl; ; classDerived:publicBase voidfun( ) _/显示基类的成员函数 fun cout“Derivedoffun“endl; ; (分数:70.00)A.fun( );B.Base.fun( );C.Base:fun( ); D.Base-fun( );解析:如果在于类中要访问父类的函数应用“:”运算符。14.设有数组定义:chararray:
23、“China“;,则数组 array所占的空间为( )。(分数:70.00)A.循环执行 10次B.无限循环C.循环体语句一次也不执行 D.循环体浯句执行一次解析:当自加运算符做后缀表达式的时候,表达式的值不变,只有变量的值增 1,所以表达式(x+*2/3)相当于(11*2/3)取整后为 7。15.以下哪个基类中的成员函数表示纯虚函数?(分数:70.00)A.4 B.-4C.32004D.0解析:x 数组共有 10个元素,在花括弧内只提供 3个初值,这表示只给前面的 3个成员赋值,后 7个元素的值为 0,所以,一共有 20个字节。16.如果表达式+x/y 中,+是作为友元函数重载的,/是作为成
24、员函数重载的,则该表达式还可为( )。(分数:70.00)A.抽象类就是其中有函数定义但没有实现的类B.抽象类是可以被实例化的C.派生类不能成为抽象类D.抽象类的子类必须实现父类中的纯虚函数 解析:java 有四种访问类型,分别为 public,protected,default 和 private,其 中 public变量可以被所有的外部类访问,而 pretected变量可以被同一个包及该类的子类 访问,default 变量即没有任何修饰符的变量可以被同一个包中的类访问,而 private变量 只能在被该类内部被访问。题目中的外部类应该理解为除该类自身的其他类。17.一个类的友元函数能够访问
25、该类的( )。(分数:70.00)A.私有成员B.保护成员C.公有成员D.所有成员 解析:一个类的友元函数对类成员的访问能力等同于类的成员函数,即能访问类的所有成员。 18.以下各选项组中,均是 C+语言关键字的组是( )。(分数:70.00)A.无法引用,必须更名使两者名字不同B.在实例变量加关键字 this C.在实例变量加关键字 superD.不影响,系统可以自己区分解析:通用型字段类型用于标记电子表格、文档、图片等 OLE对象,备注型字段类型用来存放不定长的字符型文本。19.C+语言类体系中,不能被派生类继承的有( )。(分数:70.00)A.a,point,* &aB.& * a,&
26、a,* pointC.* &point,* point,&aD.&a,& * point,point 解析:本题考查字符串数组和指针的引用方式。在 C+语言中,系统在每个字符串或数组的最后自动加入一个字符/0,作为字符的结束标志,在本题中,char a =“It is mine”;所表示的。字符串实际含有 11个字符。20.设有定义 int a=1;float f=12;charc=a;,则下列表示错误的是( )。(分数:70.00)A.+a;B.f-;C.c+;D.8+; 解析:+,-运算符不能用于常量表达式。21.若定义 intk=7,x=12;,则能使值为 3的表达式是( )。(分数:7
27、0.00)A.Alt+F2B.ablC.随机出儿个数D.不发生变化 解析: 此题是有关 KeyDown事件的题目,KeyDown 是当一个键被按下时所产生的事件,而 KeyUp是松开被按的键时产生的事件,如果要判断是否按下了某个转换键,可以用逻辑运算符 And。例如:先定义了下面 3个符号常量:Const Shift=1,Const Ctrl=2,Const Alt=4;然后用下面的语句判断是否按下Shift、Ctrl、Alt 键; 如果 Shift And Shift 0,则按下了 Shift键; 如果 Shift And Ctrl 0,则按下了 Ctrl键; 如果 Shift And Al
28、t 0,则按下了 Alt键; 这里的 Shift时 KeyDown的第二个参数;此事件过程中的 If后的条件语句如果为真, 则是按下了 Alt+F2,而本题目中是按下了 Shift+F2,所以不执行 Then语句,即文本框的内容无变化。 22.类的析构函数的作用是( )。(分数:70.00)A.一般成员函数的初始化B.类的初始化C.对象的初始化D.删除类创建的对象 解析:析构函数就是用来释放对象的,它的调用完成之后,对象也就消失了,相应的内存空间也被释放了。23.下列关于多态性的描述,错误的是( )。(分数:70.00)A.C+语言中的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性
29、可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现 D.实现运行时多态性的机制称为动态绑定解析:编译时的多态性是通过函数重载和模板体现的,运行时的多态性是通过虚函数体现的。24.若有如下语句 #includeiostreamh void main( ) int x=3; do x=x-2; cout x; while(!(-X); 则上面程序段( )。 (分数:70.00)A.输出的是 1B.输出的是 1和-2 C.输出的是 3和 0D.是死循环解析:do-while 语句的一般格式为 do循环体语句 while(表达式);,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环
30、,否则终止循环。本题中,先执行 x=x-2,即为 1。判断表达式的值,!(-x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式的值为 0,结束循环。25.有以下程序 #includeiostreamh void main( ) int a=5,b=0,c=0; if(a=b+c) cout“* * *“ endl; else cout“$“endl; 下列选项叙述正确的是( )。 (分数:70.00)A.abc B.acbC.cabD.cba解析:进行空值查询时,要使用“IS NULL”,而“=NULL”是无效的,因为空值不是一个确定的值,所以不能使用“=”这样的运算符进行
31、比较。26.下列叙述中,不属于软件需求规格说明书的作用的是( )。(分数:-1.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析 解析:软件需求规格说明书(SRS,Software Requirement Specification)是需求分析阶段的最后成果,是软件 开发中的重要文 档之一。它有以下几个方面的作用:便于用户、开发人员进行理解和交流;反映出用户问题的结 构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。27.需求分析阶段的任务是确定( )。(分数:-1.00)
32、A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能 解析:需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。注意:选项 A)软件开发方法是在总体阶段完成任务;选项 B)软件开发工具是在实现阶段需完成的任务;选项 C)软件开发费用是在可行性研究阶段需完砀任务。28.在软件生产过程中,需求信息的给出是( )。(分数:-1.00)A.程序员B.项目管理者C.软件分析设计人员D.软件用户 解析:软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方
33、面的期望。29.为了提高测试的效率,应该( )。(分数:-1.00)A.随机选取测试数据B.取一切可能的输人数据作为测试数据C.在完成编码以后制定软件的测试计划D.集中对付那些错误群集的程序 解析:测试的目的是发现软件中的错误。经验表明,程序中存在错误的概率与该程序中已发现的错误数成正比。这一现象说明,为了提高测试效率,测试人员应该集中对付那些错误群集的程序。30.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是( )。(分数:-1.00)A.acbedB.decabC.deabcD.cedba 解析:依据后序遍历序列可确定根结点为 c;再依据中序遍历序列可
34、知其左子树由 deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为 e,由中序遍历序列可知其左子树为 d,右子树由 ba构成,如图 9-14所示。求得该二叉树的前序遍历序列为选项 D)。31.下列 4项中说法不正确的是( )。(分数:-1.00)A.数据库减少了数据冗余B.数据库中的数据可以共享C.数据库避免了一切数据的重复 D.数据库具有较高的数据独立性解析:数据库系统具有以下几个特点,一是数据的集成性、二是数据的高共享性与低冗余性、三是数据的独立性,四是数据统一管理与控制。32.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示( )。(分数:-1.00)A.模块之
35、间的调用关系 B.程序的组成成分C.控制程序的执行顺序D.数据的流向解析:常用的软件结构设汁工具是结构图(SC-Structure chart),也称程序结构图。其中,矩形内用于注明模块的功能和名字;箭头表示模块间的调用关系,带实心圆的箭头表示传递的是控制信息,带空心圆的箭头表示传递的是数据。33.数据库的故障恢复一般是由( )。(分数:-1.00)A.数据流图完成的B.数据字典完成的C.DBA完成的 D.PAD图完成的解析:一旦数据库中的数据遭受破坏,需要及时进行恢复,RDBMS 一般都提供此种功能,并由 DBA负责执行故障恢复功能。34.数据处理的最小单位是( )。(分数:-1.00)A.
36、数据B.数据元素C.数据项 D.数据结构解析:数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。故正确答案为选项 C)。 35.软件生命周期中花费时间最多的阶段是( )。(分数:-1.00)A.详细设计B.软件编码C.软件测试D.软件维护 解析:软件生命周期分为软件定义、软件开发及软件运行维护 3个所段。本题中,详细设计、软什编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性降低维护的代价。三、
37、填空题(每空 2分,共 30分)(总题数:10,分数:30.00)36.以下程序输出的结果是 1。 #includeiostream.h voidmain( ) inta=5,b=4,c=3,d; d=(abc); coutd; (分数:3.00)填空项 1:_ (正确答案:0)解析:本题的关键在于对变量 c的赋值运算: d=(abc) d=(543) 先算 54,为真,得 1,即:d=(13),此时 13,为假,得 0。 37.继承的方式有公有继承、私有继承和 13 种。(分数:3.00)填空项 1:_ (正确答案:保护继承)解析:继承性是面向对象程序设计中最重要的机制,用户可以根据不同的需
38、要选择 3种不同的继承方式。38.如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的 1 函数。(分数:3.00)填空项 1:_ (正确答案:内联)解析:本题考查内联函数与宏定义的区别。C+中的成员函数如果它的实现写在了类中,那么该函数就是一个内联函数。39.coutput(A);,还可以表示为 1。(分数:3.00)填空项 1:_ (正确答案:coutA;)解析:本题考查的是 C+语言的流输出操作。cout 是 c+语言定义好的输出流对 象,其中包括成员函数put(char c),其功能是输出一个字符到屏幕,实际上 C+语言中 已经重载了操作符“ ”作为流输出操作符。40.
39、表达式 operator + (x,y)还可以表示为 1。(分数:3.00)填空项 1:_ (正确答案:x+y)解析:本题考查的是运算符函数的调用,可以像一般函数那样用函数名进行调用,也可通过运算符构成表达式的形式进行调用。41.友元类的所有成员函数都是另一个类的 1。(分数:3.00)填空项 1:_ (正确答案:友元函数)解析:C+语言中友元类中的函数都是另一个类的友元函数。42.构造函数是和 1 同名的函数。(分数:3.00)填空项 1:_ (正确答案:类)解析:C+语言中的构造函数就是在类中定义的和类名一样的函数。43.开发一个 C+语言程序的步骤通常包括编辑、 1、链接、运行和调试。(
40、分数:3.00)填空项 1:_ (正确答案:编译)解析:c+语言是以编译方式实现的高级语言,C+语言程序的实现,必须要使用 某种 C+语言的编译器对程序进行编译。 44.表达式 xoperator+(yoperator+(0) )还可以写成 1。(分数:3.00)填空项 1:_ (正确答案:x+y+或 x+(y+))解析:因为 yoperator+(0)是对成员 y重载运算符,所以是成员重载,在参数表中又有一个参数,是重载后缀+,即是 x+(y+)。45.假设 int a=1,b=2;,则表达式(+a/b)*b-的值为 1。(分数:3.00)填空项 1:_ (正确答案:2)解析:运算符+的优先
41、级高于双目运算符/,所以括号中的运算为 2/2,最后的结果为 2/2*2。46.件维护活动包括以下几类:改正性维护、适应性维护、 1 维护和预防性维护。(分数:-1.00)填空项 1:_ (正确答案:完善性)解析:软件维护活动包括以下几类:改正性维护、适应性维护、完善性维护和预防性维护。改正性维护是指在软件交付使用后,为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程;适应性维护是指为了使软件适应变化,而去修改软件的过程;完善性维护是指为了满足用户对软件提出的新功能与性能要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率,提高软
42、件的可维护性;预防性维护是为了提高软件的可维护性、可靠性等,为以后的进一步改进软件打下良好基础。 47.软件设计模块化的目的是 1。(分数:-1.00)填空项 1:_ (正确答案:降低复杂性)解析:模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程,由此分解来降低复杂性。48.Jackson结构化程序设计方法是英国的 M.Jackson提出的,它是一种面向 1 的设 计方法。 (分数:-1.00)填空项 1:_ (正确答案:数据结构)解析:结构化分析方法主要包括:面向数据流的结构化分析方法(SA-Structured analysis),面向数据结构的 Jackson方法(
43、JSD-Jackson system development method)和面向数据结构的结构化数据系统开发方法(DSSD-Data structured system development method)。 49.数据的基本单位是 1。(分数:-1.00)填空项 1:_ (正确答案:数据元素)解析:数据(Data)实际上就是描述事物的符号记录。50.用链表表示线性表的突出优点是 1。(分数:-1.00)填空项 1:_ (正确答案:便于插入和删除操作)解析:为了克服顺序表中插入和删除时需要移动大量数据元素的缺点,引入了链式存储结构。链表表示线性表的突出优点是插入和删除操作方便,不必移动数据元素,执行效率高。