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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C+机试-174 及答案解析(总分:100.00,做题时间:90 分钟)一、1改错题(总题数:1,分数:33.00)1.使用 VC6 打开考生文件夹下的工程 RevProj10。此工程包含一个源程序文件 RevMain10.cpp。在该文件中,函数 fun 的功能是:计算出数组 x 中的最小值与次最小值,并分别将其与 x0、x1交换。请改正程序中的错误,使它能得到正确结果。注意,不要改动主函数,不得删行或增行,也不得更改程序的结构。源程序文件 RevMain10.cpp 中的程序清单如下:/RevMain10.cpp#include iostreamusing namespace std

2、;#define N 30int fun(int *x, int n);int main ()int hN=4,7, 6, 5, 1, 7,3, 8,0,2,3;int i;for (i=0; i11; i+)couth i “ “ ;cout “/n“;fun(h, 11);for (i=0; in; i+)couth i“ “;cout /n;return 0;int fun(int *x, int n)int i,t;int a1=0, a2=0,min1=32767,min2=32676;/* * * * *FOUND * * * * */for(i=1;in;i+)if (x imi

3、n1)min2=min1;a2=a1;min1=x i;a1=i;else if (x i min2)min2=x i;a2=i;/* * * * *FOUND * * * * */t=x0;xa1=x0;xa1=t;/* * * * *FOUND * * * * */t=x1 ;xa2=x1;xa2=t;(分数:33.00)_二、2简单应用题(总题数:1,分数:33.00)2.请编写一个函数 char *fun(char *s),其中 s 代表一个字符串。函数 fun()的功能是将字符串 s 的元素倒置。例如,输入为“teacher”,则应输出“rehcaet”。注意:部分源程序已存在文件

4、PROC10.cpp 中。请勿修改主函数和其他函数中的任何内容,仅在函数 fun()的花括号中填写若干语句。文件 PROC10.cpp 的内容如下:/PROC10. cpp#include iostream#include stringusing namespace std;char *fun(char *s);int main ( )char str81;cout“Please enter a string:/n“;cinstr;cout“The result is:“fun(str);coutend1;return 0;char*fun(char*s)/* * * * * * * * *(

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

6、语句。完成类 Derived 的成员函数 show()的类体外的定义。函数 show()中要显式调用基类的 show()函数,然后要输出私有成员 b 的值。请在注释“/* *3*”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件 MyMain10.cpp 清单如下:/MyMain10.cpp#includeiostreamusing namespace std;class Basepublic:Base(int x)a=xvoid show()couta;private:int a;/* * *1* * *public:/* * * 2 * * *vo

7、id show();private:int b;void Derived : show()/* * * 3 * * *int main()Derived d(1), *pb;pb=#define N 30int fun(int *x, int n);int main ()int hN=4,7, 6, 5, 1, 7,3, 8,0,2,3;int i;for (i=0; i11; i+)couth i “ “ ;cout “/n“;fun(h, 11);for (i=0; in; i+)couth i“ “;cout /n;return 0;int fun(int *x, int n)int i

8、,t;int a1=0, a2=0,min1=32767,min2=32676;/* * * * *FOUND * * * * */for(i=1;in;i+)if (x imin1)min2=min1;a2=a1;min1=x i;a1=i;else if (x i min2)min2=x i;a2=i;/* * * * *FOUND * * * * */t=x0;xa1=x0;xa1=t;/* * * * *FOUND * * * * */t=x1 ;xa2=x1;xa2=t;(分数:33.00)_正确答案:(正确的 fun()函数如下:int fun(int *x,int n)int i

9、,t;int a1=0,a2=0,min1=32767,min2=32676;for(i=0;in;i+)if(ximin1)min2=min1;a2=a1;min1=xi;a1=i;else if(ximin2)min2=xi;a2=i;t=x0;x0;xa1;xa1=t;t=x1;x1=xa2;xa2=t;)解析:解析 fun 函数中有 3 处错误:for 循环中的初始化语句不正确。应该从数组 x 的第 1 个元素开始循环,那么下标值 i 应该从 0 开始循环。在第 2 个标记处的语句序列不能完成两个数组元素之间值的交换。在第 3 个标记处的语句序列不能完成两个数组元素之间值的交换。二、2

10、简单应用题(总题数:1,分数:33.00)2.请编写一个函数 char *fun(char *s),其中 s 代表一个字符串。函数 fun()的功能是将字符串 s 的元素倒置。例如,输入为“teacher”,则应输出“rehcaet”。注意:部分源程序已存在文件 PROC10.cpp 中。请勿修改主函数和其他函数中的任何内容,仅在函数 fun()的花括号中填写若干语句。文件 PROC10.cpp 的内容如下:/PROC10. cpp#include iostream#include stringusing namespace std;char *fun(char *s);int main (

11、)char str81;cout“Please enter a string:/n“;cinstr;cout“The result is:“fun(str);coutend1;return 0;char*fun(char*s)/* * * * * * * * *(分数:33.00)_正确答案:(函数 fun()的定义如下:char*fun(char *s)char*head=s,*end,t;for(end=s;*end;end+);for(end-;send;s+;end-)t=*s;*s=*end;*end=t;return head;)解析:解析 函数 fun()的功能是将字符串 s 的

12、元素倒置,可用循环体来实现。三、3综合应用题(总题数:1,分数:34.00)3.使用 VC6 打开考生文件夹下的工程 MyProj10。此工程包含一个源程序文件 MyMain10.cpp。程序中定义了两个类 Base 和 Derived,但类的定义并不完整。请按要求完成下列操作,将类的定义补充完成:类 Derived 是基类 Base 公有派生来的。请在注释“/* *1* *”之后添加适当的语句。完成构造函数 Derived(int i)定义,采用初始化列表的方式使基类 Base 私有成员 a 初始化为 i+1,类Derived 的私有成员 b 初始化为 i。请在注释“/* *2* *”之后添

13、加适当的语句。完成类 Derived 的成员函数 show()的类体外的定义。函数 show()中要显式调用基类的 show()函数,然后要输出私有成员 b 的值。请在注释“/* *3*”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件 MyMain10.cpp 清单如下:/MyMain10.cpp#includeiostreamusing namespace std;class Basepublic:Base(int x)a=xvoid show()couta;private:int a;/* * *1* * *public:/* * * 2 * *

14、 *void show();private:int b;void Derived : show()/* * * 3 * * *int main()Derived d(1), *pb;pb=&d;pb-show();return 0;(分数:34.00)_正确答案:(class Derived:public BaseDerived(int i): Base(i+1),b(i)Base: :show();coutbend1;)解析:解析 基类 Base 派生出派生类 Derived,在主函数中,定义了基类对象 b,基类指针 pb,以及派生类对象 d,并让基类指针 pb 指向派生类对象 de 在 C+中,当派生类的对象赋值给基类对象时,只能使用派生类对象中从基类继承的成员。所以最后执行语句“pb-show();”是调用基类的成员函数 show(),输出 a 的值 2。

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