国家二级C++机试(操作题)模拟试卷340
基本操作题
1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为:
Max is 7
提示:max()函数实现找出两个数中的最大值,并作为函数值返回。
注意:错误的语句在//********error********的下面,修改该语句即可。
#include
using namespace std;
//********error********
int max(int a,int b)
{
if(a<b)
{
int t=a;
a=b;
b=t;
}
return b;
}
int main()
{
int m=-3;
int n=7;
//********error********
max(-3,n);
cout<<\\
(1)int max(int&a,int&b)
(2)max(m,n);
解析:(1)由审题分析可知max函数采用的是传送引用方式传递参数,因此第1个标识下应该为int max(int&a,int&b)。
(2)调用max时,传递引用时直接使用变量名即可,第2个标识下应改为“max(m,n)”。
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数sort(int&m,int&n,int&1)实现将三个整数m、n、l由大到小输出。m最大,l最小。
程序分析:程序实现时,可以把最大的数放到m上,先将m与n进行比较,如果m<n则将m与n的值进行交换,然后再用m与l进行比较,如果m<l则将m与1的值进行交换,这样能使m最大。然后再将n与l进行比较,若n<l则将n与l的值互换,互换后则l最小。
将函数sort(int&m,int&n,int&1)补充完整,实现三个数的排序。
注意:请勿改动主函数。
#include
void sort(int&m,int&n,int&1)
{
}
int main()
{
int x=9;
int y=13;
int z=-3;
sort(x,y,z);
cout<<x<<’,’<<y<<’,’
<<z<<endl;
return 0;
}
int t;
if(m<n)
{t=m;m=n;n=t;}/*交换x,y的值*/
if(m<1)
{t=m;m=1;l=t;}/*交换x,z的值*/
if(n<1)
{t=n;n=l;l=t;}/*交换z,y的值*/
解析:(1)由审题分析可知,三次比较便可将m、n、l排序。
(2)在实现时,先将m与n进行比较,如果m<n则将m与n的值进行交换,然后再用m与l进行比较,如果m<l则将m与l的值进行交换,这样能使m最大。然后再将n与l进行比较,若n<l则将n与l的值互换,互换后则l最小,这样就得到m最大,l最小的排序结果。
(3)在sort函数内用三个if比较即可,条件成立则进行交换。
综合应用题
3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)完成默认构造函数TestClass的定义,使得TestClass对象的类型为int,默认值为a=0,b=0,c=0,请在注释//********1********后添加适当的语句。
(2)定义类的私有成员变量,X、Y、Z类型为int,请在注释//********2********后添加适当的语句。
(3)定义类TestClass的数据成员count声明为静态整数型数据成员,请在注释
//********3********后添加适当的语句。
(4)在构造函数中实现用count表示类TestClass被实现对象的次数。请在注释//********4********后添加适当的语句。
本程序的输出结果为:
The point is(1,1,1)
There are 3 point objects
The point is(1,2,3)
There are 3 point objects
The point is(0,0,0)
There are 3 point objects
注意:除在指定的位置添加语句之外,请不要改动程序的其他部分。
#include
tlSing namespace Std;
Class TestClass
{
public:
//********1********
{
X=a;
Y=b;
Z=c;
//********4********
}
void Display()
{
cout<<\\
(1)添加语句:Testclass(int a=0,int b=0,int c=0)
(2)添加语句:int x,y,z;
(3)添加语句:static int count;
(4)添加语句:count++;
解析:(1)题目1要求“完成默认构造函数TestClass的定义”。构造函数是一种特殊的成员函数,它的名字必须与类同名,所以这里的构造函数名字是TestClass。根据题目中要求,实现构造函数参数的赋值,即这里添加”TestClass(int a=0,int b=0,intc=0)”。
(2)题目2要求“定义类的私有成员变量,X、Y、Z类型为int”。在类TestClass中的private区域,声明变量X、Y、Z为整型就可以了,即在第2个标识下添加“int X,Y,Z;”。
(3)题目3要求“定义类TestClass的数据成员count声明为静态整数型数据成员”。同(2)在第3个标识下声明count为静态整型,即添加“static int count;”。
(4)题目4要求“在构造函数中实现用count表示类TestClass被实现对象的次数”。在构造函数TestClass中添加count自加运算语句,即在第4个标识下添加“count++;”。
本文档预览:3600字符,共3522字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载