【计算机类职业资格】二级C++分类模拟114及答案解析.doc
《【计算机类职业资格】二级C++分类模拟114及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟114及答案解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 114 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.请使用 VC6 或使用【答题】菜单打开 proj1 下的工程 proj1,该工程含有一个源程序文件 proj1.cpp。其中位于每个注释“/ ERROR *found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: The value is 10 注意:只修改注释“/ ERROR *found*”的下一行语句,不要改动程序中的其他内容。 / proj1.cpp #include iostream using namespace std; class
2、 MyClass int value; public: / ERROR *found* void MyClass(int val) : value(val) int GetValue() const return value; void SetValue(int val); ; / ERROR *found* inline void SetValue (int val) value = val; int main() MyClass obj(0); obj.SetValue(10); / ERROR *found* 下列语句功能是输出 obj 的成员 value 的值 cout “The va
3、lue is“ obj.value endl; return 0; (分数:30.00)_二、简单应用题(总题数:1,分数:30.00)2.请使用 VC6 或使用【答题】菜单打开 proj2 下的工程 proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了 Stack 类和 ArrayStack 类。 Stack 是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack 为抽象类,它只定义了栈的用户接口,如下所示: 公有成员函数 功能 push 入栈:在栈顶位置添加个元素 pop 退栈:取出并返回栈顶元素 ArrayStack 是 Stack 的派生类,它实现了 St
4、ack 定义的接口。ArrayStack 内部使用动态分配的字符数组作为栈元素的存储空间。数据成员 maxSize 表示的是栈的最大容量,top 用于记录栈顶的位置。成员函数push 和 pop 分别实现具体的入栈和退栈操作。 请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为: a,b,c c,b,a 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/ *found*”。 / proj2.cpp #include iostream using namespace std; class Stack public: virtual
5、 void push(char c) = 0; virtual char pop() = 0; ; class ArrayStack : public Stack char * p; int maxSize; int top; public: ArrayStack(int s) top = 0; maxSize = s; / *found* p =_; ArrayStack() / *found* _; void push (char c) if (top = maxSize) cerr “Overflow! /n“; return; / *found* _; top +; char pop(
6、) if (top = 0) cerr “Underflow! /n“; return “/0“; top -; / *found* _; ; void f(Stack cout ch0 “,“ ch1 “,“ ch2 endl; sRef.push(ch0); sRef.push(ch1); sRef.push(ch2); cout sRef.pop() “,“; cout sRef.pop() “,“; cout sRef.pop() endl; int main() ArrayStack as(10); f(as); return 0; (分数:30.00)_三、综合应用题(总题数:1,
7、分数:40.00)3.请使用 VC6 或使用【答题】菜单打开 proj3 下的工程文件 proj3,此工程中包含一个源程序文件proj3.cpp,补充编制 C+程序 proj3.cpp,其功能是读取文本文件 in.dat中的全部内容,将文本存放到 doc 类的对象 myDoc 中。然后将 myDoc 中的字符序列反转,并输出到文件 out.dat 中。文件 in.dat 的长度不大于 1000 字节。 要求: 补充编制的内容写在“/ *333*”与“/ *66666*”两行之间。实现将 myDoc 中的字符序列反转,并将反转后的序列在屏幕上输出。不得修改程序的其他部分。 注意:程序最后已将结果
8、输出到文件 out.dat 中,输出函数 writeToFile 已经给出并且调用。 / proj3.cpp #include iostream #include fstream #include cstring using namespace std; class doc private: char * str; /文本字符串首地址 int length; /文本字符个数 public: /构造函数,读取文件内容,用于初始化新对象,filename 是文件名字符串首地址 doc(char * filename); void reverse(); /将字符序列反转 doc(); void wr
9、iteToFile (char * filename); ; doc:doc(char * filename) if stream myFile (filename); int len = 1001, tmp; str = new charlen; length = 0; while (tmp = myFile.get()!=EOF) strlength + = tmp; strlength = “/0“; myFile.close(); void doc:reverse() /将数组 str 中的 length 个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个 /字符交换 /
10、*333* / *666* doc:doc() delete str; void doc:writeToFile (char * filename) ofstream outFile(filename); outFile str; outFile.close(); void main() doc myDoc(“in.dat“); myDoc.reverse(); myDoc.writeToFile(“out.dat“); (分数:40.00)_二级 C+分类模拟 114 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.请使用 VC6 或使用
11、【答题】菜单打开 proj1 下的工程 proj1,该工程含有一个源程序文件 proj1.cpp。其中位于每个注释“/ ERROR *found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: The value is 10 注意:只修改注释“/ ERROR *found*”的下一行语句,不要改动程序中的其他内容。 / proj1.cpp #include iostream using namespace std; class MyClass int value; public: / ERROR *found* void MyClass(int val) : value(val
12、) int GetValue() const return value; void SetValue(int val); ; / ERROR *found* inline void SetValue (int val) value = val; int main() MyClass obj(0); obj.SetValue(10); / ERROR *found* 下列语句功能是输出 obj 的成员 value 的值 cout “The value is“ obj.value endl; return 0; (分数:30.00)_正确答案:()解析:(1)MyClass(int val):va
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 114 答案 解析 DOC
