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

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

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

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

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

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

    2、ic:CPP_Tutorial()private_data = 5;class friendclasspublic: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:_二、2简单应用题(总题数:1,分数:40.00)2.请编写一个函数 fun(char*num),该函数返回与传入的二进制数

    3、相应的十进制数,参数 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 ( )char num8,ch;cout“Enter an 8

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

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

    6、除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件 test32_3.cpp 清单如下:#include iostream.hclass complex/* 1 *public:complex()real=image=O.O;complex(double r)/* 2 *complex operator+(const complex friend bool isequal(complex *c1,complex *c2void display();complex complex:operator+(const complex temp.image=image+c.image;re

    7、turn temp;bool isequal(complex *c1,complex *c2)/ /* 4 *return 1;elsereturn 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)_二级 C+机试-87 答案解析(总分:100.

    8、00,做题时间:90 分钟)一、1改错题(总题数:1,分数:30.00)1.使用 VC6 打开考生文件夹下的工程 test32_1,此工程包含一个源程序文件 test32_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为:Added Result for this C+tutorial:3源程序文件 test32_1.cpp 清单如下:/* found */#includeiostreamclass CPP_Tutorialint private_data;/* found */class friendclass;public:CPP_Tutorial()private

    9、_data = 5;class friendclasspublic: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:_ (正确答案:(1) 错误:gincludeiostream正确:#includeiostream.h(2) 错误:class friendclass;正确:friend

    10、 class friendclass;(3) 错误:return var2-x;正确;return var2.private_data-x;)解析:解析 (1)主要考查考生是否理解头文件的概念,在 C+中可以把已经定义好的或者系统自带的类定义引入自建的工程中,其方式就是通过使用头文件,把要引入的结构放在头文件(.h 结尾的)中,在自建工程的开头使用#include 加入即可,不过应该使用头文件的全名,题目中错误的丢掉了扩展名.h;(2)主要考查考生是否掌握了友元类的定义,友元类是声明在一个类内的新的类,友元类的所有成员都可以访问原来类的所有成员,所以友元类破坏了程序的封装性,不过只有友元类和友

    11、元函数能够直接访问所在类的私有成员,题目中的类 friendclass 将要访问所在类的私有成员,所以应该被定义成友元类;(3)主要考查考生对于对象和对象成员操作的掌握,var2 是类 CPP_Tutorial 的对象,它不能直接和数据成员操作,应该使用对象访问成员的操作符“.”操作它的数据成员 private_data 和 x 进行操作。二、2简单应用题(总题数:1,分数:40.00)2.请编写一个函数 fun(char*num),该函数返回与传入的二进制数相应的十进制数,参数 num 指向存放 8位二进制数的字符数组。二进制数转换为十进制数的方法是将二进制数的每一位乘以该位的权然后相加,如

    12、二进制数 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 ( )char num8,ch;cout“Enter an 8 bit binary number“;for(int i=0;i8;i+)cinch;numi=ch;coutfun(num)end1

    13、;(分数: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)解析:解析 本题为条件判断语句、循环语句和数组的综合应用。需要注意的是数组下标为 0 的元素存放的为二进制数中权最大的位,而数组下标为 7 的元素存放的为二进制数中权最小的位,而且在数组中存放的是二进制数的字符串,需要将每个字符转换成相应的整型数字

    14、才能乘以相应的权。三、3综合应用题(总题数:1,分数:30.00)3.使用 VC6 打开考生文件夹下的工程 test32_3。此工程包含一个 test32_3.cpp,其中定义了复数类complex,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)定义复数类 complex 的私有数据成员 real 和 image,用来分别表示复数的实部和虚部,它们都是double 型的数据。请在注释“/*1*”之后添加适当的语句。(2)添加复数类 complex 的带一个参数的构造函数,分别将 real 和 image 赋值为参数 r 的值和 0.0,请在注释“/*2*”之后添加适当的语句

    15、。(3)完成复数类 complex 的“+”运算符重载成员函数的定义,两个复数相加是将复数的实部和虚部分别进行相加,请在注释“/*3*”之后添加适当的语句。(4)完成复数类 complex 的友元函数 isequal(complex *cl,complex *c2)的定义,如果复数 c1 与 c2 相等即 c1 与 c2 的实部和虚部分别相等,则返回 1,否则返回 0。请在注释“/*4*”之后添加适当的语句。程序输出结果如下:36+0i=36+0i注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件 test32_3.cpp 清单如下:#include iostream.hc

    16、lass complex/* 1 *public:complex()real=image=O.O;complex(double r)/* 2 *complex operator+(const complex friend bool isequal(complex *c1,complex *c2void display();complex complex:operator+(const complex temp.image=image+c.image;return temp;bool isequal(complex *c1,complex *c2)/ /* 4 *return 1;elseret

    17、urn 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)解析:解析 本题主要考查了类的定义、类构造函数的重载、运算符重载和友元函数等知识点。特别是在重载运算符“+”中临时复数类的申请,相加的两个复数实部与虚部数值的获取,都是需要牢记的,这是运算符重载函数编写的核心所在。


    注意事项

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




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

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

    收起
    展开