国家二级C++机试(操作题)模拟试卷409
基本操作题
1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为:
Constructor,i=0,
Destructor
注意:错误的语句在∥********error********的下面,修改该语句即可。
#include
class cobj
{
int i;
public:
cobj();
void display();
~cobj();
};
∥********error********
cobj:cobj()
{
cout<<“Constructor”<<“,”;
i=0;
}
∥********error********
cobj:di splay()
{
cout<<“i=”<<i<<“,”<<endl;
}
∥********error********
cobj:cobj()
{
cout<<“Destructor”<<end1;
}
void main()
{
cobj a;
a.display();
}
(1)cobj::cobj()
(2)void cobj::display()
(3)cobj::~cobj()
解析:程序当中定义了类cobj,成员为int型变量i,display函数、构造函数和析构函数,在构造函数中显示“Constructor”,display函数显示成员i的值,析构函数显示“Destructor”,因此程序运行结果就是定义对象,隐式调用构造函数,然后调用display()函数显示i的值,最后清除对象时调用析构函数。
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序,使该程序输出倒9×9口诀。
程序分析:分行与列考虑,共9行9列,设置两个变量i和j,i控制行,j控制列。
程序运行结果如下:
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45
6*9=54 7*9=
63 8*9=72 9*9=8 1
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40
6*8=48 7*8=
56 8*8=64
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=
42 7*7=49
1*6=6 2*6=12 3*6=1 8 4*6=24 5*6=30
6*6=36
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*4=4 2*4=8 3*4=12 4*4=16
1*3=3 2*3=6 3*3=9
1*2=2 2*2=4
1*1=1
注意:只能补充函数show(),请勿改动其他部分的内容。
#include
void show()
{
}
void main()
{
cout<<“9*9倒乘法口诀”<<endl;
cout<<“__________________________”<<endl;
show();
cout<<“_____________”<<endl;
return;
}
for(int i=9;i>0;i一一)
{
for(int j=1;j<=i;j++)
{
cout<<j<<‘*’<<i<<‘=’<<i*j<<‘’;
}
cout<<end1;
}
解析:本题属于输出图形题,输出图形呈规律变化,横向看乘号前的数字逐渐增大,竖向看乘号后的数字逐渐减小,可以用循环来实现,一重循环只能控制一个方向,因此可用二重循环来输出该图形。
综合应用题
3.使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测试得到下面的结果:
在CMyShape类构函数造内
在CMyCircle类构造函数内
在CMyShape类构造函数内
在CMyRectangle类构造函数内
myCircle:Area=3 14.1 59 Girth=62.83 19
myRectangle:Area==900 Girth==120
具体要求如下:
(1)定义求面积纯虚函数,请在注释∥********1********之处添加适当的语句。
(2)定义求周长纯虚函数,请在注释∥********2********之处添加适当的语句。
(3)请在注释∥********3********和∥********4********之处添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
#include
#define PI 3.1415926
clas S CMyPoint
{
public:
int x,y;
CMyPoint(int tx,int ty):
X(tx),Y(ty)f}
};
class CMyShape
{
public:
CMyShape(){cout<<“在CMyShape类构造函数内”<<endl;)
∥********1********
∥********2********
protected:
};
class CMyCircle:public CmyShape
{
public:
CMyCircle(CMyPoint i,double
j):CMyShape(),arcCenter(i),
radius(j){
cout<<“在CMyCircle类构造函数内”<<endl;
本文档预览:3600字符,共5554字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载