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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C+-11-1 及答案解析(总分:100.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC+6.0 打开 下的源程序文件 1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果: (4,5) 7,8 (4,8) 注意:错误的语句在/*error*的下面,修改该语句即可。 试题程序: #includeiostream.h class TC0 public: TC0(int i,int j) x=i; y=j; /*error* virtual void move(int a;int h) x+=a; y+=b; void

2、print() court“(“x:,:y“)“endl; public: int X,Y; ; class TC1:public TC0 public: /*error* TC1(int i,int j,int k):(i,j) m=k; n=l; void print() coutm“,“nendl; void func() move(3,5); void display() /*error* print(); private: int m,n; ; void main() TC0 obj(4,5); obj.print(); TC1 obj1(1,3,7,8); obj1.func();

3、 obj1.print(); obj1.display(); (分数:30.00)_二、简单应用题(总题数:1,分数:30.00)2.使用 VC+6.0 打开 下的源程序文件 2.cpp。阅读下列函数说明和代码。 函数 sort(int int y=13; int z=-3; sort(x,y,z); coutx“,“y“,“zendl; return 0; (分数:30.00)_三、综合应用题(总题数:1,分数:40.00)3.使用 VC+6.0 打开 下的源程序文件 3.cpp,其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义类 CPoint 的带有两个参数的构造函

4、数,两个变量为 x、y,都为 int 型,且缺省值为 0。请在注释1 后添加适当的语句。 (2)完成类 CReetangle 的构造函数,给 point1 和 point2 赋值。请在注释 2 后添加适当的语句。 (3)完成类 CRectangle 的函数 GetArea,用来计算矩形面积。请在注释 3 后添加适当的语句。 (4)定义 CRectangle 类,它拥有两个私有对象 point1 和 point2,类型为 Point,请在注释 4 后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 试题程序: #includeiostream.h #includec

5、math class CPoint public: /*1* x=i; y=j; int GetX() return x; int GetY() return y; private: int x,y; ; class CRectangle public: /*2* int GetArea() /*3* int height=point1.GetY()point2.GetY(); return(width * height)?width * height:width * height; private: /*4* CPoint point2; ; int main() CRectangle re

6、ct(0,0,1,1); coutrect.GetArea()endl; return 0; (分数:40.00)_二级 C+-11-1 答案解析(总分:100.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC+6.0 打开 下的源程序文件 1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果: (4,5) 7,8 (4,8) 注意:错误的语句在/*error*的下面,修改该语句即可。 试题程序: #includeiostream.h class TC0 public: TC0(int i,int j) x=i; y=j;

7、/*error* virtual void move(int a;int h) x+=a; y+=b; void print() court“(“x:,:y“)“endl; public: int X,Y; ; class TC1:public TC0 public: /*error* TC1(int i,int j,int k):(i,j) m=k; n=l; void print() coutm“,“nendl; void func() move(3,5); void display() /*error* print(); private: int m,n; ; void main() T

8、C0 obj(4,5); obj.print(); TC1 obj1(1,3,7,8); obj1.func(); obj1.print(); obj1.display(); (分数:30.00)_正确答案:()解析:(1)应改为“virtual void move(int a,int b)”。 (2)应改为“TC1(int i,int j,int k,int l):TC0(i,j)”。 (3)应改为“TC0:print();”。 答案考生文件夹 解析 由题可知第 1 处是声明虚函数,虚函数的声明方式为“virtual类型说明符函数名(参数表)”,参数表中各参数之间应该用“,”隔开,因此第 1

9、 处的语句应改为“virtual void move(int a,int b)”。在主函数的语句“TC1 obj1(1,3,7,8);”中,可知构造函数 TC1有 4 个参数,完成变量 m、n、x 和 y 的初始化,k 和 l 赋值给 m 和 n,i 和 j 赋值给 x 和 y,x 和 y 的初始化可通过基类构造函数来完成对 x 和 y 的初始化,因此第 2 处的语句应改为“TC1(int i,intj,int k,int l):TC0(i,j)”。第 3 处调用的是基类的 print 函数,而“print();”是调用的派生类的 print 函数,因此此时只能通过类名来直接调用 print

10、函数,即第 3 处应改为“TC0:print();”。二、简单应用题(总题数:1,分数:30.00)2.使用 VC+6.0 打开 下的源程序文件 2.cpp。阅读下列函数说明和代码。 函数 sort(int int y=13; int z=-3; sort(x,y,z); coutx“,“y“,“zendl; return 0; (分数:30.00)_正确答案:()解析:int t; if(mn) t=m;m=n;n=t; /*交换 x,y 的值*/ if(ml) t=m;m=l;l=t; /*交换 x,z 的值*/ if(nl) t=n;n=l;l=t; /*交换 z,y 的值*/ 答案考生

11、文件夹 解析 由审题分析可知,3 次比较便可将 m、n、l 排序。先将 m 与 n 进行比较,如果mn,则将 m 与 n 的值进行交换,然后再用 m 与 l 进行比较,如果 ml,则将 m 与 l 的值进行交换,这样能使 m 最大。然后再将 n 与 l 进行比较,若 nl,则将 n 与 l 的值互换,互换后则 l 最小,这样就得到 m 最大,l 最小的排序结果。在 sort 函数内用 3 个 if 语句比较即可,条件成立则进行交换。三、综合应用题(总题数:1,分数:40.00)3.使用 VC+6.0 打开 下的源程序文件 3.cpp,其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。

12、 (1)定义类 CPoint 的带有两个参数的构造函数,两个变量为 x、y,都为 int 型,且缺省值为 0。请在注释1 后添加适当的语句。 (2)完成类 CReetangle 的构造函数,给 point1 和 point2 赋值。请在注释 2 后添加适当的语句。 (3)完成类 CRectangle 的函数 GetArea,用来计算矩形面积。请在注释 3 后添加适当的语句。 (4)定义 CRectangle 类,它拥有两个私有对象 point1 和 point2,类型为 Point,请在注释 4 后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 试题程序: #i

13、ncludeiostream.h #includecmath class CPoint public: /*1* x=i; y=j; int GetX() return x; int GetY() return y; private: int x,y; ; class CRectangle public: /*2* int GetArea() /*3* int height=point1.GetY()point2.GetY(); return(width * height)?width * height:width * height; private: /*4* CPoint point2;

14、; int main() CRectangle rect(0,0,1,1); coutrect.GetArea()endl; return 0; (分数:40.00)_正确答案:()解析:(1)应添加“CPoint(int i=0,int j=0)”。 (2)应添加“CRectangle(int top,int left,int right,int bottom):point1(top,left),point2(right,bottom)”。 (3)应添加“int width=point1.GetX()-point2.GetX();”。 (4)应添加“CPoint point1;”。 答案考生

15、文件夹 解析 本题中在第 1 处添加构造函数定义,该构造带有两个参数 x 和 y 的构造函数,x、y 都为 int 型,默认值为 0,因此第 1 处应添加“CPoint(int i=0,int j=0)”。第 2 处通过 CpOint 类的构造函数来完成 Crectangle 类成员的初始化,在函数体内没有任何函数语句,因此其初始化过程是在初始化列表里完成的,通过调用基类的构造函数来实现两个私有对象 point1 和 point2 的初始化,故第 2处应添加“CRectangle(int top,int left,int right,int bottom):point1(top,left),point2(right,bottom)”。面积为矩形长宽的乘积,因此先计算矩形的长和宽,可由两个 Cpoint 对象的x 坐标相减计算得到,CPoint 对象的 x 坐标为私有成员,只能通过公有接口函数调用获得,因此第 3 处的语句为“int width=point1.GetX()-Doint2.GetX();”。Crectangle 类的成员变量为两个 Cpoint 对象成员 point1 和 point2,在第 4 处补充 point1 的定义,故第 4 处应添加语句“CPoint point1;”。

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