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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C+机试-142 及答案解析(总分:100.00,做题时间:90 分钟)一、1改错题(总题数:1,分数:30.00)使用 VC+6.0 打开考生文件夹下的源程序文件 1.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句:TC1:0TC2注意:不要改动 main 函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*error*的下面。试题程序:#includeiostream.hstruct TC1TCl(int i=0)m_i=i;void print()cout“TC1:“m_iend1;int m_i;class TC2public:TC2()voi

2、d print()cout“TC2“end1;/*error*private:TC2();int main()/*error*TC1 obj1();/*error*TC2 ohj2();obj1.print();ohj2.print();return 0;(分数:30.00)填空项 1:_填空项 1:_填空项 1:_二、2简单应用题(总题数:1,分数:40.00)1.使用 VC+6.0 打开考生文件夹下的源程序文件 2.cpp。完成函数 fun(char *s,int a),其功能是把字符串 s 中的数字提取出来存储在 a中,然后返回数字的个数。例如 s=“1234abcdef567“,则 a

3、中存储着 1234567,返回 7。注意:不能修改程序的其他部分,只能修改 fun 函数。试题程序:#includeiostream.hint fun(char *s,int a)int main()int a1024;int len=fun(“1234abcdef567“,a);for(int i=0;ilen;i+)coutai;coutend1;coutiend1;return 0;(分数:40.00)_三、3综合应用题(总题数:1,分数:30.00)使用 VC+6.0 打开考生文件夹下的源程序文件 3.cpp。类 People 包括姓名和年龄两个字段。函数 fun 获得年龄比较大的人的

4、姓名,然后输出这个姓名到屏幕。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)完成类的构造函数功能,请在注释 1 后添加适当的语句。(2)完成构造函数对姓名的赋值,请在注释 2 后添加适当的语句。(3)定义类的友元函数 fun,请在注释 3 后添加适当的语句。(4)补充函数 fun 的年龄比较功能,请在注释 4 后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。试题程序:#includeiostream.hclass Peoplepublic:/*1*int i;for(i=0;sUserNamei!=0;i+)m_UserName

5、i=sUserNamei;/*2*m_Old=nOld;private:char m_UserName32;int m_Old;/*3*;void fun(char *s,People person1,Peopleperson2)/*4*if()for(int i=0;person1.m_UserNamdi!=0;i+)si=person1.m_UserNamei;si+1=0;elsefor(int i=0;person2.m_UserNamei!=0;i+)si=person2.m_UserNamei;si+1=0;void main()char s32;People p1(“abc“,2

6、0);People p2(“def“,30);fun(s,p1,p2);coutsend1;return;(分数:30.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_二级 C+机试-142 答案解析(总分:100.00,做题时间:90 分钟)一、1改错题(总题数:1,分数:30.00)使用 VC+6.0 打开考生文件夹下的源程序文件 1.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句:TC1:0TC2注意:不要改动 main 函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*error*的下面。试题程序:#includeiostream.h

7、struct TC1TCl(int i=0)m_i=i;void print()cout“TC1:“m_iend1;int m_i;class TC2public:TC2()void print()cout“TC2“end1;/*error*private:TC2();int main()/*error*TC1 obj1();/*error*TC2 ohj2();obj1.print();ohj2.print();return 0;(分数:30.00)填空项 1:_ (正确答案:应改为“public:”。)解析:填空项 1:_ (正确答案:应改为“TC1 obj1(0);”或“TC1 obj1

8、;”。)解析:填空项 1:_ (正确答案:应改为“TC2 obj2;”。)解析:解析 本题第 1 处的“private:TC2()”是析构函数,它不是私有的,所以这里应该删除“private:”或修改为“public:”。第 2 处的“TC1 obj1();”语句是定义一个 TC1 类型的对象obj1(),根据类 TC1 构造函数的定义“TC1(int i=0)”,知道存在整型参数,应该补充参数,或者只是先定义一个对象名,然后在使用时补充参数,即修改为“TC1 obj1(0);或 TC1 obj1;”。第 3 处的“TC2 obj2();”语句修改为“TC2 obj2;”。二、2简单应用题(总

9、题数:1,分数:40.00)1.使用 VC+6.0 打开考生文件夹下的源程序文件 2.cpp。完成函数 fun(char *s,int a),其功能是把字符串 s 中的数字提取出来存储在 a中,然后返回数字的个数。例如 s=“1234abcdef567“,则 a中存储着 1234567,返回 7。注意:不能修改程序的其他部分,只能修改 fun 函数。试题程序:#includeiostream.hint fun(char *s,int a)int main()int a1024;int len=fun(“1234abcdef567“,a);for(int i=0;ilen;i+)coutai;c

10、outend1;coutiend1;return 0;(分数:40.00)_正确答案:(int j=0;for(int i=0;si!=0;i+) /字符串内循环if(si=0si=9) /判断字符是否为 09 的字符aj+=si=0; /如果为 09 的字符,转换为整型return j; /返回数字个数)解析:解析 本题中变量 j 用来记录转换的个数,首先初始化为 0,然后利用 for 循环判断每一个当前字符是否为数字字符。如果为数字字符,就将其减去字符“0”,即实现字符和整型的转换,并且将 j 的变量值加 1。三、3综合应用题(总题数:1,分数:30.00)使用 VC+6.0 打开考生文件

11、夹下的源程序文件 3.cpp。类 People 包括姓名和年龄两个字段。函数 fun 获得年龄比较大的人的姓名,然后输出这个姓名到屏幕。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)完成类的构造函数功能,请在注释 1 后添加适当的语句。(2)完成构造函数对姓名的赋值,请在注释 2 后添加适当的语句。(3)定义类的友元函数 fun,请在注释 3 后添加适当的语句。(4)补充函数 fun 的年龄比较功能,请在注释 4 后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。试题程序:#includeiostream.hclass Peopl

12、epublic:/*1*int i;for(i=0;sUserNamei!=0;i+)m_UserNamei=sUserNamei;/*2*m_Old=nOld;private:char m_UserName32;int m_Old;/*3*;void fun(char *s,People person1,Peopleperson2)/*4*if()for(int i=0;person1.m_UserNamdi!=0;i+)si=person1.m_UserNamei;si+1=0;elsefor(int i=0;person2.m_UserNamei!=0;i+)si=person2.m_U

13、serNamei;si+1=0;void main()char s32;People p1(“abc“,20);People p2(“def“,30);fun(s,p1,p2);coutsend1;return;(分数:30.00)填空项 1:_ (正确答案:应添加“People(char *sUserName,int nOld)”。)解析:填空项 1:_ (正确答案:应添加“m_UserNamei=0;”。)解析:填空项 1:_ (正确答案:应添加“friend void fun(char *s,Peopleperson1,Peopleperson2);”。)解析:填空项 1:_ (正确答案

14、:将“if()”补充完整为“if(person1.m_Old)person2.m_Old)”。)解析:解析 本题第 1 处要求“完成类的构造函数”。根据“class People”语句知道 People 为类,所以类 People 的构造函数名为 People,根据第 1 处的大括弧中的语句知道函数中的参数为数组 sUserName存放姓名,整型 nOld 存放年龄,所以补充构造函数定义为“People(char *sUserName,int nOld)”。第2 处要求“完成构造函数对姓名的赋值”。第 2 处补全姓名赋值,即“m_UserNamei=0;”。第 3 处要求“定义类的友元函数 f

15、un”。在 C+中,如果在本类以外的其他地方定义了一个函数,在类体中是用friend 对该函数进行声明的,此函数称为本类的友元函数,并且能够调用本类中的成员变量。程序中的fun 函数定义为“void fun(char *s,Peopleperson1,Peopleperson2)”,所以声明 fun()为类People 的友元函数,即这里补全“friend void fun(char *s,Peopleperson1,Peopleperson2);”。第 4 处要求“补充函数 fun 的年龄比较”。类 People 中年龄的变量为 m_Old,根据 C+中类变量的调用格式补充第 4 处 if 语句中的条件判断语句,即“if(person1.m_Oldperson2.m_Old)”。

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