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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】国家二级(C++)机试-试卷24及答案解析.doc

1、国家二级(C+)机试-试卷 24 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.数据流图中带有箭头的线段表示的是( )。(分数:2.00)A.控制流B.事件驱动C.模块调用D.数据流2.在下列原型所示的 C+函数中,按“传值“方式传递参数的是( )。(分数:2.00)A.voidf1(intx);B.voidf2(int*x);C.voidf3(constint*x);D.voidf4(int3.有如下程序: #include using namespace std; class Part public: Part(int x=0):val

2、(x) couty?x:y;中两个形参变量都是 int 型,而语句 intMax(intx,inty,intz=0)的前两个形参也都是 int 型,第三个形参定义默认值,那么这两个 Max函数在调用时它们的参数个数和参数类型都一样,因为函数重载要求形参类型或形参个数不同,所以要把intz=0 改为 intz,才能构成函数重载。 (3)主要考查成员函数的调用,因为 value 是私有成员,所以不能被类外函数直接调用,而且 value()的用法也是错误的,可以使用成员函数 objGetValue()得到value 的值。三、简单应用题(总题数:1,分数:2.00)42.请使用 VC6 或使用【答题

3、】菜单打开考生文件夹 proj2 下的工程 proj2,其中包含抽象类 Shape 的声明,以及在此基础上派生出的类 Rectangle 和 Circle 的声明,二者都有计算对象面积的函数 GetArea()和计算对象周长的函数 GetPerim()。程序中位于每个“*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:TheareaoftheCircleis785TheperimeteroftheCimleis314TheareaoftheRectangleis24TheperimeteroftheRectangleis20 注意:只在横线处填写适当的代码,不要改动

4、程序中的其他内容,也不要删除或移动“*found*”。#includeiostreamusingnamespacestd;classShapepublic:Shape()Shape()*found*_floatGetArea()=0;*found*_floatGetPerim()=0;classCircle:publicShapepublic:Circle(floatradius):itsRadius(radius)Circle()floatGetArea()return314*itsRadius*itsRadius;floatGetPerim()return628*itsRadius,pri

5、vate:floatitsRadius;classRectangle:publicShapepublic:*found*Rectangle(floatlen,floatwidth):_;Rectangle();virtualfloatGetArea()returnitsLength*itsWidth;floatGetPerim()return2*itsLength+2*itsWidth;virtualfloatGetLength()returnitsLength;virtualfloatGetWidth()returnitsWidth;private:floatitsWidth;floatit

6、sLength;intmain()*k*found*sp=newCircle(5);cout“TheareaOftheCircleis“sp-GetArea()end1;cout“TheperimeteroftheCircleis“sp-GetPerim()end1;deletesp;sp=newRectangle(4,6);cout“TheareaoftheRectangleis“sp-GetArea()end1;cout“TheperimeteroftheRectangleis“sp-GetPerim()end1;deletesp;return0;(分数:2.00)_正确答案:(正确答案:

7、(1)virtual (2)virtual (3)itsLength(len), itsWidth(width) (4)Shape* sp;)解析:解析:(1)和(2)主要考查考生对纯虚函数定义的掌握,纯虚函数前要添加关键字 virtual。 (3)主要考查考生对构造函数的掌握,使用成员列表初始化。 (4)主要考查考生对指针的掌握,由下一条语句:sp = new Circle(5),可知 sp 为 Shape 型指针。四、综合应用题(总题数:1,分数:2.00)43.请使用“答题”菜单或使用 VC6 打开考生文件夹下的工程 proj3,其中定义了 Septinary 类(七进制类),来表示一个

8、七进制的数及其相关操作。和十进制的数“逢十进一”类似,七进制的数定义为“逢七进一”。这里对 Septinary 类的数据成员做一下说明:char*data;存放七进制数的每一位数,data0为最高位。这里假设七进制的位数不超过 99 位。createSeptinary 函数由构造函数调用,用于将作为参数传入的十进制数转化为七进制数,并将七进制数的每一位存入 data 数组中。请编写 createSeptinary 函数使程序可以正确运行。注意:Septinary 类中提供了 numberToChar 成员函数,将一个0,6之间的数转化为对应的 ASCII 码值。在 main 函数中给出了一组测

9、试数据,此情况下程序的输出应该是:243 注意:只需在*333*666*之间填入所编写的若干语句,不要改动程序中的其他内容。#include“Septinaryh“Septinary:Septinary(intnum)this-data=newchar100;this-createSeptinary(num);Septinary:Septinary()if(data!=NULL)deletedata;voidSeptinary:createSeptinary(intnum)*333*666*charSeptinary:numberToChar(intnum)if(num0|num7)cout“

10、errornumber“end1;return0;return(char)(num+(char)0);voidSeptinary:show()coutdataend1;intmain()SeptinaryS(129);sshow();writeToFile(“c:test“);return0;proj3Septinaryh#includeioStream#includecmathusingnamespacestd;classSeptinary七进制类 private:char*data;public:Septinary(intnum);Septinary();voidcreateSeptina

11、ry(intnum);charnumberToChar(intnum);voidshow();voidwriteToFile(constchar*path);(分数:2.00)_正确答案:(正确答案:intindex=0; chartempi00; while(num) tempindex+=numberToChar (num7); num=7; dataindex=-0; inti=0; while(index) data-index=tempi+;)解析:解析:主要考查考生对对象成员数据处理的掌握。函数 createSeptinary 的功能,是将参数十进制整数 num 转化为七进制数,并将七进制数的每一位存入 data 数组中。由于转换得到的数是逆序的,这里需要临时数组 temp,用来暂时存放逆序的七进制数。首先 nnm 对 7 求余,通过成员函数 numberToChar 将余数转换为 char 类型,保存在 temp 中,num 除以 7 后重新赋值为除数,继续执行求余操作,直到 num 为0,此时七进制数已经逆序保存在 temp 中,最后将 temp 翻转保存到 data 中。由于在成员函数 show 中,可以直接将数组 data 当字符串输出,所以需要在 data 末尾添加0,来标识字符串结束。

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