1、国家二级( C+)机试模拟试卷 26及答案与解析 一、程序改错题( 30分) 0 使用 VC6打开考生文件夹下的工程 RevPrroj7。此工程包含一个源程序文件 RevMain7.cpp。在该文件中,函数 fun()的功能是:逐个比较 a、 b两个字符串对应位置中的字符,把 ASCII码值大或相等的字符依次存放到 c数组中,形成一个新的字符串。例如:若 a中的字符串为 aBCDeFgH, b中的字符串为 ABcd,则 c中的字符串为 aBcdeFgH。 请改正程序中的错误,使它能得到正确结果。 注意,不要改动主函数 ,不得删行或增行,也不得更改程序的结构。 源程序文件 RevMain7.cp
2、p中的程序清单如下: /RevMain7.cpp #include iostream #include string using namespace std; void fun(char *p, char *q, char *c) int k=1; while(*p!=*q) if(*p *q) ck=*q; else ck=*p; if(*p) p+; if(*q) q+; int main() char a10=“aBCDeFgH“, b10=“ABcd“, c80=0; fun(a, b, c); cout “The string a is “ a n; cout “The string
3、 b is “ b n; cout “The string c is “ c endl; return 0; 二、简单应用题( 40分) 0 请编写一个函数 int compare(char *s,char *t), 该函数的功能是对两个字符串进行比较。当 s所指字符串和 t所指字符串相等时,返回值为 0;当 s所指字符串大于是 t指字符串时,返回值大于 0;当 s所指字符串小于 t所指字符串时,返回值小于 0。 注意:部分源程序已存在文件 PROC8.cpp中。 文 件 PROC8.cpp的内容如下: /PROC8.cpp #include iostream #include string
4、using namespace std; int compare(char *s,char *t) /* * * * * * * * * int main () char str1100,str2100; int result; cout “Input the first stringn“; cin str1; cout “Input the second stringn“; cin str2; result=compare(str1,str2); if (result=0) cout “string1=string2 ! n“; else if (result 0) cout “string
5、1 string2 ! n“; else cout “string1 string2 ! n“; return 0; 三、综合应用题( 30分) 0 使用 VC6打开考生文件夹下的工程 MyProj6。此工程包含一个源程序文件MyMain6.cpp。在程序中,定义了一个 Furniture类, Bed类和 Sofa类是在 Furniture类的基础上按公有继承的方式产生的派生类, Sleepersofa类是在 Bed类和 Sofa类的基础上按公有继承的方式产生的派生类。 请按要求完成下列操作,将类 Date的定义补充完成: Bed类是在 Furniture类的基础上按公有继承的方式产生的派生类
6、,为了使程序中的多重继承关系不出现二义性。请在注释 “/*1*”之后添加适当的语句。 Sofa类是在 Furniture类的基础上按公有继承的方式产生的派生类,为了使程序中的多重继承关系不出现二义性。请在注释 “/*2*”之后添加适当的语句。 Sleepersofa类是在 Bed类和 Sofa类的基础上按公有继承的方式产生的派生类。请在注释 “/*3*”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件 MyMain6.cpp清单如下; /MyMain6.cpp #include iostream using namespace std; class
7、 Furniture public: Furniture() void setweight(int w) weight=w; int getweight() return weight; protected: int weight; ; /* *1 * * class Bed definition public: Bed() void sleep() cout “sleeping “ end1; ; /* *2* * class Sofa definition public: Sofa() void watchTV() cout “watching TV “ end1; ; /* * * 3 * * * public: Sleepersofa() void Foldout() cout “Fold out the sofa“. endl; ; int main() Sleepersofa ss; ss.setweight(20); cout ss.getweight() end1; return 0; 国家二级( C+)机试模拟试卷 26答案与解析 一、程序改错题( 30分) 二、简单应用题( 40分) 三、综合应用题( 30分)
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1