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

    【计算机类职业资格】国家二级C++机试(操作题)-试卷147及答案解析.doc

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

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

    【计算机类职业资格】国家二级C++机试(操作题)-试卷147及答案解析.doc

    1、国家二级 C+机试(操作题)-试卷 147及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请使用”答题”菜单或使用 VC6打开考生文件夹 pmjI下的工程 pmjl,程序中位于每个ERROR*found*水下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是:ATme 注意:只能修改每个ERROR*found*下的那一行,不要改动程序中的其他内容。#includeiostreamusing namespace std;class Choiceprivate:const char answer,public:ERROR*f

    2、ound*Choice(char C)answer=C;)一 Choice()void check(char x)coutxendl;ERROR*found*if(answer=x)cout“True”endl;elsecout“False”end1;int main()ERROR *found*Choice C=new Choice(A);C 一check(A);delete C;return 0;(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.请使用”答题”菜单或使用 VC6打开考生文件夹 proj2下的工程 proj2,本程序中有两个类:一是日期类(Date),用于表

    3、示一天的日期(年、月、日);另一个是截止日期类(Dead1ine),用于表示一个任务的截止日期,超过该日期即为超时。Deadline 类中有 Date类的数据成员。这里对 Deadline类的数据成员和成员函数做一下说明:int id;截止日期的 idDate enddate;截止日期,表示允许完成该任务的最后一天 void finish(Date date);date 未超过截止日期时,输出”Finished!”,否则输出”Time out” bool check(Date date);date 未超过截止日期时返回 true,否则返回 false。 程序正确情况下输出: Finished!

    4、 Time out注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动“*found*”。#includeiOStreamusing namespace std;class Date(private:int year;int month;int dayof month;public:Date(int Y,int m,int d)this 一year=Y;this 一month:m;this 一day Of month=d;bool operator=(Date&dt)const if(this 一yeardtyear lI(this 一year=dtyear&this

    5、一monthdtmonth)I I(this 一year=dtyearthis 一month=dtmonththis 一dayofmonth=dtday_of_month)*found*;return false;class Deadlineprivate:int id;Date end date;public:Deadline(int id,int year,int month,int day_of_month)*found*this 一id=id;void finish(Date date)if(check(date)*found*coutendl;elsecout”Time out”en

    6、dl;)bool check(Date date) *found*return;:;int main()Deadline * d1=new Deadline(1,2014,3,12);Deadline*d2=new Deadline(2,2013,12,20);Date current time(2 01 4,1,1);dl 一finish(current time);d2 一finish(current time);delete d1,delete d2;return 0;(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.请使用“答题”菜单或使用 VC6打开考生文件夹 pr

    7、oj3下的工程 proj3,其中定义了 BaseX类(X 进制整数类),其中成员函数 print输出该整数指定数制的表示形式。使用展转相除法,可从低位到高位逐位求出所需要的表示形式,例如,求十制数 231的四进制表示形式,方法如下:2314=573574=141144=32 结果是:3213 在 main函数中给出了一组测试数据,正确的输出是:2001 注意:只需在*333*和*666*,之间填入所编写的若干语句,不要改动程序中的其他内容。#includeiostream#includecmath#include”BaseXh”using namespace std;BaseX:BaseX(i

    8、nt n)(thiS 一num=n;BaseX:一 BaseX()void BaseX:print(int x) 输出整数 num的 X进制表示形式 int arr1 00; 存放转换结果,arr0存放最低位 int index=0; 当前数组 arr中元素的个数*333*666*for(int i=、index 一 1;i=0;i一) 从高位到低位输出所需表示形式 coutarri;coutendl; int main()BaseX b(12 9);bprint(4);writeToFile(”C:test、-),return 0; proj3BaseXh class BaseXint nu

    9、m;public:BaseX(int n);一 BaseX();void printint x); ; void writeToFile(const char*path);(分数:2.00)_国家二级 C+机试(操作题)-试卷 147答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请使用”答题”菜单或使用 VC6打开考生文件夹 pmjI下的工程 pmjl,程序中位于每个ERROR*found*水下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是:ATme 注意:只能修改每个ERROR*found*下的那一行,不要改动程序

    10、中的其他内容。#includeiostreamusing namespace std;class Choiceprivate:const char answer,public:ERROR*found*Choice(char C)answer=C;)一 Choice()void check(char x)coutxendl;ERROR*found*if(answer=x)cout“True”endl;elsecout“False”end1;int main()ERROR *found*Choice C=new Choice(A);C 一check(A);delete C;return 0;(分数

    11、:2.00)_正确答案:(正确答案:(1)Choice(char c):answer(c) (2)if(answer=:x) (3)Choice*c=new Choice(A);)解析:解析:主要考查类中 const成员变量的初始化,容易出错的是=与=运算符,以及指针的使用。 【解题思路】 (1)C+约定:初始化 eonst对象或引用类型的对象,但不能对他们赋值。在开始执行构造函数的函数体之前,必须完成初始化。初始化 const或引用类型数据成员的唯一机会是在构造函数初始化列表中。 (2)判断相等使用=运算符,不是赋值号“=”。 (3)new 操作符返回的是一个指针,因此使用指针变量来接收。二

    12、、简单应用题(总题数:1,分数:2.00)2.请使用”答题”菜单或使用 VC6打开考生文件夹 proj2下的工程 proj2,本程序中有两个类:一是日期类(Date),用于表示一天的日期(年、月、日);另一个是截止日期类(Dead1ine),用于表示一个任务的截止日期,超过该日期即为超时。Deadline 类中有 Date类的数据成员。这里对 Deadline类的数据成员和成员函数做一下说明:int id;截止日期的 idDate enddate;截止日期,表示允许完成该任务的最后一天 void finish(Date date);date 未超过截止日期时,输出”Finished!”,否则输

    13、出”Time out” bool check(Date date);date 未超过截止日期时返回 true,否则返回 false。 程序正确情况下输出: Finished! Time out注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动“*found*”。#includeiOStreamusing namespace std;class Date(private:int year;int month;int dayof month;public:Date(int Y,int m,int d)this 一year=Y;this 一month:m;this 一day

    14、 Of month=d;bool operator=(Date&dt)const if(this 一yeardtyear lI(this 一year=dtyear&this 一monthdtmonth)I I(this 一year=dtyearthis 一month=dtmonththis 一dayofmonth=dtday_of_month)*found*;return false;class Deadlineprivate:int id;Date end date;public:Deadline(int id,int year,int month,int day_of_month)*fou

    15、nd*this 一id=id;void finish(Date date)if(check(date)*found*coutendl;elsecout”Time out”endl;)bool check(Date date) *found*return;:;int main()Deadline * d1=new Deadline(1,2014,3,12);Deadline*d2=new Deadline(2,2013,12,20);Date current time(2 01 4,1,1);dl 一finish(current time);d2 一finish(current time);de

    16、lete d1,delete d2;return 0;(分数:2.00)_正确答案:(正确答案:(1)return true (2):enddate(year,month,day-0f_month) (3)”Finshed” (4)(enddate=date)?false:true)解析:解析:主要考查类构造函数定义,初始化列表;条件运算符的使用。 【解题思路】 (1)根据题设可知比较两个日期的大小,由 if语言的判断,可知 this的日期大于 date,返回真。 (2)构造函数的初始化列表,使用基类的构造函数完成子类成员的初始化。 (3)根据题意可知,没有超过 deadline,故输出“Fi

    17、nshed”。 (4)检查当前日期是否超过截止时间。超过 deadline,返回 false,否则返回 true。三、综合应用题(总题数:1,分数:2.00)3.请使用“答题”菜单或使用 VC6打开考生文件夹 proj3下的工程 proj3,其中定义了 BaseX类(X 进制整数类),其中成员函数 print输出该整数指定数制的表示形式。使用展转相除法,可从低位到高位逐位求出所需要的表示形式,例如,求十制数 231的四进制表示形式,方法如下:2314=573574=141144=32 结果是:3213 在 main函数中给出了一组测试数据,正确的输出是:2001 注意:只需在*333*和*66

    18、6*,之间填入所编写的若干语句,不要改动程序中的其他内容。#includeiostream#includecmath#include”BaseXh”using namespace std;BaseX:BaseX(int n)(thiS 一num=n;BaseX:一 BaseX()void BaseX:print(int x) 输出整数 num的 X进制表示形式 int arr1 00; 存放转换结果,arr0存放最低位 int index=0; 当前数组 arr中元素的个数*333*666*for(int i=、index 一 1;i=0;i一) 从高位到低位输出所需表示形式 coutarri

    19、;coutendl; int main()BaseX b(12 9);bprint(4);writeToFile(”C:test、-),return 0; proj3BaseXh class BaseXint num;public:BaseX(int n);一 BaseX();void printint x); ; void writeToFile(const char*path);(分数:2.00)_正确答案:(正确答案:while(aura) artindex+=numx; Bum=x; )解析:解析:主要考查将一个数转化为 x进制,使用辗转相除法来处理。 【解题思路】 将一个数转化为x进制,使用辗转相除法,将余数放在 arr数组中,对商继续使用辗转相除法来处理,直到商为 0。 最后反向输出数组中的值,即为 x进制的数。


    注意事项

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




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

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

    收起
    展开