欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1324406       资源大小:34KB        全文页数:4页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

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

    2、tor( myclass ob); ; /* found */ int myclass:factor(myclass ob) /* found */ if(ob.n%ob.d) return 1; else return 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:_二、B2简单应用题/B(总题数:1,分数:40.00)2.请编写函数 f

    3、un(),其功能是计算并输出当 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.100000。注意:部分源程序以存在文件 test38_2.cpp中。请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。文件 test38_2.cpp的内容如下:#includestdio.h#includeiostream.

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

    5、后添加适当的语句。 (2)添加类 complex的带两个参数的重载构造函数,两个参数 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.h class complex public: / * 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+com

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

    8、 int j) n=i; d=j; friend int factor( myclass ob); ; /* found */ int myclass:factor(myclass ob) /* found */ if(ob.n%ob.d) return 1; else return 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:_ (正确

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

    10、”限制: (3)主要考查考生对于 if条件语句的掌握,只有括号内的条件为真,即值为 1时,才执行if后面的语句,根据题目要求应该执行的是对象 ob1,即 2可以整除 10,所以应该定义函数 factor的返回值为能整除返回 1,否则为 0,而能够整除即取余运算值为 0,所以在判断前应该加上非运算。二、B2简单应用题/B(总题数: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

    11、.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.hdouble fun(double x)void main( )double x, s;cout“Input x:“endl;cinx;s=fun(x);cout“s=“sendl;(分数:40.00

    12、)_正确答案:()解析:double fun (double x) double s1=1.0,p=1.0,sum=0.0,s0,t=1.0; int n=1; do s0=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(即在不断变化的各项的编号)。三、B3综合应用题/B(总题数:1,分数

    13、:30.00)3.使用 VC6打开考生文件夹下的工程 test38_3。此工程包含一个 test38_3.cpp,其中定义了类complex,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)添加类 complex的无参数的构造函数的定义,将私有成员 real和 imag都初始化为 0。请在注释“/*1*”之后添加适当的语句。 (2)添加类 complex的带两个参数的重载构造函数,两个参数 r和 i都是 double类型,要求将 r赋值给私有成员 real, i 赋值给私有成员 imag,同时允许调用时参数 i可是省略,请在注释“/*2*”之后添加适当的语句。 (3)完成类

    14、complex重载加法函数的定义,该函数直接返回一个类 complex的对象,同时把参数对象 c的实部 real和虚部 imag分别与当前对象对应部分分别相加,请在注释“/*3*”之后添加适当的语句。 (4)完成类 complex的友元函数 print的定义,使其以格式“real+imagi”输出,请在注释“/*4*”之后添加适当的语句。 源程序文件 test38_3.cpp清单如下; #include iostream.h class complex public: / * 1 * / * 2 * real=r;imag=i; complex operator+(complex friend

    15、 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); (分数: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)友元函数应该在类内声明,类外定义调用时和普通函数样,这点要切记。


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开