1、计算机二级(C+)上机考试 1 及答案解析(总分:-3.00,做题时间:90 分钟)1.改错题 使用 VC6 打开考生文件夹下的工程 test10_1,此工程包含一个源程序文件 test10_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为: class Base class D1 class D2 class D3 f in Base 源程序文件 test10_1.cpp 清单如下: #include class Base public: Base()coutn; coutn; cout“结果为:“sum(n)_正确答案:(inline long sum(int n)
2、if(n=1) return 1; else return n*n+sum(n-1); )解析:本题考查的是考生对递归函数掌握的熟练程度。递归的终止条件为 n=1 时,值为 1。 3.综合应用题 使用 VC6 打开考生文件夹下的工程 test8_3,此工程包含一个源程序文件 test8_3.cpp,该文件设计了用于输出乘法九九表的类。请认真阅读已有的代码,按要求完成下列操作,将程序补充完整。 (1)定义类 Table 的私有数据成员 x 和 y,分别用于表示九九表中的两个乘数(x*y),它们都是 int 型的数据。请在注释“/*1*“之后添加适当的语句; (2)完成类 Table 的成员函数
3、print()的定义,该函数以“x*y=z“的格式打印出九九表中的一个乘法算式,请使用格式化输出函数 printf 实现,在注释“/*2*“之后添加适当的语句; (3)完成类 Table9 的成员函数 print()的定义,该函数调用基类Table 的 print()函数,将九九表输出到屏幕,请在注释“/*3*“之后添加适当的语句; (4)补充主函数,在屏幕上输出九九表,以便测试所定义的类的正确性。请在注释“/*4*“之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件 test8_3.cpp 清单如下: #include #include class
4、 Table /*1* int z; public: void print(int x,int y,int z); ; void Table:print (int x,int y,int z) /*2* class Table9:public Table public: void print(); ; void Table9:print() /*3* int x,y,z; for (i=1;i_正确答案:((1) int x; int y; (2) printf( “%d*%d=%d “,x,y,z); if(z解析:主要考查考生将具体问题抽象为类,将类的定义补充完整,并进行类定义测试的能力。注意(2)中格式化输出函数 printf 的使用格式,%d 代表输出的为整型。