【计算机类职业资格】二级C++真题2及答案解析.doc
《【计算机类职业资格】二级C++真题2及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++真题2及答案解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+真题 2 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.使用 VC6 打开 proj1 下的工程 proj1,其中有“沙发”类 Sofa 和主函数 main 的定义。程序中位于每个/ERROR*found*下的语句行有错误,请加以更正。更正后程序的输出应该是: 座位数:3 颜色:红色 注意:只能修改每个/ERROR*found*下的那一行,不要改动程序中的其他内容。 #includeiostream using namespace std; class Sofa /“沙发”类 int seats; /座位数 char colo
2、r10; /颜色 public: /ERROR*found* Sofa(int s,const char*co) /ERROR*found* if(co=NULL) color0=“/0“; else strcpy(color,co); /ERROR*found* const char*getSeats()constreturn seats; const char*getColor()constreturn color; ; int main() Sofa safa(3); cout“座位数:“sara.getSeats()endl; cout“颜色:“sara.getColor()endl;
3、 return 0; (分数:30.00)_二、简单应用题(总题数:1,分数:30.00)2.使用 VC6 打开 proj2 下的工程 proj2,其中有元素类 Element 和队列类 Queue 的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为: 3 8 5 0 5 0 7 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容。 #includeiostream #includecmath #includecstdlib using namespace std; #define MaxLength 100 class Element /“
4、元素“类 public: int n; Element(int i=0):n(i) ; class Queue /“队列“类 Element*element; /指向存储元素的数组的指针 int tail; /队尾元素的下标 public: Queue():element(new Element100),tail(-1) Queue()deleteelement; void push(Element ele); /在队列尾端添加一个元素 Element pop(); /在队列首端删除一个元素,返回被删元素 Element front() const return element0;) /返回队
5、首元素,但不从队列中删除该元素 /*found* int size()constreturn(_);)/返回元素个数 void show()const; /显示集合中所有元素 ; void Queue:push (Element ele) if(tail=MaxLength-1) return; /空间满,不做任何处理 /*found* _; Element Queue:pop() if(size()=0)exit(1); /队列空,不做任何处理 Element tmp=element0; for(int i=0;itail;i+) elementi=elementi+1; /*found*
6、_; return tmp; void Queue:show()const /*found* for(_) coutelementi.n“; coutendl; int main() Queue q; q.push(3); q.push(8); q.push(5); q.push(0); q.show(); q.pop(); q.pop(); q.push(7); q.show(); return 0; (分数:30.00)_三、综合应用题(总题数:1,分数:40.00)3.使用 VC6 打开 proj3 下的工程 proj3,其中声明了 MyString 类,它是一个用于表示字符串的类。成员
7、函数 reverse 将字符串反转,例如“abcde”反转后就成了“edcba”。请补充完整函数 reverse。在 main函数中给出了一个测试数据,此情况下程序的输出应该是: This is a string gnirts a si sihT 注意:只需在函数 reverse 的/*333*和/*666*之间填入若干语句,不要改动程序中的其他内容。 /MyString.h #includeiostream using namespace std; char*dup(const char*); class MyString char*str; public: MyString(const c
8、har*s=“ “):str(dup(s) MyString(const MyString) void reverse(); void show(ostream ; inline ostream return os; void writeToFile(const char*path); /MyString.cpp #include“MyString.h“ char*dup(const char*s) char*p=new charstrlen(s)+1; strcpy(p,s); return p; void MyString:reverse() /*333* /*666* void writ
9、eToFile(const char*path); /writetoFile.cpp #includefstream #include“MyString.h“ void writeToFile(const char*path) char full50; strcpy(full,path); strcat(full,“out.dat“); ofstream outfile(full); if(outfile.fail()cerr“打开输出文件失败!“;return;) MyString m1=“This is another string“; MyString m2(“字符串反转演示“); ou
10、tfilem1m2; m1.reverse(); m2.reverse(); outfilem1m2; outfile.close(); (分数:40.00)_二级 C+真题 2 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.使用 VC6 打开 proj1 下的工程 proj1,其中有“沙发”类 Sofa 和主函数 main 的定义。程序中位于每个/ERROR*found*下的语句行有错误,请加以更正。更正后程序的输出应该是: 座位数:3 颜色:红色 注意:只能修改每个/ERROR*found*下的那一行,不要改动程序中的其他内容。 #i
11、ncludeiostream using namespace std; class Sofa /“沙发”类 int seats; /座位数 char color10; /颜色 public: /ERROR*found* Sofa(int s,const char*co) /ERROR*found* if(co=NULL) color0=“/0“; else strcpy(color,co); /ERROR*found* const char*getSeats()constreturn seats; const char*getColor()constreturn color; ; int ma
12、in() Sofa safa(3); cout“座位数:“sara.getSeats()endl; cout“颜色:“sara.getColor()endl; return 0; (分数:30.00)_正确答案:()解析:(1)Sofa(int s,const char*co=“红色“):seats(s) (2)if(co=NULL) (3)int getSeats() const return seats; 考点 本题主要考查的知识点为:关系运算符和关系表达式、默认参数和函数返回类型。 解析 程序定义 Sofa 类,它包含两个数据成员:字符数组 color 和整型变量 seats;还包含一个
13、构造函数,两个公有成员函数,getSeats()函数返回成员 seats 的值,getColor()函数返回字符数组 color 的地址 Sofa 类的定义体中,有三个错误: (1)Sofa 类的构造函数错误:由 main()函数中定义 Sofa 类对象时可知:构造函数虽然有两个参数,但是可以只传入一个整型变量,所以另一个参数 co 需要提供一个默认值,由题意可知程序运行结果输出颜色是红色,所以 co 的默认字符串值为“红色”;另外程序需要输出座位数:3,所以成员 seats 需要使用形参 s 完成初始化,构造函数体中并未对 seats 进行赋值。 (2)sofa 类的构造函数中,需要根据形参
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 答案 解析 DOC
