1、国家二级 C+机试(操作题)模拟试卷 282及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modi1cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为: Max is 7 提示:max()函数实现找出两个数中的最大值,并作为函数值返回。 注意:错误的语句在*error*的下面,修改该语句即可。#includeiostreamusing namespace std;*error*int max(int a,int b) if(ab) int t=a; a=b; b=t; r
2、eturn b;int main() int m=-3; int n=7; *error* max(-3,n); cout“Max is“mendl; return 0;(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生文件夹下的源程序文件 modi2cpp。阅读下列函数说明和代码。函数sort(intm,intn,int1)实现将三个整数 m、n、l 由大到小输出。m 最大,l 最小。 程序分析:程序实现时,可以把最大的数放到 m上,先将 m与 n进行比较,如果 mn则将 m与 n的值进行交换,然后再用 m与 l进行比较,如果 ml则将 m与 1的值进行
3、交换,这样能使 m最大。然后再将 n与 l进行比较,若n void sort(intm,intn,int1) int main() int x=9; int y=13; int z=-3; sort(x,y,z); coutx,y, z_三、综合应用题(总题数:1,分数:2.00)3.使用 VC6打开考生文件夹下的源程序文件 modi3cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成默认构造函数 TestClass的定义,使得 TestClass对象的类型为 int,默认值为 a=0,b=0,c=0,请在注释*1*后添加适当的语句。 (2)定义类的私有成员变量
4、,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 注意:除在
5、指定的位置添加语句之外,请不要改动程序的其他部分。#includeiostreamtlSing namespace Std;Class TestClasspublic: *1* X=a; Y=b; Z=c; *4* void Display() cout“The point is (“X,Y,Z)endl; cout “There are “count “point obj ects“ endl; private: *2* *3*;int TestClass:count=0;int main() TestClass p1(1,1,1),p2(1,2,3),p3(0,0,0); p1Displa
6、y(); p2Display(); p3Display(); return 0;(分数:2.00)_国家二级 C+机试(操作题)模拟试卷 282答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6打开考生文件夹下的源程序文件 modi1cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为: Max is 7 提示:max()函数实现找出两个数中的最大值,并作为函数值返回。 注意:错误的语句在*error*的下面,修改该语句即可。#includeiostreamusing namespace std;*error
7、*int max(int a,int b) if(ab) int t=a; a=b; b=t; return b;int main() int m=-3; int n=7; *error* max(-3,n); cout“Max is“mendl; return 0;(分数:2.00)_正确答案:(正确答案:(1)int max(inta,intb) (2)max(m,n);)解析:解析:(1)由审题分析可知 max函数采用的是传送引用方式传递参数,因此第 1个标识下应该为int max(inta,intb)。 (2)调用 max时,传递引用时直接使用变量名即可,第 2个标识下应改为“max(
8、m,n)”。二、简单应用题(总题数:1,分数:2.00)2.使用 VC6打开考生文件夹下的源程序文件 modi2cpp。阅读下列函数说明和代码。函数sort(intm,intn,int1)实现将三个整数 m、n、l 由大到小输出。m 最大,l 最小。 程序分析:程序实现时,可以把最大的数放到 m上,先将 m与 n进行比较,如果 mn则将 m与 n的值进行交换,然后再用 m与 l进行比较,如果 ml则将 m与 1的值进行交换,这样能使 m最大。然后再将 n与 l进行比较,若n void sort(intm,intn,int1) int main() int x=9; int y=13; int
9、z=-3; sort(x,y,z); coutx,y, z_正确答案:(正确答案:int t; if(mn) t=m;m=n;n=t;*交换 x,y 的值* if(m1) t=m;m=1;l=t;*交换 x,z 的值* if(n1) t=n;n=l;l=t;*交换 z,y 的值*)解析:解析:(1)由审题分析可知,三次比较便可将 m、n、l 排序。 (2)在实现时,先将 m与 n进行比较,如果 mn则将 m与 n的值进行交换,然后再用 m与 l进行比较,如果 ml则将 m与 l的值进行交换,这样能使 m最大。然后再将 n与 l进行比较,若 n三、综合应用题(总题数:1,分数:2.00)3.使用
10、 VC6打开考生文件夹下的源程序文件 modi3cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (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*后添加适当的语句。
11、 本程序的输出结果为: 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 注意:除在指定的位置添加语句之外,请不要改动程序的其他部分。#includeiostreamtlSing namespace Std;Class TestClasspublic: *1* X=a; Y=b; Z=c; *4* void Display() cout“The point is (“X,
12、Y,Z)endl; cout “There are “count “point obj ects“ endl; private: *2* *3*;int TestClass:count=0;int main() TestClass p1(1,1,1),p2(1,2,3),p3(0,0,0); p1Display(); p2Display(); p3Display(); return 0;(分数:2.00)_正确答案:(正确答案:(1)添加语句:Testclass(int a=0,int b=0,int c=0) (2)添加语句:int x,y,z; (3)添加语句:static int cou
13、nt; (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+;”。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1