ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:78KB ,
资源ID:1329626      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1329626.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】全国计算机等级考试二级C++真题2005年9月及答案解析.doc)为本站会员(figureissue185)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】全国计算机等级考试二级C++真题2005年9月及答案解析.doc

1、全国计算机等级考试二级 C+真题 2005年 9月及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列叙述中正确的是(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试2.下列数据结构中,能用二分法进行查找的是(分数:2.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表3.下列关于栈的描述正确的是(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或

2、删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素4.下列叙述中正确的是(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可有多种存储结构,且各种存储结构影响数据处理的效率5.下列描述中正确的是(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题6.在软件设计中,不属于过程设计工具

3、的是(分数:2.00)A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图7.下列叙述中正确的是(分数:2.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令8.数据库设计的根本目标是要解决(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护9.设有如下关系表: (分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S10.数据库系统的核心是(分数:2.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员11.下列关于 C+函数的叙

4、述中,正确的是(分数:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明D.函数不能自己调用自己12.下列关于类和对象的叙述中,错误的是(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系13.在 C+中,用于实现运行时多态性的是(分数:2.00)A.内联函数B.重载函数C.模板函数D.虚函数14.下列关于运算符重载的叙述中,正确的是(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载C.若重载运算符+,则相应的运算符函数名是+

5、D.重载一个二元运算符时,必须声明两个形参15.下列关于模板的叙述中,错误的是(分数:2.00)A.模板声明中的第一个符号总是关键字 templaleB.在模板声明中用括起来的部分是模板的形参表C.类模板不能有数据成员D.在一定条件下函数模板的实参可以省略16.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是(分数:2.00)A.“cout”是一个输出流对象B.“endl“的作用是输出回车换行C.“x”是一个变量D.“”称作提取运算符17.下列字符串中,正确的 C+标识符是(分数:2.00)A.foo-1B.2bC.newD.-25618.已知枚举类型定义语句为: enum

6、TokenNAMB,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列叙述中错误的是(分数:2.00)A.枚举常量 NAME的值为 1B.枚举常量 NUMBER的值为 1C.枚举常量 MINUS的值为 6D.枚举常量 PRINT的值为 1019.执行语句序列 iht i=0;while(i25)i+=3;couti; 输出结果是(分数:2.00)A.24B.25C.27D.2820.要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是(分数:2.00)A.int vect =30,50,-88;B.in

7、t veer =30,50,-88,0,0;C.int vect5=30,50,-88;D.int vect5=30,50,-88,0,0;21.有如下程序: #includeiostream void fun(intx=y;y=t; int main() int a2=23,42; fun(a1,a0; std:couta0“,“a1std:ndl; return 0; 执行后的输出结果是(分数:2.00)A.42,42B.23,23C.23,42D.42,2322.有如下类声明: class Foo int bar; ; 则 Foo类的成员 bar是(分数:2.00)A.公有数据成员B.公

8、有成员函数C.私有数据成员D.私有成员函数23.有如下类声明: class MyBASE int k; public: void set(iht n)k=n; int get()coastreturn k; ; class MyDERIVED:pnoted My BASE protected: int j; public: void set(int m,int n)MyBASE:set(m);j=n; int get()constreturn MyBASE:get()+j; ; 则类 MyDERIVED中保护的数据成员和成员函数的个数是(分数:2.00)A.4B.3C.2D.125.有如下函数

9、模板定义: templateclass t T func(Tx,Ty)return x*x+y*y; 在下列对 func的调用中,错误的是(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5);D.funcint(3,5.5)26.有如下程序: #includeiostream using namespace std; int main() cout.fill(*) cout.width(6); cout.fill(#) cout123endl; return 0; 执行后的输出结果是(分数:2.00)A.#123B.123#C.*123D.123

10、*27.在下列函数原型中,可以作为类 AA构造函数的是(分数:2.00)A.void AA(in;B.int AA();C.AA(inconst;D.AA(in;28.下列关于 this指针的叙述中,正确的是(分数:2.00)A.任何与类相关的函数都有 this指针B.类的成员函数都有 this指针C.类的友元函数都有 this指针D.类的非静态成员函数才有 this指针29.有如下程序: #includeiostream using namespace std; class Test public: Test()n+=2; Test()n-=3; static int getNum()ret

11、urn n; private: static int n; ; int Tesl:n=1 int main() Test*p=new Test; delete p; cout“n=“Tes:tgetNum()endl; return 0; 执行后的输出结果是(分数:2.00)A.n=0B.n=1C.n=2D.n=330.有如下程序: #includeiostream using namespace std; class A public: A()cout“A“; ;class Bpublic:B()cout“B“;); class C:public A B b; public: C()cout

12、“C“; ; int main()Cobj;retum 0; 执行后的输出结果是(分数:2.00)A.CBAB.BACC.ACBD.ABC31.有如下类声明: class XA int x; public: XA(int n)x=n; ; class XB:public XA int y; public: XB(int a,int b); ; 在构造函数 XB的下列定义中,正确的是(分数:2.00)A.XB:XB(int a,int :x(,y(B.XB:XB(int a,int :XA(,y(C.XB:XB(int a,int :x(,XB(D.XB:XB(int a,int :XA(,XB

13、(32.有如下程序: #includeiostream using namespace std; class BASE public: BASE()cout“BASE“; ; class DERIVED:public BASE public: DERIVED()cout“DERIVED“; ; int main()DERIVEDx;retum 0; 执行后的输出结果是(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE33.在表达式 x+y*z中,+是作为成员函数重载的运算符,*是作为非成员的函数重载的运算符。下列叙述中正确的是(分数:2.00)

14、A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数34.下面关于 C+流的叙述中,正确的是(分数:2.00)A.cin是一个输入流对象B.可以用 ifstream定义一个输出流对象C.执行语句序列 char*y=“PQMN“;couty;将输出字符串“PQMN“的地址D.执行语句序列 char x80;cigetline(x,80);时,若键入 Happy new year 则 x中的字符串是“Ha

15、ppy“35.有如下程序: #includeiostream using namespace std; class AA int n; public: AA(int k);n(k) intget()return n; int get()constreturn n+1; ; int main() AA a(5); const AA b(6); couta.get()b.get(); return 0; 执行后的输出结果是(分数:2.00)A.55B.57C.75D.77二、B填空题/B(总题数:14,分数:28.00)36.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据

16、独立性最高的阶段是U 【1】 /U。(分数:2.00)填空项 1:_37.算法复杂度主要包括时间复杂度和 【2】 复杂度。(分数:2.00)填空项 1:_38.在进行模块测试时,要为每个被测试的模块另外设计两块:驱动和承接模块(桩模块)。其中 【3】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_39.一棵二叉树第六层(根结点为第一层)的结点数最多为 【4】 个。(分数:2.00)填空项 1:_40.数据结构分为逻辑结构和存储结构,循环队列属于工 【5】 结构。(分数:2.00)填空项 1:_41.下列函数的功能是判断字符串 str是否对称

17、,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 bool fun(char*str) int i=o,i=0; while(strj)U 【6】 /U; for(j-;iji+,j-); return iU 【7】 /Uj; (分数:2.00)填空项 1:_42.执行语句序列 int x=10, coutX-rendl; 输出结果为U 【8】 /U。(分数:2.00)填空项 1:_43.下列程序的输出结果为 Object id=0 Obiect id=1 请将程序补充完整。 #includeiostream using namespace std; clas

18、s Point public: Point(int xx=O,int yy=O)X=xx;Y=yy;countP+; Point()countp-; int GetX()(return X;) int GetY(Xremm Y;) static void GetC()cout“Objcetid=“countpendl; private: int X,Y; static int countP; : U 【9】 /U。 /静态数据成员的初始化 int main() Point:GetC(); Point A(4,5); A.GetC() return 0; (分数:2.00)填空项 1:_44.非

19、成员函数应声明为类的 【10】 函数才能访问这个类的 private成员。(分数:2.00)填空项 1:_45.派生类中的成员不能直接访问基类中的 【11】 成员。(分数:2.00)填空项 1:_46.下列程序的输出结果为 2,请将程序补充完整。 #includeiostream using namespace std; class Basc public: U 【12】 /Uvoid fun()cout1; ; class Dcrived:public Base public: void fun()cout2; ; int main() Base*p=new Derived; p-fun()

20、; delete p; return 0; (分数:2.00)填空项 1:_47.请将下列类定义补充完整。 class Basepublic:void fun()cout“Base:fun“end;; class Derived:public Base public: void fun() U 【13】 /U/显式调用基类的 fun函数 cout“Derived:fun“endl; ;(分数:2.00)填空项 1:_48.多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但运算符只能作为类的 【14】 函数重载。(分数:2.00)填空项 1:_49.下面是一个栈类的模板,其中 p

21、ush函数将元素 i压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top值为 0,栈顶元素在 stacktop-1中,在下面横线处填上适当的语句,完成栈类模板的定义。 templateclass t class Tstack enumsize=1000; T stacksize int top; public: Tsack():top(0) void push(const T T pop() if(top=O)exit(1);/栈空时终止运行 retumU 【15】 /U; ;(分数:2.00)填空项 1:_全国计算机等级考试二级 C+真题 2005年 9月答案解析(总分:98.00,做题时

22、间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列叙述中正确的是(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试 D.程序经调试改错后不必进行再测试解析:解析 程序设计并不等于编程,编程只是程序设计中的一小步。测试是程序执行的过程,目的在于发现错误,一般不由开发者测试自己的程序,测试发现错误后,可以立即进行调试并改正错误,经调试改错后还应进行再测试。2.下列数据结构中,能用二分法进行查找的是(分数:2.00)A.顺序存储的有序线性表 B.线性链表C.二叉链表D.有序线性链表解析:解析 二分查找只适用于顺序存

23、储的有序表。3.下列关于栈的描述正确的是(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素 D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素解析:解析 栈是特殊的线性表,在栈顶端既可以插入元素,又可以删除元素:在栈底端不允许插入元素,也不能删除元素。4.下列叙述中正确的是(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D.一个逻辑数据结构可有多种存储结构,且各种

24、存储结构影响数据处理的效率解析:解析 数据的存储结构是指数据的逻辑结构在计算机中的表示,一种逻辑结构可以表示成多种存储结构:而采用不同的存储结构,其数据处理的效率是不同的。5.下列描述中正确的是(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D.软件工程只是解决软件开发中的技术问题解析:解析 软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法,由于软件开发中面临着纷繁复杂的问题,所以强调用工程化的原则去处理。6.在软件设计中,不属于过程设计工具的是(分数

25、:2.00)A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图 解析:解析 DFD(数据流图)是常用的结构化分析工具;NS,PAD,PDL 是常见的过程设计工具,其中NS,PAD 属于图形工具,PDL 属于语言工具。7.下列叙述中正确的是(分数:2.00)A.软件交付使用后还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令解析:解析 软件生命周期分为软件定义、软件开发及软件运行维护 3个阶段。维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段。8.数据库设计的根本目标是要解决(分数:

26、2.00)A.数据共享问题 B.数据安全问题C.大量数据存储问题D.简化数据维护解析:解析 数据库技术的根本目标是要解决数据共享的问题,选项 A)的说法是正确的。9.设有如下关系表: (分数:2.00)A.T=RSB.T=RS C.T=RSD.T=R/S解析:解析 T 是 RS 的结果,关系 T由属于关系 R的或者属于关系 S的元组组成。10.数据库系统的核心是(分数:2.00)A.数据模型B.数据库管理系统 C.数据库D.数据库管理员解析:解析 数据库系统的核心是数据库管理系统(DBMS)。11.下列关于 C+函数的叙述中,正确的是(分数:2.00)A.每个函数至少要具有一个参数B.每个函数

27、都必须返回一个值C.函数在被调用之前必须先声明 D.函数不能自己调用自己解析:解析 从函数的形式看,函数分两类:无参函数:有参函数。当调用无参函数时,主调函数并不将数据传送给被调用函数,且可以带回或不带回函数值。当调用有参函数时,在主调函数和被调用函数之间有参数传递。在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。C+允许函数的递归调用。12.下列关于类和对象的叙述中,错误的是(分数:2.00)A.一个类只能有一个对象 B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系解析:解析 类可以理解为一种特殊的数据类型,与 int等

28、基本数据类型一样,可以声明多个对象。13.在 C+中,用于实现运行时多态性的是(分数:2.00)A.内联函数B.重载函数C.模板函数D.虚函数 解析:解析 C+的多态性有两种:函数重载和虚函数。虚函数只有在运行时才能被确定,称为运行时多态。14.下列关于运算符重载的叙述中,正确的是(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载 C.若重载运算符+,则相应的运算符函数名是+D.重载一个二元运算符时,必须声明两个形参解析:解析 一般运算符重载可以采用成员函数方式或友元方式。但成员运算符(.),指向成员的指针,作用域运算符(:),条件运算符(?:)只能采用

29、成员函数方式;重载运算符(+),对应的运算符函数名是operator+();重载一个二元运算符时,只需声明一个形参,左操作数毋须用参数输入,而是通过隐含的this指针传入。15.下列关于模板的叙述中,错误的是(分数:2.00)A.模板声明中的第一个符号总是关键字 templaleB.在模板声明中用括起来的部分是模板的形参表C.类模板不能有数据成员 D.在一定条件下函数模板的实参可以省略解析:解析 C+中有两类模板:类模板和函数模板。类模板中可以有数据成员,所以选项 C)错误。16.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是(分数:2.00)A.“cout”是一个输出流对

30、象B.“endl“的作用是输出回车换行C.“x”是一个变量D.“”称作提取运算符 解析:解析 ()表示插入运算符;()表示提取运算符。17.下列字符串中,正确的 C+标识符是(分数:2.00)A.foo-1B.2bC.newD.-256 解析:解析 标识符只能由大小写字母,下划线和数字组成,只允许字母或下划线开头,不允许使用系统的关键字作为标识符。18.已知枚举类型定义语句为: enum TokenNAMB,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列叙述中错误的是(分数:2.00)A.枚举常量 NAME的值为 1 B.枚举常量 NUMBER的值为 1C.枚举常量 MIN

31、US的值为 6D.枚举常量 PRINT的值为 10解析:解析 第一个枚举常量的值为 0;允许程序显示的定义中指定部分或全部枚举常量的值,枚举常量缺省时,在前一枚举常量值的基准上依次增 1。19.执行语句序列 iht i=0;while(i25)i+=3;couti; 输出结果是(分数:2.00)A.24B.25C.27 D.28解析:解析 i 为 3的倍数,当 i=24时,i25,执行 while的循环体 i+=3,则 i=27,不满足 i25 的条件,结束循环。20.要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的

32、是(分数:2.00)A.int vect =30,50,-88; B.int veer =30,50,-88,0,0;C.int vect5=30,50,-88;D.int vect5=30,50,-88,0,0;解析:解析 该定义的数组只有 3个元素。21.有如下程序: #includeiostream void fun(intx=y;y=t; int main() int a2=23,42; fun(a1,a0; std:couta0“,“a1std:ndl; return 0; 执行后的输出结果是(分数:2.00)A.42,42B.23,23 C.23,42D.42,23解析:解析 x

33、为引用,双向的;而 y为值传递,单向的。22.有如下类声明: class Foo int bar; ; 则 Foo类的成员 bar是(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员 D.私有成员函数解析:解析 默认属性为 private。23.有如下类声明: class MyBASE int k; public: void set(iht n)k=n; int get()coastreturn k; ; class MyDERIVED:pnoted My BASE protected: int j; public: void set(int m,int n)MyBASE:se

34、t(m);j=n; int get()constreturn MyBASE:get()+j; ; 则类 MyDERIVED中保护的数据成员和成员函数的个数是(分数:2.00)A.4B.3 C.2D.1解析:解析 protected 派生:pnvate-不可见;protected-private;public-protected。解析:解析 重载的运算符是二元的。25.有如下函数模板定义: templateclass t T func(Tx,Ty)return x*x+y*y; 在下列对 func的调用中,错误的是(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.fu

35、nc(3,5.5); D.funcint(3,5.5)解析:解析 模板类型参数歧义。26.有如下程序: #includeiostream using namespace std; int main() cout.fill(*) cout.width(6); cout.fill(#) cout123endl; return 0; 执行后的输出结果是(分数:2.00)A.#123 B.123#C.*123D.123*解析:解析 cout 函数的 fill()方法用来填充不足宽度:width()用来指定输出宽度。27.在下列函数原型中,可以作为类 AA构造函数的是(分数:2.00)A.void AA

36、(in;B.int AA();C.AA(inconst;D.AA(in; 解析:解析 构造函数不能标以返回类型,即使 void也不行。它的返回值类型是隐含的,是指向类本身的指针。28.下列关于 this指针的叙述中,正确的是(分数:2.00)A.任何与类相关的函数都有 this指针B.类的成员函数都有 this指针C.类的友元函数都有 this指针D.类的非静态成员函数才有 this指针 解析:解析 类的静态成员函数不能含有 this指针,因为 this指针是一个指向对象的指针。29.有如下程序: #includeiostream using namespace std; class Test

37、 public: Test()n+=2; Test()n-=3; static int getNum()return n; private: static int n; ; int Tesl:n=1 int main() Test*p=new Test; delete p; cout“n=“Tes:tgetNum()endl; return 0; 执行后的输出结果是(分数:2.00)A.n=0 B.n=1C.n=2D.n=3解析:解析 本题考查构造函数和析构函数的调用。类的静态成员和成员函数是类属,不依赖于对象实例存在。30.有如下程序: #includeiostream using name

38、space std; class A public: A()cout“A“; ;class Bpublic:B()cout“B“;); class C:public A B b; public: C()cout“C“; ; int main()Cobj;retum 0; 执行后的输出结果是(分数:2.00)A.CBAB.BACC.ACBD.ABC 解析:解析 本题考查基类构造函数,数据成员构造函数的调用次序。系统首先要通过派生类的构造函数调用基类的构造函数,对基类成员初始化:然后对派生类中新增的成员初始化。31.有如下类声明: class XA int x; public: XA(int n)

39、x=n; ; class XB:public XA int y; public: XB(int a,int b); ; 在构造函数 XB的下列定义中,正确的是(分数:2.00)A.XB:XB(int a,int :x(,y(B.XB:XB(int a,int :XA(,y( C.XB:XB(int a,int :x(,XB(D.XB:XB(int a,int :XA(,XB(解析:解析 派生类的构造首先要调用基类的构造函数,对基类成员初始化;然后对派生类中新增的成员初始化。格式为:派生类名(构造函数形参表):基类构造函数(形参表)。32.有如下程序: #includeiostream usin

40、g namespace std; class BASE public: BASE()cout“BASE“; ; class DERIVED:public BASE public: DERIVED()cout“DERIVED“; ; int main()DERIVEDx;retum 0; 执行后的输出结果是(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE 解析:解析 本题考查基类析构函数和派生类析构函数的调用次序。33.在表达式 x+y*z中,+是作为成员函数重载的运算符,*是作为非成员的函数重载的运算符。下列叙述中正确的是(分数:2.00)A

41、.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数 D.operator+有一个参数,operator*有一个参数解析:解析 本题考查运算符重载。运算符可重载为成员函数,也可重载为友元函数。当重载为成元函数时,运算符重载函数的形参个数要比运算符操作数的个数少一个,当重载为友元函数时,其参数个数应与操作数个数相同。34.下面关于 C+流的叙述中,正确的是(分数:2.00)A.cin是一个输入流对象 B.可以用 ifstream定义一个输出流对象C.执行语句序列 c

42、har*y=“PQMN“;couty;将输出字符串“PQMN“的地址D.执行语句序列 char x80;cigetline(x,80);时,若键入 Happy new year 则 x中的字符串是“Happy“解析:解析 选项 C)应该输出字符串“PQMN”,选项 D)x中的字符串是“Happy new year”。35.有如下程序: #includeiostream using namespace std; class AA int n; public: AA(int k);n(k) intget()return n; int get()constreturn n+1; ; int main

43、() AA a(5); const AA b(6); couta.get()b.get(); return 0; 执行后的输出结果是(分数:2.00)A.55B.57 C.75D.77解析:解析 本题考查 const对象。一个 const对象只允许被声明为 const的方法函数引用。二、B填空题/B(总题数:14,分数:28.00)36.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是U 【1】 /U。(分数:2.00)填空项 1:_ (正确答案:数据库系统)解析:解析 数据管理技术的发展过程分为人工管理,文件系统以及数据库系统三个阶段,数据独立性最高

44、的阶段是数据库系统。37.算法复杂度主要包括时间复杂度和 【2】 复杂度。(分数:2.00)填空项 1:_ (正确答案:空间)解析:解析 算法的复杂度主要包括时间复杂度和空间复杂度。38.在进行模块测试时,要为每个被测试的模块另外设计两块:驱动和承接模块(桩模块)。其中 【3】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_ (正确答案:驱动模块)解析:解析 驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。39.一棵二叉树第六层(根结点为第一层)的结点数最多为 【4】 个。(分数:2.00)填空项 1:_ (正确

45、答案:32)解析:解析 对于深度为 6的二叉树来说,第 6层的结点数最多为 26-1=32。40.数据结构分为逻辑结构和存储结构,循环队列属于工 【5】 结构。(分数:2.00)填空项 1:_ (正确答案:存储)解析:解析 循环队列是队列的一种顺序存储结构。41.下列函数的功能是判断字符串 str是否对称,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 bool fun(char*str) int i=o,i=0; while(strj)U 【6】 /U; for(j-;iji+,j-); return iU 【7】 /Uj; (分数:2.00)填空项 1:_

46、 (正确答案:【6】i+)解析:【7】= 解析 从字符串两端依次比较各字符是否相等,for 循环结束后,当 i=j 表明字符串对称,否则不对称。42.执行语句序列 int x=10, coutX-rendl; 输出结果为U 【8】 /U。(分数:2.00)填空项 1:_ (正确答案:10-10)解析:解析 考察对引用的定义的理解。43.下列程序的输出结果为 Object id=0 Obiect id=1 请将程序补充完整。 #includeiostream using namespace std; class Point public: Point(int xx=O,int yy=O)X=xx;Y=yy;c

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1