ImageVerifierCode 换一换
格式:DOC , 页数:4 ,大小:44KB ,
资源ID:1324125      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1324125.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C++-69及答案解析.doc)为本站会员(twoload295)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C++-69及答案解析.doc

1、二级 C+-69及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,此工程中包含源程序文件main.cpp,其中有 ElectricFan(“电风扇”)类和主函数 main的定义。程序中位于每个“/ERROR *found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: 品牌:清风牌,电源:关,风速:0 品牌:清风牌,电源:开,风速:3 品牌:清风牌,电源:关,风速:0 注意:只修改每个“/ERROR *found*”下的那一行,不要改动程序中

2、的其他内容。 #include iostream using namespace std; class ElectricFan /“电扇“类 char * brand; int intensity; /风速: 0-关机 1-弱, 2-中, 3-强 public: ElectricFan (const char * the_brand) : intensity(0) brand = new char strlen (the_brand) +1; strcpy(brand, the_brand); ElectricFan() delete brand; const char * theBrand

3、() const return brand; /返回电扇品牌 int theIntensity () const return intensity; /返回风速 / ERROR * found* bool isOn()const return intensity=0; /返回电源开关状态 / ERROR * found* void turnOff () const intensity =0; /关电扇 void setIntensity (int inten) /开电扇并设置风速 if(inten=1 void show () cout “品牌:“ theBrand () “牌“ “,电源:“

4、 (isOn () ? “开“: “关“) “,风速:“ theIntensity() endl; ; int main() ElectricFan fan(“清风“); fan.show(); fan.setIntensity(3); fan.show(); fan.turnOff(); fan.show(); return 0; (分数:30.00)_二、B简单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程 proj2。此工程中包含一个源程序文件main.cpp,其中有“书”类 Book及其派生出的“教材”类 TeachingM

5、aterial的定义,还有主函数 main的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义和函数定义。该程序的正确输出结果应为: 教材名:C+语言程序设计 页数:299 作者:张三 相关课程:面向对象的程序设计 注意:只在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 #include iostream using namespace std; class Book /“书“类 char * title; /书 int num_pages; /页数 char * writer; /作者姓名 public: /* found* Book(con

6、st char * the title, int pages, const char * the writer): _ title =new char strlen (the_titie) +1; strcpy(title,the_title); /* found* _ strcpy(writer,the_writer); Book() delete title; delete writer; int numOfPages()const return numpages; /返回书的页数 const char * theTitle () const return title; /返回书名 con

7、st char * theWriter () const return writer; /返回作者名 ; class TeachingMaterial: public Book /“教材”类 char * course; public: TeachingMaterial (const char * the_title, int pages, const char * the_writer, const char * the_course) /* found* :_ course = new char strlen (the_course) +i; strcpy (course, the_cou

8、rse); TeachingMaterial () delete course; const char * theCourse () const return course; /返回相关课程的名称 ; int main () TeachingMaterial abook (“C+语言程序设计“, 299, “张三“, “面向对象的程序设计“); cout “教材名:“ a book.theTitle() endl “页数:“ a_book.numOfPages () endl “作者:“ a book.theWriter () endl /* found* “相关课程:“ _; cout en

9、dl; return 0; (分数:30.00)_三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生文件夹 proj3下的工程 proj3,其中声明的 IntSet是一个用于表示正整数集合的类。IntSet 的成员函数 Merge的功能是求当前集合与另一个集合的并集,在 Merge中可以使用成员函数 IsMemberOf判断一个正整数是否在集合中。请完成成员函数 Merge。在 main函数中给出了一组测试数据,此时程序的输出应该是: 求并集前: 1 2 3 5 8 10 2 8 9 11 30 56 67 求并集后:1 2 3 5 8 10 2 8

10、9 11 30 56 67 1 2 3 5 8 10 9 11 30 56 67 要求: 补充编制的内容写在“/*333*”与“/*666*”之间,不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out.dat中。输出函数 writeToFile已经编译为 obj文件,并且在本程序中调用。/Intset.h #include iostream using namespace std; const int Max=100; class IntSet public: IntSet() /构造一个空集合 end = -1; IntSet(int a, int size) /构造一个包含数组

11、a中 size个元素的集合 if (size =Max) end=Max-1; else end =size-1; for(int i=0; i=end; i+) elementi=ai; bool IsMemberOf(int a) /判断 a是否为集合中的元素 for(int i=0; i=end; i+) if (elementi=a) return true; return false; int GetEnd() return end; /返回最后一个元素的下标 int GetElement(int i) return elementi; /返回下标 i处的元素 IntSet Merg

12、e(IntSet /求当前集合与集合 set的并集 void Print() /输出集合中的所有元素 for(int i=0; i=end; i+) if(i+1)% 20=0) cout elementi endl; else cout elementi ; cout endl; private: int elementMax; int end; ; void writeToFile(const char * ); /main.cpp #include “IntSet.h“ IntSet IntSet:Merge(IntSet /* 333* /* 666* return IntSet(a,

13、 size); int main () int a = 1, 2, 3, 5, 8, 10; int b =2, 8, 9, 11, 30, 56, 67; IntSet set1(a, 6), set2(b, 7), set3; cout “求并集前:“ endl; set1.Print(); set2.Print(); set3.Print(); set3 =set1.Merge(set2); cout endl “求并集后: “ endl; set1.Print(); set2.Print(); set3.Print(); writeToFile(“); return 0; (分数:40

14、.00)_二级 C+-69答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,此工程中包含源程序文件main.cpp,其中有 ElectricFan(“电风扇”)类和主函数 main的定义。程序中位于每个“/ERROR *found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: 品牌:清风牌,电源:关,风速:0 品牌:清风牌,电源:开,风速:3 品牌:清风牌,电源:关,风速:0 注意:只修改每个“/ERROR *found*”下的那一行,不要改

15、动程序中的其他内容。 #include iostream using namespace std; class ElectricFan /“电扇“类 char * brand; int intensity; /风速: 0-关机 1-弱, 2-中, 3-强 public: ElectricFan (const char * the_brand) : intensity(0) brand = new char strlen (the_brand) +1; strcpy(brand, the_brand); ElectricFan() delete brand; const char * theBr

16、and () const return brand; /返回电扇品牌 int theIntensity () const return intensity; /返回风速 / ERROR * found* bool isOn()const return intensity=0; /返回电源开关状态 / ERROR * found* void turnOff () const intensity =0; /关电扇 void setIntensity (int inten) /开电扇并设置风速 if(inten=1 void show () cout “品牌:“ theBrand () “牌“ “,

17、电源:“ (isOn () ? “开“: “关“) “,风速:“ theIntensity() endl; ; int main() ElectricFan fan(“清风“); fan.show(); fan.setIntensity(3); fan.show(); fan.turnOff(); fan.show(); return 0; (分数:30.00)_正确答案:(1)bool isOn()const return intensity=1; /返回电源开关状态 (2)void turnOff() intensity=0; /关电扇 (3)intensity=inten;)解析:考点

18、本题考查的是 ElectricFan类,其中涉及构造函数、const 函数、bool 函数和成员函数。 解析 (1)主要考查考生对 bool函数的掌握情况,理清函数的逻辑关系。 (2)主要考查考生对成员函数的掌握情况,理清函数的逻辑关系。函数中有 intensity=0;参数值发生改变,因此函数不能为 const。 (3)主要考查考生对成员函数的掌握情况,intensity 是类的私有成员。二、B简单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程 proj2。此工程中包含一个源程序文件main.cpp,其中有“书”类 Book及其派

19、生出的“教材”类 TeachingMaterial的定义,还有主函数 main的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义和函数定义。该程序的正确输出结果应为: 教材名:C+语言程序设计 页数:299 作者:张三 相关课程:面向对象的程序设计 注意:只在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 #include iostream using namespace std; class Book /“书“类 char * title; /书 int num_pages; /页数 char * writer; /作者姓名 public:

20、/* found* Book(const char * the title, int pages, const char * the writer): _ title =new char strlen (the_titie) +1; strcpy(title,the_title); /* found* _ strcpy(writer,the_writer); Book() delete title; delete writer; int numOfPages()const return numpages; /返回书的页数 const char * theTitle () const retur

21、n title; /返回书名 const char * theWriter () const return writer; /返回作者名 ; class TeachingMaterial: public Book /“教材”类 char * course; public: TeachingMaterial (const char * the_title, int pages, const char * the_writer, const char * the_course) /* found* :_ course = new char strlen (the_course) +i; strcp

22、y (course, the_course); TeachingMaterial () delete course; const char * theCourse () const return course; /返回相关课程的名称 ; int main () TeachingMaterial abook (“C+语言程序设计“, 299, “张三“, “面向对象的程序设计“); cout “教材名:“ a book.theTitle() endl “页数:“ a_book.numOfPages () endl “作者:“ a book.theWriter () endl /* found*

23、“相关课程:“ _; cout endl; return 0; (分数:30.00)_正确答案:(1)num_pages(pages) (2)writer=new charstrlen(the_writer)+1; (3)Book(the_title, pages, the_writer) (4)a_book.theCourse()解析:考点 本题考查的是 Book类及其派生类 TeachingMaterial类,其中涉及构造函数、析构函数和const函数。 解析 (1)主要考查考生对构造函数的掌握情况,使用成员列表进行初始化。 (2)主要考查考生对动态分配的掌握情况,使用 new给 writ

24、er分配空间。 (3)主要考查考生对构造函数的掌握情况,使用成员列表初始化给基类初始化。 (4)主要考查考生对成员函数调用的掌握情况,函数 theCourse()返回相关课程。三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生文件夹 proj3下的工程 proj3,其中声明的 IntSet是一个用于表示正整数集合的类。IntSet 的成员函数 Merge的功能是求当前集合与另一个集合的并集,在 Merge中可以使用成员函数 IsMemberOf判断一个正整数是否在集合中。请完成成员函数 Merge。在 main函数中给出了一组测试数据,此时程序的输出应

25、该是: 求并集前: 1 2 3 5 8 10 2 8 9 11 30 56 67 求并集后:1 2 3 5 8 10 2 8 9 11 30 56 67 1 2 3 5 8 10 9 11 30 56 67 要求: 补充编制的内容写在“/*333*”与“/*666*”之间,不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out.dat中。输出函数 writeToFile已经编译为 obj文件,并且在本程序中调用。/Intset.h #include iostream using namespace std; const int Max=100; class IntSet public

26、: IntSet() /构造一个空集合 end = -1; IntSet(int a, int size) /构造一个包含数组a中 size个元素的集合 if (size =Max) end=Max-1; else end =size-1; for(int i=0; i=end; i+) elementi=ai; bool IsMemberOf(int a) /判断 a是否为集合中的元素 for(int i=0; i=end; i+) if (elementi=a) return true; return false; int GetEnd() return end; /返回最后一个元素的下标

27、 int GetElement(int i) return elementi; /返回下标 i处的元素 IntSet Merge(IntSet /求当前集合与集合 set的并集 void Print() /输出集合中的所有元素 for(int i=0; i=end; i+) if(i+1)% 20=0) cout elementi endl; else cout elementi ; cout endl; private: int elementMax; int end; ; void writeToFile(const char * ); /main.cpp #include “IntSet

28、.h“ IntSet IntSet:Merge(IntSet /* 333* /* 666* return IntSet(a, size); int main () int a = 1, 2, 3, 5, 8, 10; int b =2, 8, 9, 11, 30, 56, 67; IntSet set1(a, 6), set2(b, 7), set3; cout “求并集前:“ endl; set1.Print(); set2.Print(); set3.Print(); set3 =set1.Merge(set2); cout endl “求并集后: “ endl; set1.Print(

29、); set2.Print(); set3.Print(); writeToFile(“); return 0; (分数:40.00)_正确答案:(for(int i=0; i=end; i+) /i 从零开始到 end遍历,即实现把数组 element复制到数组ai ai=elementi; /把 elementi赋值给 ai size+; /size自加 1 for(int k=0; k=set.GetEnd(); k+) /k 从 0至 4 set.GetElement遍历 if(!IsMemberOf(Set.GetElement (k) /如果 set.GetElement(k)不是 element中的元素 asize+=set.GetElement(k); /把set.GetElement(k)放到数组 a中)解析:考点 本题考查的是 IntSet类,其中包括构造函数、bool 函数和成员函数。 解析 主要考查考生对数组的掌握情况,题目要求计算集合的并集,定义一个新集合 a,先复制一个数组的元素,再判断另一个数组中的元素,只要元素不重复就添加到集合 a中。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1