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

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

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

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

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

    1、二级 C+机试-173 及答案解析(总分:100.00,做题时间:90 分钟)一、1改错题(总题数:1,分数:33.00)1.使用 VC6 打开考生文件夹下的工程 RevProj11。此工程包含一个源程序文件 RevMain11.cpp,但在源程序文件中有错误。请改正程序中的错误,使它能得到正确结果。注意,不得删行或增行,也不得更改程序的结构。源程序文件 RevMainll.cpp 中的程序清单如下:/RevMainll.cpp#includeiostreamusing namespace std;class pointprivate:const int color;int x;int y;p

    2、ublic:point(int x,int y,int c)this-x=x;this-y=y;color=c;void show()cout“x=“x“,y=“y“,color=“colorend1;int main()const point p(10,10,100);p.show();return 0;(分数:33.00)_二、2简单应用题(总题数:1,分数:33.00)2.请编写一个函数 int fun(int n),其中 n 为自然数。函数 fun()的功能是求出自然数 n(包括 n)以内所有素数的和,并返回其值。注意;部分源程序已存在文件 PROC11.cpp 中。请勿修改主函数和其

    3、他函数中的任何内容,仅在函数 fun()的花括号中填写若干语句。文件 PROC11.cpp 的内容如下:/PROC11.cpp#includeiostreamusing namespace std;int fun(int n);int main()int number;cout“Enter the number which you want to caculate: /n“;cinnumber;cout“The result is:“fun(number)end1;return 0;int fun(int n)/* * * * * * * * *(分数:33.00)_三、3综合应用题(总题数:

    4、1,分数:34.00)3.使用 VC6 打开考生文件夹下的工程 MyProj11。此工程包含一个源程序文件 MyMain11.cpp。程序中定义了 3 个类 A、B 和 C,但类 C 的定义并不完整。请按要求完成下列操作,将类的定义补充完成:类 C 是基类 A 和 B 公有派生来的。请在注释“/* *1* *”之后添加适当的语句。完成构造函数 C(int k)定义,采用初始化列表的方式使基类 A 私有成员 a 初始化为 k-2,基类 B 的私有成员 b 初始化为 k+2,类 C 的私有成员 c 初始化为 k。请在注释“/* *2* *”之后添加适当的语句。完成类 Derived 的成员函数 d

    5、isp()的类体外的定义。函数 disp()中要分别显式调用基类 A、B 的 disp()函数,然后要输出私有成员 c 的值。请在注释“/* *3* *”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件 MyMain11.cpp 清单如下;/MyMain11.cpp#include iostreamusing namespace std;class Aprivate:int a;public:A(int i) a=i;void disp()couta“ , “;class Bprivate:int b;public:B(int j) b=j;disp

    6、( )coutb“, “;/* * *1* * *private:int c;public:/* * *2* * *void disp();void c:disp()/* * *3* * *int main ( )C obj(10);obj.disp();return 0;(分数:34.00)_二级 C+机试-173 答案解析(总分:100.00,做题时间:90 分钟)一、1改错题(总题数:1,分数:33.00)1.使用 VC6 打开考生文件夹下的工程 RevProj11。此工程包含一个源程序文件 RevMain11.cpp,但在源程序文件中有错误。请改正程序中的错误,使它能得到正确结果。注意

    7、,不得删行或增行,也不得更改程序的结构。源程序文件 RevMainll.cpp 中的程序清单如下:/RevMainll.cpp#includeiostreamusing namespace std;class pointprivate:const int color;int x;int y;public:point(int x,int y,int c)this-x=x;this-y=y;color=c;void show()cout“x=“x“,y=“y“,color=“colorend1;int main()const point p(10,10,100);p.show();return 0

    8、;(分数:33.00)_正确答案:(正确的程序代码如下:#includeiostreamusing namespace std;class pointprivate:const int color;int x;int y;public:point(int x,int y,int c):color(c)this-x=x;this-y=y;void show()cout“x=“x“,y=“y“,color=“colorend1;int main()point p(10,10,100);p.show();return 0;)解析:解析 本题程序中有 2 处错误:C+中,如果在一个类中说明了常数据成员

    9、,那么构造函数就只能通过初始化列表对数据成员进行初始化。私有成员 color 被定义成常数据成员,因此构造函数 point()对 color 的初始化形式是错误的。C+中,如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他成员函数。主函数中对象 p 被定义成类 point 的常对象,因此通过该对象不能调用非常成员函数 show()。二、2简单应用题(总题数:1,分数:33.00)2.请编写一个函数 int fun(int n),其中 n 为自然数。函数 fun()的功能是求出自然数 n(包括 n)以内所有素数的和,并返回其值。注意;部分源程序已存在文件 PROC11

    10、.cpp 中。请勿修改主函数和其他函数中的任何内容,仅在函数 fun()的花括号中填写若干语句。文件 PROC11.cpp 的内容如下:/PROC11.cpp#includeiostreamusing namespace std;int fun(int n);int main()int number;cout“Enter the number which you want to caculate: /n“;cinnumber;cout“The result is:“fun(number)end1;return 0;int fun(int n)/* * * * * * * * *(分数:33.0

    11、0)_正确答案:(函数 fun()的定义如下:int fun(int n)int i,j,sum=0;for(j=2;jn;j+)for(i=2;i=i;i+)if(j%i=0)break;if(i=j)sum+=j;)解析:解析 所谓素数就是其约数只有 1 和其本身的自然数。因为除 2 以外的素数都是奇数,所以只需要对奇数进行判断即可。可以采用一个双重循环结构,通过外循环的控制变量 i 每次向内循环提供一个奇数,让内循环进行判断。根据素数的定义,内循环的控制变量 i 的初值为 2,终值为外循环的控制变量 i的平方根,步长为 1。在内循环中判断 i 能否被 j 整除。如果 i 能被 j 整除,

    12、则表明 i 不是素数,就退出内循环,将控制转移到内循环的后继语句:如果循环能正常结束,表明除了 1 和其本身没有其他约数,因此,i 是一个素数。利用循环正常结束时它的循环控制变量的值总是超出(大于或小于)循环终值的特性,在内循环的外面判断内循环的控制变量 j 是否大于内循环的终值,就能确定 i 的值是否为素数。三、3综合应用题(总题数:1,分数:34.00)3.使用 VC6 打开考生文件夹下的工程 MyProj11。此工程包含一个源程序文件 MyMain11.cpp。程序中定义了 3 个类 A、B 和 C,但类 C 的定义并不完整。请按要求完成下列操作,将类的定义补充完成:类 C 是基类 A

    13、和 B 公有派生来的。请在注释“/* *1* *”之后添加适当的语句。完成构造函数 C(int k)定义,采用初始化列表的方式使基类 A 私有成员 a 初始化为 k-2,基类 B 的私有成员 b 初始化为 k+2,类 C 的私有成员 c 初始化为 k。请在注释“/* *2* *”之后添加适当的语句。完成类 Derived 的成员函数 disp()的类体外的定义。函数 disp()中要分别显式调用基类 A、B 的 disp()函数,然后要输出私有成员 c 的值。请在注释“/* *3* *”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件 MyMain11

    14、.cpp 清单如下;/MyMain11.cpp#include iostreamusing namespace std;class Aprivate:int a;public:A(int i) a=i;void disp()couta“ , “;class Bprivate:int b;public:B(int j) b=j;disp ( )coutb“, “;/* * *1* * *private:int c;public:/* * *2* * *void disp();void c:disp()/* * *3* * *int main ( )C obj(10);obj.disp();return 0;(分数:34.00)_正确答案:(clas C:public B,public AC(int k):A(k-2),B(k+2),c(k)A: :disp(); B: :disp();coutcend1;)解析:解析 程序中定义了 3 个类 A、B 和 C,其中类 C 是由类 A 和类 B 共同派生而来的。因此,派生类C 的构造函数不仅负责初始化派生类对象的基类成员,还要对派生类 C 的新增成员 c 进行初始化。对于第3 处要求显式调用基类的 disp()函数,可采用作用域分辨符“:”来调用基类的成员函数。


    注意事项

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




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

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

    收起
    展开