1、国家二级 C+机试(操作题)模拟试卷 400及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,请修改程序中的错误,使程序能得出正确的结果: num: 0 num: 1 num: 10 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 #include int i=10; C1ass TestClass public: TestClass(int i) cout 注意只能使用 int类型,不能类型转换 int fun(char*s1, char*s2) void main() char s110
2、24; char s2256; cout class TestClass public: *1* TestClass(int i, int j) m_Num1=i; m_Num3+=i; void Print() couti=i+1;或 TestClass: i=i+1:或 (*this) i=i+1: (2)TestClass print(0); (3)couti=i+1; ”或 “TestClass: i=i+1; ”或“(*this) i=i+1; ”。 (3)主函数中通过 “cout类名 class:参数 =”,其中 为要初始化参数的类型, “: ”为作用域符号,说明参数是 class
3、中的参数,所以这里补全 “int TestClass: m_Num3=0; ”。 (4)函数 fun()中 “Num Add(); ”语句应该是调用类 “TestClass”中的成员函数 “void Add(int i)”。其定义中存在参数 int i,所以注释下修改的语句缺少参数。 主函数首先调用 “Num Print(); ”,即实现题目中输出的前三条语句,而“fun(); ”语句实现后面三条语句的输出,即 “m_Num3=7”才是调用 Nmn Add的输出结果,即 “m_Num3+=i; ”的计算结果。 “TestClassNum(1, 2); ”中将 i的值初始化为 1, “m_Num3”的值在上一次 “Num Print(); ”调用中为 1,如果计算结果为 7,那么 Add(int i)中 i的初始化值为 5,即 “Num Add(5); ”。