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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】二级C++笔试-193及答案解析.doc

1、二级 C+笔试-193 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于类和对象的叙述中,错误的是( )。(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系2.数据处理的最小单位是( )。(分数:2.00)A.数据B.数据元素C.数据项D.数据结构3.下列关于模板的说法正确的是( )。(分数:2.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数4.有如下程序

2、:#includeiostreamusing namespace std;class Bpublic:Virtual void show()cout“B”;class D:publicBpublic:void show()cout“D”;void funl(B*ptr)ptr-show();voidun2(BB.next=T2;public;dataClass(T1 aT2 b)ia;j=b;void show()couti“,”jn;int main()dataClassint,doubleobl10,0.23;dataClass(char,char*)ob2(X,”my data”);ob

3、1.show();ob2.show();return 0;请将程序补充完整,使程序在运行时输出:10,0.23X,my data(分数:2.00)填空项 1:_47.有如下程序:#includeiostreamusing namespace std;class Apublic:A()cout“A”;A()cout“A”;);class BA a;public,B()cout“B”;B()cout“B”;int main()B b;return 0;程序的输出结果是_。(分数:2.00)填空项 1:_48.请将下列栈类 Stack 补充完整。class Stackprivate:intpList

4、100/int 数组,用于存放栈的元素inttop;/栈顶元素(数组下标)public:Stack();top(0)void Push(const int class Apublic:A()coutA;class B:_public:B()coutB;);class C:_public:C()coutC;;class D:public B,public Cpublic:D()coutD;;void main()D obj;(分数:2.00)填空项 1:_二级 C+笔试-193 答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于类和对象的叙

5、述中,错误的是( )。(分数:2.00)A.一个类只能有一个对象 B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系解析:解析 本题考查类和对象的概念。类是用户定义的一种类型,程序员可以使用这个类型来说明多个变量,即对象。2.数据处理的最小单位是( )。(分数:2.00)A.数据B.数据元素C.数据项 D.数据结构解析:解析 数据处理的最小单位是数据项。3.下列关于模板的说法正确的是( )。(分数:2.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数 解析:

6、解析 在 C+中规定如果一个类被声明为类模板,那么其中的所有成员函数就都成为了模板函数。4.有如下程序:#includeiostreamusing namespace std;class Bpublic:Virtual void show()cout“B”;class D:publicBpublic:void show()cout“D”;void funl(B*ptr)ptr-show();voidun2(BB.next=在选项 D 中,用*运算符取出结构体变量,并且保存的就是 b 的地址,所以正确。20.下列有关模板的叙述中,正确的是( )。(分数:2.00)A.函数模板不能含有常规形参B.

7、函数模板的一个实例就是一个函数定义 C.类模板的成员函数不能是模板函数D.用类模板定义对象时,绝对不能省略模板实参解析:解析 本题考查的是模板的概念。函数模板可以含有常规形参,函数模板的一个实例就是一个函数定义;类模板中的成员函数都是模板函数;在用类模板定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法按函数模板的方式省略模板形参,但是可以为类模板的参数设置默认值。21.数据库设计包括两个方面的设计内容,它们是( )。(分数:2.00)A.概念设计和逻辑设计 B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计解析:解析 数据库设计包括数据库概念设计和数据库

8、逻辑设计两个方面的内容。22.以三级模式为框架形成的 3 种数据库中,真实存在于计算机外存的数据库是( )。(分数:2.00)A.概念数据库B.用户数据库C.物理数据库 D.逻辑数据库解析:解析 以概念模式为框架所组成的数据叫概念数据库,以外模式为框架所组成的数据库叫用户数据库;以内模式为框架所组成的数据库叫物理数据库。这 3 种数据库只有物理数据库是真实存在于计算机外存中。23.若已定义;inta=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中 0i=9,则对 a 数组元素不正确的引用是( )。(分数:2.00)A.ap-aB.x(选项 B 中,signed short int

9、的省略形式就是 short,正确 ounsigned short int 的省略形式是unsigned short;short int 的省略形式是 short。故本题应该选择 B。25.下列程序中横线处应填入的语句是( )。Class Basepublic:roid fun()cout“Base of fun”endl;);class Derived:public Basevoid fun()/显示基类的成员函数 funcout“Derived Of fun”endl;(分数:2.00)A.fun();B.Base.fun();C.Base:fun(); D.Base-fun();解析:解析

10、 如果在于类,中要访问父类的函数应用”:”运算符。26.已知 Value 是一个类,Value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是( )。(分数:2.00)A.Value operator+(Value v,int i);B.Value operator+(Value vvalue,int i); C.Value operator+(Value vint i0);D.Value operator+(Value v=value,int i=0);解析:解析 本题考查的是 for 循环语句。执行循环语句,变量 i 从 50 递减,每次减 2,所以循环会

11、执行 25 次,输出 25 个*。27.有以下程序:#includeiostreamusing namespace std;Class sampleprivate:int n;public:sample()sample(int m)n=m;sample add(sample s1,samplc s2)this-n=s1.n+s2.n;return(*this);void disp()cout“n”nendl;int main()sample s1(10),s2(5),s3;s3.add(s1,s2);s3.disp();return 0;程序运行后,输出的结果是( )。(分数:2.00)A.n

12、10B.n5C.n20D.n=15 解析:解析 本题考查 this 指针的使用类成员函数 add 中通过 this 指针实现私有数据成员 n 的赋值。28.下列不是软件工程基本目标的是( )。(分数:2.00)A.付出较低的维护费用B.达到要求的功能C.不管时间限制,只要最终把用户要求的产品交出来 D.产品的性能比较好解析:解析 软件工程的基本目标是:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移值,需要较低的维护费用;能按时完成开发,及时交付使用。29.在函数中,可以用 auto、extern、register 和 static 这四个关键字中的一个来说明变量的

13、存储类型,如果不说明存储类型,则默认的存储类型是( )。(分数:2.00)A.auto B.externC.registerD.static解析:解析 变量在使用之前其数据类型必须加以说明,而存储类型则可缺省说明或显式说明。显式说明指直接在变量说明前加上存储类型标志,如 auto,register,static,extern 等。关键宇 auto 通常省略。30.有以下程序:#includeiostreamusing namespace std;class Complexpublic:Complex(dOuble r=0,dOuble i=0):re(r),im(i)doublereal()c

14、onstreturn re;doubleimag()constreturn im;Complex operator+(Complex c)constreturn Complex(re+c.re,im+c.im);private:double re,im;int main()Complex aComplex(1,1)+Complex(5);couta.real()+a.imag()iendl;return 0;程序执行后的输出结果是( )。(分数:2.00)A.6+6iB.6+1i C.1+6iD.1+1i解析:解析 运算符”+”在类 Complex 中作为成员函数重载,实现两个对象的数据成员的

15、相加。所以main 函数中语句”ComplexaComplex(1,1)+Complex(5);”的作用相当于”Complexa(1+5,1);”即对象 a 的数据成员 re 的值为 6,imag 的值为 l,所以输出为 6+1i。31.对下列二叉树(分数:2.00)A. B.C.D.解析:解析 二叉树的遍历有 3 种:前序、中序和后序。中序遍历首先遍历左于树或左子结点,然后访问根结点,最后遁历右子树或右子结点。分析本题二又树,对其进行中序遍历,结果为 ACBDFEG。32.函数定义为 Fun(int 数据流:可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出,数据存储:处理过程中存

16、取的数据,通常是手工凭证、手工文档或计算机文件,处理过程。40.在岂个容量为 25 的循环队列中,若头指针 front=9,尾指针 Year16,则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_ (正确答案:7。)解析:解析 设循环队列的容量为 n。如果 rearfront,则循环队列中的元素个数为 rear-front;如果 rearfront,则循环队列中的元素个数为 n+(rear-front)。本题中,front=9,rear16,即rearfront,因此,循环队列中的元素个数为 rear-front=16-9=7。41.如果使用数组名称为函数参数,形实结合时,传递的

17、是 1。(分数:2.00)填空项 1:_ (正确答案:地址。)解析:解析 本题考查的是函数参数的传递方式。函数参数的传递方式分为传值和传地址两种。使用数组名作为函数参数,因为数组名代表的是数组的首地址,所以传递的是地址。42.如果要把返回值为 void 的函数 A 声明为类 B 的友元函数,则应在类 B 的定义中加入的语句是 1。(分数:2.00)填空项 1:_ (正确答案:friendvoidA-|_|-;。)解析:解析 C+中类的友元函数在声明时应在该函数前面加上关键字 friend,同样如果要声明一个类为另一个类的友元类也要在前面类名前加上 friend。43.与成员访问表达式 p-na

18、me 等价的表达式是 1。(分数:2.00)填空项 1:_ (正确答案:(*p).name。)解析:解析 一个基类型为类类型的指针称为对象指针。对于指向对象的指针,下面两种表示方式是等价的:对象指针名-成员名;(*对象指针名),成员名。44.已知有函数 f 的定义如下:int f()static int s0;s+=2;return s;则在某程序中第 2 次执行函数调用语句“f();”时,函数 f 的返回值是_。(分数:2.00)填空项 1:_ (正确答案:4。)解析:解析 本题考查的是内部静态变量。当函数执行完返回调用点,该变量并不檄消,其值将继续保留,下次进入该函数时,其值仍然存在。45

19、.如下程序声明了一个电话号码类 PhoneNumber,重载了流插入运算符,以便于电话号码的输出。请将程序补充完整。#includeiostream#includeiomanip#includestringusing namespace std;class PhoneMunberpublic:void setNumber(string number)this-numbernumber;/重载流插入操作符friend_(ostream T2;public;dataClass(T1 aT2 b)ia;j=b;void show()couti“,”jn;int main()dataClassint,

20、doubleobl10,0.23;dataClass(char,char*)ob2(X,”my data”);ob1.show();ob2.show();return 0;请将程序补充完整,使程序在运行时输出:10,0.23X,my data(分数:2.00)填空项 1:_ (正确答案:templateclass T1,class T2。)解析:解析 本题是对模板的考查。由 T1 i;T2 j;语句知,应该在 i,j 对象声明为 T1 和 T2 类型前,定义模板 T1 和 T2。根据题目中给出的“模板类 dataClass,使用 C+的关键字“template”来声明 T1和 T2 的定义。4

21、7.有如下程序:#includeiostreamusing namespace std;class Apublic:A()cout“A”;A()cout“A”;);class BA a;public,B()cout“B”;B()cout“B”;int main()B b;return 0;程序的输出结果是_。(分数:2.00)填空项 1:_ (正确答案:ABBA。)解析:解析 本题考查派生类的构造函数与析构函数的调用。建立一个派生类对象时,派生类的构造函数的调用顺序如下:基类的构造函数、成员对象的构造函数,派生类自身的构造函数。析构函数的调用顺序与构造函数严格相反。48.请将下列栈类 Stac

22、k 补充完整。class Stackprivate:intpList100/int 数组,用于存放栈的元素inttop;/栈顶元素(数组下标)public:Stack();top(0)void Push(const int class Apublic:A()coutA;class B:_public:B()coutB;);class C:_public:C()coutC;;class D:public B,public Cpublic:D()coutD;;void main()D obj;(分数:2.00)填空项 1:_ (正确答案:virtual publicA virtual public A。)解析:解析 本题考查虚基类的应用。通过虚基类所派生的类,在所产生的对象中,只包含了一个和其他类共享的基础对象,也就是说,从同一个基类中以虚拟方式派生的所有类,在它们所产生的对象里,不会有一份基础对象,而只是在内存里保留一份基础对象,而派生类中只保留指向此基础对象的指针,这样就不会同时有两份基类对象的情形发生。题中程序最后字符 A 只输出了一次,所以类 A 必须为类 B 和类 C的虚基类。

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