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

上传人:registerpick115 文档编号:1324147 上传时间:2019-10-17 格式:DOC 页数:7 大小:40KB
下载 相关 举报
【计算机类职业资格】二级C++-8-2及答案解析.doc_第1页
第1页 / 共7页
【计算机类职业资格】二级C++-8-2及答案解析.doc_第2页
第2页 / 共7页
【计算机类职业资格】二级C++-8-2及答案解析.doc_第3页
第3页 / 共7页
【计算机类职业资格】二级C++-8-2及答案解析.doc_第4页
第4页 / 共7页
【计算机类职业资格】二级C++-8-2及答案解析.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、二级 C+-8-2 及答案解析(总分:100.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC+ 6.0 打开 下的源程序文件 1.cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为: Hello Visual C+! Hello Visual C+! 注意:错误的语句在/*error*的下面,修改该语句即可。 试题程序: #includeiostream.h class CMyObject public: CMyObject() /*error* cout“Hello, “Visual C+!“endl; CMyObje

2、ct(int n) /*error* cout“Hello,/n Visual C+!“endl; /*error* CMyObject() ; void main() CMyObject obj1; CMyObject obj2(0); (分数:30.00)_二、简单应用题(总题数:1,分数:30.00)2.使用 VC+ 6.0 打开 下的源程序文件 2.cpp。请完成函数 fun(char *s),使其具有以下功能: (1)把 s 中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到 2.txt 文件中。 例如:s=“hell

3、oWORLD“,则结果为:s=“HELLOworld“ (2)完成函数 WriteFile(char *s),把字符串输入文件中。 提示:打开文件使用的第二参数为 ios_base:binary|ios_base:app。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includeiostream #includefstream #includecmath using namespace std; void WriteFile(char *s) void fun(char *s) void ClearFile() ofstream out1; out

4、1.open(“2.txt“); out1.close(); int main() ClearFile(); char s1024; cout“please input a string: “endl; cin.getline(s,1024); fun(s); return 0; (分数:30.00)_三、综合应用题(总题数:1,分数:40.00)3.使用 VC+ 6.0 打开 下的源程序文件 3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使其输出的结果为: TCA TCB TCC (1)完成类 B 虚继承于 A,请在注释 1 后添加适当的语句。 (2)完成类 C

5、虚继承于 A,请在注释 2 后添加适当的语句。 (3)完成类 D 继承于 B,C,请在注释 3 后添加适当的语句。 (4)函数 fun 通过调用基类的 fun,完成所输出的内容,请在注释 4 后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #include iostream.h class TCA public: void fun() cout“TCA“endl; ; /*1* class TCB public: void fun() cout“TCB“endl; ; /*2* class TCC public: void fun()

6、 cout“TCC“endl; ; /*3* class TCD public: void fun() /*4* ; void main() TCD test; test.fun(); return; ; (分数:40.00)_二级 C+-8-2 答案解析(总分:100.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC+ 6.0 打开 下的源程序文件 1.cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为: Hello Visual C+! Hello Visual C+! 注意:错误的语句在/*error*的下面,修改该

7、语句即可。 试题程序: #includeiostream.h class CMyObject public: CMyObject() /*error* cout“Hello, “Visual C+!“endl; CMyObject(int n) /*error* cout“Hello,/n Visual C+!“endl; /*error* CMyObject() ; void main() CMyObject obj1; CMyObject obj2(0); (分数:30.00)_正确答案:()解析:(1)应改为 templateclass T (2)删除“templatebool“ (3)

8、应改为 bool flag= true; 答案考生文件夹 解析 C+中的模板类格式为 template class T,所以第 1 处的语句“templateT“应修改为“template class T“。在第 2 处的“void fun(bool t)“函数中,t 变量为布尔型变量,是 C+中的基础变量,不是模板变量,没有使用到模板类,所以删除第 2 处的模板类型定义语句。第 3 处的“bool flag= TRUE;“是声明布尔型变量 flag,并将其值赋为逻辑真。而 TRUE 并不是合法值,C+中区分大小写,所以逻辑真值应为 true,即“bool flag= true;“。二、简单应

9、用题(总题数:1,分数:30.00)2.使用 VC+ 6.0 打开 下的源程序文件 2.cpp。请完成函数 fun(char *s),使其具有以下功能: (1)把 s 中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到 2.txt 文件中。 例如:s=“helloWORLD“,则结果为:s=“HELLOworld“ (2)完成函数 WriteFile(char *s),把字符串输入文件中。 提示:打开文件使用的第二参数为 ios_base:binary|ios_base:app。 注意:不要改动 main()函数,不得增行或删行

10、,也不得更改程序的结构。 试题程序: #includeiostream #includefstream #includecmath using namespace std; void WriteFile(char *s) void fun(char *s) void ClearFile() ofstream out1; out1.open(“2.txt“); out1.close(); int main() ClearFile(); char s1024; cout“please input a string: “endl; cin.getline(s,1024); fun(s); retur

11、n 0; (分数:30.00)_正确答案:()解析:(1)void WriteFile(char *s)中的命令语句: ofstream out1; out1.open(“2.txt“,ios_base:binary|ios_base:app);/打开文件 modi2 out1s;/写入字符串 s out1.close(); (2)void fun(char *s)中的命令语句: for(int i=0;si!=0;i+)/循环判断每一个字符 if(si=A / si-A+a等于字符 si+32 else if(si=a / si-a+A等于字符 si-32 WriteFile(s); 答案考

12、生文件夹 解析 在 WriteFile(char *s)函数中,利用标准流 ofstream 实现字符串写入文件2.txt。在 fun 函数中,利用 for 循环逐个判断字符是大写还是小写。如果是大写,那么加上 32 实现大写转换为小写。否则,就减去 32,实现小写到大写的转换。最后调用前面实现的 WriteFile 函数,将字符串写入文件。三、综合应用题(总题数:1,分数:40.00)3.使用 VC+ 6.0 打开 下的源程序文件 3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使其输出的结果为: TCA TCB TCC (1)完成类 B 虚继承于 A,请在注释 1

13、 后添加适当的语句。 (2)完成类 C 虚继承于 A,请在注释 2 后添加适当的语句。 (3)完成类 D 继承于 B,C,请在注释 3 后添加适当的语句。 (4)函数 fun 通过调用基类的 fun,完成所输出的内容,请在注释 4 后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #include iostream.h class TCA public: void fun() cout“TCA“endl; ; /*1* class TCB public: void fun() cout“TCB“endl; ; /*2* class TC

14、C public: void fun() cout“TCC“endl; ; /*3* class TCD public: void fun() /*4* ; void main() TCD test; test.fun(); return; ; (分数:40.00)_正确答案:()解析:(1)将“class TCB:“补充完整为:class TCB:virtual public TCA (2)将“class TCC:“补充完整为:class TCC:virtual public TCA (3)将“class TCD:“补充完整为:class TCD:public TCB,public TCC

15、(4)应添加 TCA:fun();TCB:fun();TCC:fun(); 答案考生文件夹 解析 本题中第 1 处要求“完成类 B 虚继承于 A“。在 C+中,声明虚基类的一般形式为:class 派生类名:virtual 继承方式 基类名,由题目知道 TCA 为基类,TCB 为派生类,所以第 1 处的语句修改为“class TCB:virtual public TCA“。根据第 2 处和第 3 处的要求将标识 2 和 3 下的语句修改为“class TCC:virtual public TCA “和“class TCD:public TCB,public TCC“。第 4 处要求“函数 fun 通过调用基类的 fun,完成所输出的内容“。在 C+中调用基类的成员函数,要使用作用域限定符“:“,类名A:函数 fun,就是调用类 A 的函数 fun,根据题目中的要求补全对类 TCA、TCB 以及 TCC 中的 fun 函数,即“TCA:fun();TCB:fun();TCC:fun();“。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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