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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C+机试-101 及答案解析(总分:100.00,做题时间:90 分钟)一、1改错题(总题数:1,分数:30.00)1.使用 VC6 打开考生文件夹下的工程 test38_1,此工程包含一个源程序文件 test38_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为:2 is a factor of 10源程序文件 test38_1.cpp 清单如下:#include iostream.hclass myclass/* found */int n,dpublic:myclass(int i, int j) n=i; d=j; friend int factor( m

2、yclass ob);/* found */int myclass:factor(myclass ob)/* found */if(ob.n%ob.d)return 1;elsereturn 0;void main()myclass ob1(10,2),ob2(13,3);if(factor(ob1)cout“2 is a factor of 10/n“;if(factor(ob2)cout“3 is not a factor of 13/n“;(分数:30.00)填空项 1:_二、2简单应用题(总题数:1,分数:40.00)2.请编写函数 fun(),其功能是计算并输出当 x0.97 时下列

3、多项式的值,直到|Sn-Sn-1|0.000001 为止。Sn=1+0.5x+0.5(0.5-1)x2/2!+0.5(0.5-1)(0.5-2)x3/3!+0.5(0.5-1)(0.5-2)(0.5-n+1)xn/n!例如:主函数从键盘给 x 输入 0.21 后,则输出为 s=1.100000。注意:部分源程序以存在文件 test38_2.cpp 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。文件 test38_2.cpp 的内容如下:#includestdio.h#includeiostream.h#includemath.hdoub

4、le fun(double x)void main( )double x, s;cout“Input x:“endl;cinx;s=fun(x);cout“s=“sendl;(分数:40.00)_三、3综合应用题(总题数:1,分数:30.00)3.使用 VC6 打开考生文件夹下的工程 test38_3。此工程包含一个 test38_3.cpp,其中定义了类complex,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)添加类 complex 的无参数的构造函数的定义,将私有成员 real 和 imag 都初始化为 0。请在注释“/*1*”之后添加适当的语句。(2)添加类 com

5、plex 的带两个参数的重载构造函数,两个参数 r 和 i 都是 double 类型,要求将 r 赋值给私有成员 real, i 赋值给私有成员 imag,同时允许调用时参数 i 可是省略,请在注释“/*2*”之后添加适当的语句。(3)完成类 complex 重载加法函数的定义,该函数直接返回一个类 complex 的对象,同时把参数对象 c 的实部 real 和虚部 imag 分别与当前对象对应部分分别相加,请在注释“/*3*”之后添加适当的语句。(4)完成类 complex 的友元函数 print 的定义,使其以格式“real+imagi”输出,请在注释“/*4*”之后添加适当的语句。源程

6、序文件 test38_3.cpp 清单如下;#include iostream.hclass complexpublic:/ * 1 */ * 2 *real=r;imag=i;complex operator+(complex friend void print(complex private:double real,imag;complex complex:operator+(complex void main( )complex c1(2.0,3.0),c2(4.0,-2.0),c3;c3=c1+c2;print(c3);c3=c3+complex(3.5);print(c3);(分数:

7、30.00)_二级 C+机试-101 答案解析(总分:100.00,做题时间:90 分钟)一、1改错题(总题数:1,分数:30.00)1.使用 VC6 打开考生文件夹下的工程 test38_1,此工程包含一个源程序文件 test38_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为:2 is a factor of 10源程序文件 test38_1.cpp 清单如下:#include iostream.hclass myclass/* found */int n,dpublic:myclass(int i, int j) n=i; d=j; friend int fac

8、tor( myclass ob);/* found */int myclass:factor(myclass ob)/* found */if(ob.n%ob.d)return 1;elsereturn 0;void main()myclass ob1(10,2),ob2(13,3);if(factor(ob1)cout“2 is a factor of 10/n“;if(factor(ob2)cout“3 is not a factor of 13/n“;(分数:30.00)填空项 1:_ (正确答案:(1) 错误:int n,d正确;int n,d;(2) 错误:int myclass:f

9、actor(myclass ob)正确:int factor(myclass ob)(3) 错误:if(ob.n%ob.d)正确:if(!(ob.n%ob.d))解析:解析(1)主要考查考生对于变量定义的理解,同类型的变量定义中间使用逗号分开,同时可以进行初始化,但是在整个定义的结尾必须使用分号,这是 C+的规定:(2)主要考查考生是否掌握了友元函数的定义,友元是在类的内部声明,类的外部实现的一种特殊的函数,它可以访问类内的所有成员,不过在类外的实现和调用的时候均不需要使用作用域符号“:”限制:(3)主要考查考生对于 if 条件语句的掌握,只有括号内的条件为真,即值为 1 时,才执行 if 后

10、面的语句,根据题目要求应该执行的是对象 ob1,即 2 可以整除 10,所以应该定义函数 factor 的返回值为能整除返回 1,否则为 0,而能够整除即取余运算值为 0,所以在判断前应该加上非运算。二、2简单应用题(总题数:1,分数:40.00)2.请编写函数 fun(),其功能是计算并输出当 x0.97 时下列多项式的值,直到|Sn-Sn-1|0.000001 为止。Sn=1+0.5x+0.5(0.5-1)x2/2!+0.5(0.5-1)(0.5-2)x3/3!+0.5(0.5-1)(0.5-2)(0.5-n+1)xn/n!例如:主函数从键盘给 x 输入 0.21 后,则输出为 s=1.1

11、00000。注意:部分源程序以存在文件 test38_2.cpp 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。文件 test38_2.cpp 的内容如下:#includestdio.h#includeiostream.h#includemath.hdouble fun(double x)void main( )double x, s;cout“Input x:“endl;cinx;s=fun(x);cout“s=“sendl;(分数:40.00)_正确答案:(double fun (double x)double s1=1.0,p=1

12、.0,sum=0.0,s0,t=1.0;int n=1;dos0=s1;sum+=s0;t*=n;P*= (0.5-n+1)*x;s1=p/t;n+;while (fabs(s1-s0)=le-6);return sum;)解析:解析 解答本题的关键是观察所给的多项式,并从中找出变化规律。观察得出,每一项分子的变化规律是每一项比前一项多乘一项“(0.5-n+1)*x”。分母的变化规律是每一项比前一项多乘一个 n(即在不断变化的各项的编号)。三、3综合应用题(总题数:1,分数:30.00)3.使用 VC6 打开考生文件夹下的工程 test38_3。此工程包含一个 test38_3.cpp,其中定

13、义了类complex,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)添加类 complex 的无参数的构造函数的定义,将私有成员 real 和 imag 都初始化为 0。请在注释“/*1*”之后添加适当的语句。(2)添加类 complex 的带两个参数的重载构造函数,两个参数 r 和 i 都是 double 类型,要求将 r 赋值给私有成员 real, i 赋值给私有成员 imag,同时允许调用时参数 i 可是省略,请在注释“/*2*”之后添加适当的语句。(3)完成类 complex 重载加法函数的定义,该函数直接返回一个类 complex 的对象,同时把参数对象 c 的实部

14、 real 和虚部 imag 分别与当前对象对应部分分别相加,请在注释“/*3*”之后添加适当的语句。(4)完成类 complex 的友元函数 print 的定义,使其以格式“real+imagi”输出,请在注释“/*4*”之后添加适当的语句。源程序文件 test38_3.cpp 清单如下;#include iostream.hclass complexpublic:/ * 1 */ * 2 *real=r;imag=i;complex operator+(complex friend void print(complex private:double real,imag;complex co

15、mplex:operator+(complex void main( )complex c1(2.0,3.0),c2(4.0,-2.0),c3;c3=c1+c2;print(c3);c3=c3+complex(3.5);print(c3);(分数:30.00)_正确答案:(1)complex( ) real=imag=0; (2)complex(double r, double i=0)(3)return complex(real+c.real,imag+c.imag);(4)void print(complex &c)解析:解析 主要考查考生对于类的构造函数重载、缺省参数的设置、运算符的重载和友元函数的定义的掌握,其中(2)使用了参数赋初值的方式使得带两个参数的构造函数可以省略后一个参数,这是一种重要的方法,(3)直接返回类的一个使用带两个参数的构造函数生成的临时对象,这是把运算符重载为类的成员函数时经常使用的方式,(4)友元函数应该在类内声明,类外定义调用时和普通函数样,这点要切记。

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