【计算机类职业资格】二级C++分类模拟107及答案解析.doc
《【计算机类职业资格】二级C++分类模拟107及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟107及答案解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 107 及答案解析(总分:100.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC6 打开 下的源程序文件 modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: init TestClass del TestClass 注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构,错误的语句在/*error*的下面。 #includeiostream.h class TestClass /*error* /*error* int TestClass()cout “initTestCl
2、ass“ endl; /*error* void TestClass()cout “delTestClass“ (分数:30.00)_二、程序填空题(总题数:1,分数:30.00)2.使用 VC6 打开 下的源程序文件 modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。该程序从键盘读入整数,并按从大到小的顺序输出输入整数中互不相等的那些整数。程序一边读入整数,一边构造一个以大到小顺序链接的链表,直至输入 0 时结束。然后顺序输出链表上各表元的整数值。主函数每读入一个整数,就调用函数 fun(),函数 fun()将还未出现在链表上的整数按从大到小的顺序插入到链表中。为了插入方便,链表
3、在表首有一个辅助表元。 注意:不能修改程序的其他部分,只能修改 fun()函数。 #include iostream class NODE public: int data; NODE *next; ; void fun(NODE *list, int x) void main( ) int x; NODE *head, *p; /*首先建立只有辅助表元的空链表*/ head = new NODE; head-next = NULL; std:cout “Enter integers,end with 0“ std:endl; while (1) std: cin x; if(x=0) bre
4、ak; fun (head, x); for (p =head-next; p !=NULL; p=p-next) std:cout “ “; std: cout (分数:30.00)_三、程序设计题(总题数:1,分数:40.00)3.使用 VC6 打开 下的源程序文件 modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 其中:定义了类 circle 和 column,column 类由 circle 类 protected 派生,但是两个类的定义并不完整,请按照以下的要求,将程序补充完整。 (1)定义类 circle 的保护数据成员函数 r 和 area,它们
5、都是 double 型的数据,请在注释/*1*后完成。 (2)添加类 circle 的无参数的构造函数,使得类 circle 对象的 r 默认值为 0,请在注释/*2*后完成。 (3)添加派生类 column 的构造函数的定义,使得参数为 double 型的 height 和 radius 并将其分别赋给数据成员 h 和基类的 r 请在注释/*3*之后完成。 (4)完成派生类 column 的成员函数 print()的定义,请在注释/*4*之后完成,使得输出为: radius=5 area=78.54 height=10 vol=785.4 注意:增加代码,或者修改代码的位置已经用符号表示出来
6、。请不要修改其他的程序代码。 #includeiostream.h const double pi = 3.1416; class circle protected: /*1* public: /*2* r=0.0; circle(double radius) r=radius; void print() area = r*r* pi; cout “radius=“ r “ “area=“ area (分数:40.00)_二级 C+分类模拟 107 答案解析(总分:100.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC6 打开 下的源程序文件 modi
7、1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: init TestClass del TestClass 注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构,错误的语句在/*error*的下面。 #includeiostream.h class TestClass /*error* /*error* int TestClass()cout “initTestClass“ endl; /*error* void TestClass()cout “delTestClass“ (分数:30.00)_正确答案:()解析:(1)添加语句:pub
8、lic: (2)TestClass()cout “init TestClass“ endl; (3)TestClass()cout “del TestClass“ endl;); 答案考生文件夹 解析 本题的功能是分别利用构造函数和析构函数中的输出语句,输出“init TestClass”和“del TestClass”字符串。从已定源程序的 main 主函数开始入手,可以看出程序首先通过类 TestClass 中的 TestClass 构造函数实现各种输出。 (1)打开 modi1.cpp,调试程序,显示错误提示为第一标识下“modi1.cpp(13):error C2248:“TestCl
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 107 答案 解析 DOC
