1、国家二级 C+机试(操作题)模拟试卷 366及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在 *error*的下面,修改该语句即可。 #include class CMyClasS private: int number; int Add(int i) return number+=i; int Sub(int i) return number一 =i; int Mul(int i) return number*=i; int Div(int
2、i) if(i!=0) return number =i; else return number; *error* typedef int(FUNC)(int); *error* FUNC func; public: CMyClass() func0=CMyClass: Add; func1=CMyClass: Sub; func2=CMyClass: Mul; func3=CMyClass: Div; number=0; int CallFunction(int i, int j) *error* return(funci)(j); ; void mein() CMyClas S myobj
3、; cout #include #inClude using namesPace std; void WriteFile(int c) ofstream out1; out1 open(“modi2 txt”, ios base: binary iosbase: app); out1 #include using namespace std; void WriteFile(char*x) ofstream outl ; *1* outl open(“modi3 txt”, ); outl*funci)(j); 【试题解析】 CMyClass类有一个成员变量 number,多个成员函数分别实现加
4、减乘除功能。使用 typedef定义了一个返回值是整型并带有一个整型参数的函数指针, 并通过实例化一个容量为 4的函数指针数组实现对类中定义的方法的调用。 二、简单应用题 2 【正确答案】 for(int i=1; i=x; i+) if(x i=0) 如果 x被 i整除。那么 i为 x的约数 WriteFile(i); 将约数 i存入文件 【试题解析】 (1)本题中函数的功能是求出约数。 X的约数就是能整除其的所有整数。可以从 1开始到 X,计算取余。如果整除该数为 x的约数。 (2)从已给部分源程序的 nmm主函数 开始入手,核心函数 void fun(int x)中的 x参数为要计算约数的整数。 三、综合应用题 3 【正确答案】 (1)将 “outl open(“modi3 txt“, ); ”补充完整为:outl open(“modi3 txt”, iosbase: app); (2)添加语句: TestClass s;