【计算机类职业资格】国家二级C++机试(操作题)模拟试卷438及答案解析.doc
《【计算机类职业资格】国家二级C++机试(操作题)模拟试卷438及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C++机试(操作题)模拟试卷438及答案解析.doc(3页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(操作题)模拟试卷 438及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modi1cpp,但该程序运行时有错,请改正程序中的错误,使该程序的输出结果为: 20,15 15,20 注意:错误的语句在*error*的下面,修改该语句即可。#includeiostreamh*error*void Exchangel(int m,int n) int t=m; m=n; n=t;*error*void Exchange2(int m,int n) int t=*m; *m =*n; *n =
2、t;void main() int b=20; int a=15; Exchange1(a,b); couta,bend1; *error* Exchange2(a,b); couta,bend1;(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生文件夹下的源程序文件 modi2cpp。阅读下列函数说明和代码,补充空出的代码。函数 convert(char*des,char*str)的功能是去掉字符串 str中相同的字母,并将处理后的结果存到 des所指的字符串中。例如: 输入:This is great! 输出:This grea! 注意:不能修改程序的
3、其他部分,只能补充 fun()函数。 #include #define MAXLEN 1024 void convert(char*des,char*str) void main() char sourMAXLEN; char destMAXLEN; cout“Please input a string: “dest_三、综合应用题(总题数:1,分数:2.00)3.使用 VC6打开考生文件夹下的源程序文件 modi3cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义复数类 CComplex的私有成员变量 real和 imaginary,分别用来表示
4、复数的实部和虚部,都是 double 类型的变量。 请在注释*1*后添加适当的语句。 (2)添加复数类 CComplex的带一个参数的构造函数,分别将 real和 imaginary赋值为参数 r和 0。请在注释*2*后添加适当的语句。 (3)完成对运算符“+”的重载,分别对复数的实部和虚部相加。请在注释*3*后添加适当的语句。 (4)完成复数的友元函数Equal(CComplex&c1。CComplex&c2)的定义,如果两个数的实部和虚部都相等,则返回 1,否则返回 0,请在注释*4*后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。#includeiostr
5、eamh class CComplexprivate: *1*public: CComplex() real=imaginary=0; CComplex(double r) *2* CComplex operator+(ccomplex&c1) *3* tempreal=real+c1real; tempimaginary=imaginary+c1imaginary; return temp; void Set(int re,int imag) real=re; imaglnary=imag; friend bool Equal(CComplex&c1,CComplex& c2);bool E
6、qual(CComplex&c1,CComplex&c2) *4* int main() CComplex complexl(5); CComplex complex2; coutEqual(complex1,complex2)end1; : complex2Set(5,0); coutEqual(complexl,complex2)end1; return 0;(分数:2.00)_国家二级 C+机试(操作题)模拟试卷 438答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modi1cpp,但该程序运行时
7、有错,请改正程序中的错误,使该程序的输出结果为: 20,15 15,20 注意:错误的语句在*error*的下面,修改该语句即可。#includeiostreamh*error*void Exchangel(int m,int n) int t=m; m=n; n=t;*error*void Exchange2(int m,int n) int t=*m; *m =*n; *n =t;void main() int b=20; int a=15; Exchange1(a,b); couta,bend1; *error* Exchange2(a,b); couta,bend1;(分数:2.00)
8、_正确答案:(正确答案:(1)void Exchange1(int&m,int&n) (2)void Exchange2(int*m,int*n) (3)Exchange2(&a,&b);)解析:解析:(1)由程序的运行结果可知,分别调用 Exchangel()和 Exchange2()后,a 和 b的值两次发生交换,因此 Exchange1()函数和 Exchange2()函数均为实现交换的函数。参数传递方式有多种,将变量名作为实参和形参、传递变量的指针和传送引用方式,将变量名作为实参和形参方式,这种传递是单向的,在函数执行过程中形参的值发生变化不会传回实参,而指针和引用方式在函数执行过程中
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 机试 操作 模拟 试卷 438 答案 解析 DOC
