1、国家二级( C+)机试模拟试卷 31及答案与解析 一、程序改错题( 30分) 0 使用 VC6打开考生文件夹下的工程 RevProj12。此工程包含一个源程序文件RevMain12.cpp,但在该程序中有错误。请改正程序中的错误,使它能得到正确结果。 注意:不得删行或增行,也不得更改程序的结构。 源程序文件 RevMain12.cpp中的程序清单如下: /RevMain12.cpp #include iostream /* * * * FOUND * * * * */ using namespace std; class test private: const int value; char
2、dep10; public: /* * * * *FOUND* * * * */ test() value=0; strcpy(dep, “m“); /* * * * *FOUND* * * * */ test(int newvalue) value=newvalue; strcpy (dep, “m“); /* * * * *FOUND * * * * */ void show() cout “value= “ value end1; ; int main () test t1; const test t2; t1.show (); t2.show(); return 0; 二、简单应用题(
3、 40分) 0 请编写一个函数 char *fun(char *s, int n)。函数 fun()的功能是将字符串 s中的字符 “循环左移 ”n位。例如,输入 “ABCDE”,则循环左移 2位应输出 “CDEAB”,输入 “1234567”,循环左移 3位应输出 “4567123”。 注意:部分源程序已存在文件 PROC13.cpp中。 请勿修改主函数和其他函数中的任何内容,仅在函数 fun()的花括号中填写若干语句。 文件 PROC13.cpp的内容如下: /PROC13.cpp #include iostream #include string using namespace std;
4、char *fun(char *s, int n); int main() char str81; int n; cout “Enter a string(less than 80 char)n”; cin str; cout “n Enter n: “; cin n; if(n strlen(str) cout “n Data overflow“; return 0; cout “The result is: “ fun(str, n) end1; return 0; char *fun(char*s, int n) /* * * * * * 三、综合应用题( 30分) 0 使用 VC6打开
5、考生文件夹下的工程 MyProj11。此工程包含一个源程序文件 MyMain11.cpp。程序中定义了 3个类 A、 B和 C,但类 C的定义并不完整。 请按要求完成下列操作,将类的定义补充完成: 类 C是基类 A和 B公有派生来的。请在注释 “/* *1* *”之后添加适当的语句。 完成构 造函数 C(int k)定义,采用初始化列表的方式使基类 A私有成员 a初始化为 k-2,基类 B的私有成员 b初始化为 k+2,类 C的私有成员 c初始化为 k。请在注释 “/* *2* *”之后添加适当的语句。 完成类 Derived的成员函数 disp()的类体外的定义。函数 disp()中要分别显
6、式调用基类 A、 B的 disp()函数,然后要输出私有成员 c的值。请在注释 “/* *3* *”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件 MyMain11.cpp清单如下; /MyMain11.cpp #include iostream using namespace std; class A private: int a; public: A(int i) a=i; void disp() cout a “ , “ ; class B private: int b; public: B(int j) b=j; disp ( ) cout b “, “; ; /* * *1* * * private: int c; public: /* * *2* * * void disp(); ; void c:disp() /* * *3* * * int main ( ) C obj(10); obj.disp(); return 0; 国家二级( C+)机试模拟试卷 31答案与解析 一、程序改错题( 30分) 二、简单应用题( 40分) 三、综合应用题( 30分)
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1