1、国家二级 C+机试(操作题)模拟试卷 296及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modi1cpp,但该程序运行时有错,请改正程序中的错误,使该程序的输出结果为: 100 注意:错误的语句在*error*的下面,修改该语句即可。#includeiostreamhstatic int x=50;int t=0;int*func(int x,int y,int z) t=t+x+y+z; *error* return t;Void main() int y=30; int x=10; int z=
2、20; *error* x=x; *error* coutfunc(x,y,z)endl;(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生文件夹下的源程序文件 modi2cpp。请完成函数 fun(char*s),该函数完成以下功能:(1)把 s中的大写字母转换成小写字母,把其中的小写字母转换成大写字母。并且在函数中调用写函数WriteFile()将结果输出到 modi2txt 文件中。 例如:s=“helloTEST“,则结果为:s=“HELLOtest“ (2)完成函数 WriteFile(char*s),把字符串输入文件中。 提示:打开文件使用的第
3、二参数为ios_base:binarylios_base:app。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 #include #include #include using namespace std; void WriteFile(char*s) void fun(char*s) void ClearFile() ofstream out1; out1open(“modi2txt“); out1Close(); int main() C1earFile(); char s1024; coutprint();)解析:解析:(1)题目 1要求“类 TestCla
4、ss2公共继承于 TestClass1”。从已有的类产生一个新的子类,成为类的派生。声明派生类的一般形式为:class 派生类名:继承方式基类名。根据题目中的要求以及派生类的一般形式,第 1个标识下添加语句“classTestClass2:public TestClass1 990 (2)题目 2要求“print函数为虚函数”。在 C+中,用 virtual声明的函数为虚函数,因此第 2个标识下的语句修改为“virtual void print()”。 (3)题目 3要求“使得 P指定对象 obj3”。p 为指针变量,obj3 为类的对象,将一个指针变量指向另一个变量,只要把被指向的变量的地址赋给指针变量即可。取对象 obj3地址的语句为obj3,所以这里补全“p=obj3;”。 (4)题目 4要求“利用 P调用 print()函数”。C+中用“-“运算符实现成员访问,因此调用 print()函数,应将第 4个标识下修改为“p-print();”。