1、国家二级 C+机试(操作题)模拟试卷 365及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: 1, 2, 3, 4, 5, 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 #include Class TeStClass *error* TestClass(int i) m i=i; void print() cout5) *error* i+; data print(); cout int sum(int n) void main()
2、 cout #include using namespace Std; class TeStClassl *1* public: *2* X=a; y=b; *3* X=a; Y=0; void print() cout“x=”Xend1; cout“y=”Yend1; private: float X, Y; ; class TestClass2 publi c: float Distance(TestClassl P, TestClass1 q); ; float TestClass2: Distance (TestClass1 P, TestClassl q) float result;
3、 *4* coutresultend1; return resuit; int main() TestClassl P(10, 10), q(20); TestClass2 d; d Distance(p, q); return 0; 国家二级 C+机试(操作题)模拟试卷 365答案与解析 一、基本操作题 1 【正确答案】 (1)public: TestClass(int i) (2)int i(10); (3)i一一; 【试题解析】 程序要求输出 1, 2, 3, 4, 5,。主函数 main()中有 while循环,调用类 TestClass中的成员函数 print()实现函数功能。 二、
4、简单应用题 2 【正确答案】 int all=0; for(int i=2; in ; i+) if(n i=0) all+=i; return all; 【试题解析】 函数 sum(int n)主要功能是实现计算所有 n的因子之和 (不包括 1和自身 ),函数中定义变量 all保存最终求和结果,可利用循环方式查找 n的因子,根据题目要求循环变量从 2开始至 n 1。 三、综合应用题 3 【正确答案】 (1)添加语句: friend clasS TestClass2; (2)添加语句: TestClassl(float a, float b) (3)添加语句: TestClassl(float a) (4)添加语句: result=sqrt(p Xq X)*(p Xq X)+(p Yq Y)*(p Yq Y); 【试题解析】 在 VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的 main主函数开始入手,可以看出程序通过调用类 TestClass实现各种输出操作。