【计算机类职业资格】二级C++分类模拟155及答案解析.doc
《【计算机类职业资格】二级C++分类模拟155及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟155及答案解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 155 及答案解析(总分:100.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC6 打开 下的源程序文件 modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: i=5 i=10 i=15 i=20 注意:错误的语句在/*error*的下面,修改该语句即可。 #includeiostream.h class CMyClass public: templateclass T void func(T x,T y) /*error* T i=0; if(x=i) i=i+x; else i=i+y; cout “
2、 i=“ i endl; ; void main () CMyClass t; t.func (5,0); /*error* t.func(68, (char)1); float i=10.0; /*error* t.func (i,1); t.func (5,5); (分数:30.00)_二、程序填空题(总题数:1,分数:40.00)2.使用 VC6 打开 下的源程序文件 modi2.cpp。阅读下列函数说明和代码,补充空出的代码。完成函数ToUpper(char* des,char* str),该函数实现把 str 字符串中小写字符转换成大写字符,并存发在 des 中。例如:str=“aB
3、cdrFGHijK”; 则:des=“ABCDEFGHIJK”; 注意:不能修改程序的其他部分,只能补充 ToUpper ()函数。 #include iostream.h #define MAXLEN 1024 void ToUpper(char* des,char* str) void main() char dest MAXLEN; char* str=“aBcdrFGHijK“; ToUpper(dest,str); cout dest endl; return; (分数:40.00)_三、程序设计题(总题数:1,分数:30.00)3.使用 VC6 打开 下的源程序文件 modi3.c
4、pp,其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义类 CPlanet 的保护数据成员 distance 和 revolvePeriod,它们分别表示行星距太阳的距离和行星的公转周期。其中,distance 为 double 型,revolvePeriod 为 int 型。请在注释/*1*之后添加适当的语句。 (2)定义类 CEarth 的构造函数 CEarth(double d,int r),并在其中计算地球绕太阳公转的轨道周长。假定:circumference=2*d*3.1416。请在注释/*2*之后添加适当的语句。 (3)定义类 Earth 的成员 disp
5、lay(),用于显示所有信息。包括地球距太阳的距离,地球的公转周期,以及地球绕太阳公转的轨道周长。请在注释/*3*之后添加适当的语句。 注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。 #include iostream using namespace std; class CPlanet protected: /*1* public: CPlanet(double d, int r) distance=d; revolvePeriod=r; ; class CEarth:public CPlanet double circumference; public:
6、/*2* CEarth(double d, int r) circumference=2*d*3.1416; /*3* cout “distance=“ distance endl; cout “revolution Period=“ revolvePeriod endl; cout “revolution circumference=“ circumference endl; ; void main() CEarth earth (9300000,365); earth.display(); (分数:30.00)_二级 C+分类模拟 155 答案解析(总分:100.00,做题时间:90 分钟
7、)一、程序改错题(总题数:1,分数:30.00)1.使用 VC6 打开 下的源程序文件 modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: i=5 i=10 i=15 i=20 注意:错误的语句在/*error*的下面,修改该语句即可。 #includeiostream.h class CMyClass public: templateclass T void func(T x,T y) /*error* T i=0; if(x=i) i=i+x; else i=i+y; cout “ i=“ i endl; ; void main () CMyClass t;
8、t.func (5,0); /*error* t.func(68, (char)1); float i=10.0; /*error* t.func (i,1); t.func (5,5); (分数:30.00)_正确答案:()解析:(1)static T i=0; (2)t.func(char)68,(char)1); (3)t.func(int)i,1); 答案考生文件夹 解析 程序当中定义了类 CMyClass,含有一个成员函数模板 func(T x,T y),在函数内定义一个变量 i,如果参数 x 大于 i,则 i 和 x 的和赋值给 i,否则 i 和 y 的和赋值给 i。 (1)在主函
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 155 答案 解析 DOC
