1、国家二级 C+机试(操作题)模拟试卷 395及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: 1 1 2 1 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构, 错误的语句在 *error*的下面。 #include class TestClass *error* *error* const int j ; public: TestCiass() *error* static int i=0; cout void convert(long s, long
2、*str) void main() long s, res; couts; convert(S, res); cout Class Person public: *1* void print()(); int sex; ; class Man: public Person public: Man() *2* void print() cout0) s=s 100; 每次除以 100, *str=s 10*s1+*str; 取除以 100后的个位数, str增加 1位 s1=s1*10; 【试题解析】 函数 convea(long s, long*str)的功能是从低位开始取出长整型变量S中奇数
3、位上的数,依次存放在 str中,即取 s的个位数、百位数、万位数 ,先取个位数,然后每次取奇数位的数相当于 s每次除以 100后的个位数,因此可用循环来实现。 三、综合应用题 3 【正确答案】 (1)将 “void print(); ”补充完整为: Vi rtual Void print(); (2)添加语句: sex=1; (3)添加语句: sex=0; (4)添加语句: void fun(Person p) 【试题解析】 在 VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的 main主函数开始入手,可以看出程序通过调用类的成员函数实现各种输出操作。