2016年9月計算機二級C++模擬試題及答案
使用VC6打開考生文件夾下的工程kt8_3,此工程包含一個源程序文件kt8_3.cpp,該文件設計了用于輸出乘法九九表的類。請認真閱讀已有的代碼,按要求完成下列操作,將程序補充完整。
(1)定義類Table的私有數據成員x和y,分別用于表示九九表中的兩個乘數(x*y),它們都是int型的數據。請在注釋“//**1**”之后添加適當的語句;
(2)完成類Table的成員函數print()的定義,該函數以"x*y=z"的格式打印出九九表中的'一個乘法算式,請使用格式化輸出函數printf實現,在注釋“//**2**”之后添加適當的語句;
(3)完成類Table9的成員函數print()的定義,該函數調用基類Table的print()函數,將九九表輸出到屏幕,請在注釋“//**3**”之后添加適當的語句;
(4)補充主函數,在屏幕上輸出九九表,以便測試所定義的類的正確性。請在注釋“//**4**”之后添加適當的語句。
注意:除在指定位置添加語句之外,請不要改動程序中的其他內容。
源程序文件kt8_3.cpp清單如下:
#include
#include
classTable
{//**1** 考試大論壇
intz;
public:
voidprint(intx,inty,intz);};
voidTable::print(intx,inty,intz)
{//**2**}
classTable9:publicTable
{public:
voidprint();};
voidTable9::print()
{//**3**
intx,y,z;
for(i=1;i<10;i++)
{for(j=1;j {x=i;
y=j;
z=i*j;
Table::print(y,x,z);}
printf("\n");}}
main()
{//**4**
return0;}
【參考答案】
(1)int x;
int y;
(2)printf( "%d*%d=%d ",x,y,z);
if(z<10) printf(" ");
(3)int i,j;
(4)Table9 t_9;
t_9.print();
【試題解析】
主要考查將具體問題抽象為類,將類的定義補充完整,并進行類定義測試的能力。