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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C+机试 74 及答案解析(总分:100.00,做题时间:90 分钟)一、B1改错题/B(总题数:1,分数:30.00)1.使用 VC6 打开考生文件夹下的工程 test32_1,此工程包含一个源程序文件 test32_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为: Added Result for this C+tutorial:3 源程序文件 test32_1.cpp 清单如下: /* found */ #includeiostream class CPP_Tutorial int private_data; /* found */ class frien

2、dclass; public: CPP_Tutorial() private_data = 5; ; class friendclass public: int subtractfrom(int x) CPP_Tutorial var2; /* found */ return var2 - x; ; void main() friendclass var3; cout “Added Result for this C+ tutorial: “ var3.subtractfrom(2)end1; (分数:30.00)填空项 1:_二、B2简单应用题/B(总题数:1,分数:40.00)2.请编写一

3、个函数 fun(char*num),该函数返回与传入的二进制数相应的十进制数,参数 num 指向存放 8位二进制数的字符数组。二进制数转换为十进制数的方法是将二进制数的每一位乘以该位的权然后相加,如二进制数 10010100=1*27+0*26 +0*25+1*24+0*23+1*22+0*21+2*0=148。注意:部分源程序已存在文件 test32_2.cpp 中。请勿修改主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填写若干语句。文件 test32_2.cpp 的内容如下:#includeiostream.hint fun(char *num)void main

4、( )char num8,ch;cout“Enter an 8 bit binary number“;for(int i=0;i8;i+)cinch;numi=ch;coutfun(num)end1;(分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.使用 VC6 打开考生文件夹下的工程 test32_3。此工程包含一个 test32_3.cpp,其中定义了复数类complex,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义复数类 complex的私有数据成员 real 和 image,用来分别表示复数的实部和虚部,它们都是 double

5、型的数据。请在注释“/*1*”之后添加适当的语句。 (2)添加复数类 complex 的带一个参数的构造函数,分别将 real 和image 赋值为参数 r 的值和 0.0,请在注释“/*2*”之后添加适当的语句。 (3)完成复数类 complex 的“+”运算符重载成员函数的定义,两个复数相加是将复数的实部和虚部分别进行相加,请在注释“/*3*”之后添加适当的语句。 (4)完成复数类 complex 的友元函数 isequal(complex *cl,complex *c2)的定义,如果复数 c1 与 c2 相等即 c1 与 c2 的实部和虚部分别相等,则返回 1,否则返回 0。请在注释“/

6、*4*”之后添加适当的语句。 程序输出结果如下: 36+0i=36+0i 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件 test32_3.cpp 清单如下: #include iostream.h class complex /* 1 * public: complex()real=image=O.O; complex(double r) /* 2 * complex operator+(const complex friend bool isequal(complex *c1,complex *c2 void display(); ; complex comple

7、x:operator+(const complex temp.image=image+c.image; return temp; bool isequal(complex *c1,complex *c2) / /* 4 * return 1; else return 0; void complex: display() coutreal; if (image=0) cout“+“image“i“; else if (image0) coutimage“i“; void main() complex c1,c2(36.0); c1=c1+c2; c1.display(); if (isequal

8、( else coat“; c2.display(); coutend1; (分数:30.00)_二级 C+机试 74 答案解析(总分:100.00,做题时间:90 分钟)一、B1改错题/B(总题数:1,分数:30.00)1.使用 VC6 打开考生文件夹下的工程 test32_1,此工程包含一个源程序文件 test32_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为: Added Result for this C+tutorial:3 源程序文件 test32_1.cpp 清单如下: /* found */ #includeiostream class CPP_Tu

9、torial int private_data; /* found */ class friendclass; public: CPP_Tutorial() private_data = 5; ; class friendclass public: int subtractfrom(int x) CPP_Tutorial var2; /* found */ return var2 - x; ; void main() friendclass var3; cout “Added Result for this C+ tutorial: “ var3.subtractfrom(2)end1; (分

10、数:30.00)填空项 1:_ (正确答案:(1) 错误:gincludeiostream)解析:正确:#includeiostream.h (2) 错误:class friendclass; 正确:friend class friendclass; (3) 错误:return var2-x; 正确;return var2.private_data-x; 解析 (1)主要考查考生是否理解头文件的概念,在 C+中可以把已经定义好的或者系统自带的类定义引入自建的工程中,其方式就是通过使用头文件,把要引入的结构放在头文件(.h 结尾的)中,在自建工程的开头使用#include 加入即可,不过应该使用

11、头文件的全名,题目中错误的丢掉了扩展名.h; (2)主要考查考生是否掌握了友元类的定义,友元类是声明在一个类内的新的类,友元类的所有成员都可以访问原来类的所有成员,所以友元类破坏了程序的封装性,不过只有友元类和友元函数能够直接访问所在类的私有成员,题目中的类 friendclass 将要访问所在类的私有成员,所以应该被定义成友元类; (3)主要考查考生对于对象和对象成员操作的掌握,var2 是类 CPP_Tutorial 的对象,它不能直接和数据成员操作,应该使用对象访问成员的操作符“.”操作它的数据成员 private_data 和 x 进行操作。二、B2简单应用题/B(总题数:1,分数:4

12、0.00)2.请编写一个函数 fun(char*num),该函数返回与传入的二进制数相应的十进制数,参数 num 指向存放 8位二进制数的字符数组。二进制数转换为十进制数的方法是将二进制数的每一位乘以该位的权然后相加,如二进制数 10010100=1*27+0*26 +0*25+1*24+0*23+1*22+0*21+2*0=148。注意:部分源程序已存在文件 test32_2.cpp 中。请勿修改主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填写若干语句。文件 test32_2.cpp 的内容如下:#includeiostream.hint fun(char *num

13、)void main ( )char num8,ch;cout“Enter an 8 bit binary number“;for(int i=0;i8;i+)cinch;numi=ch;coutfun(num)end1;(分数:40.00)_正确答案:()解析:int fun(char *num) int result=0; int middle; for(int i7;i=0;i-) if (humi = 1 ) middle=l; for(iht k=l;k=(7-i);k+) middle=middle*2; result =result+middle; return result 解

14、析 本题为条件判断语句、循环语句和数组的综合应用。需要注意的是数组下标为0 的元素存放的为二进制数中权最大的位,而数组下标为 7 的元素存放的为二进制数中权最小的位,而且在数组中存放的是二进制数的字符串,需要将每个字符转换成相应的整型数字才能乘以相应的权。三、B3综合应用题/B(总题数:1,分数:30.00)3.使用 VC6 打开考生文件夹下的工程 test32_3。此工程包含一个 test32_3.cpp,其中定义了复数类complex,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义复数类 complex的私有数据成员 real 和 image,用来分别表示复数的实

15、部和虚部,它们都是 double 型的数据。请在注释“/*1*”之后添加适当的语句。 (2)添加复数类 complex 的带一个参数的构造函数,分别将 real 和image 赋值为参数 r 的值和 0.0,请在注释“/*2*”之后添加适当的语句。 (3)完成复数类 complex 的“+”运算符重载成员函数的定义,两个复数相加是将复数的实部和虚部分别进行相加,请在注释“/*3*”之后添加适当的语句。 (4)完成复数类 complex 的友元函数 isequal(complex *cl,complex *c2)的定义,如果复数 c1 与 c2 相等即 c1 与 c2 的实部和虚部分别相等,则返

16、回 1,否则返回 0。请在注释“/*4*”之后添加适当的语句。 程序输出结果如下: 36+0i=36+0i 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件 test32_3.cpp 清单如下: #include iostream.h class complex /* 1 * public: complex()real=image=O.O; complex(double r) /* 2 * complex operator+(const complex friend bool isequal(complex *c1,complex *c2 void display();

17、 ; complex complex:operator+(const complex temp.image=image+c.image; return temp; bool isequal(complex *c1,complex *c2) / /* 4 * return 1; else return 0; void complex: display() coutreal; if (image=0) cout“+“image“i“; else if (image0) coutimage“i“; void main() complex c1,c2(36.0); c1=c1+c2; c1.display(); if (isequal( else coat“; c2.display(); coutend1; (分数:30.00)_正确答案:()解析:(1) double real,image; (2) realr; image=0.0; (3) complex temp; (4) if(c1-real=c2-real)&(c1-image=c2-image) 解析 本题主要考查了类的定义、类构造函数的重载、运算符重载和友元函数等知识点。特别是在重载运算符“+”中临时复数类的申请,相加的两个复数实部与虚部数值的获取,都是需要牢记的,这是运算符重载函数编写的核心所在。

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