第 1 页:上机试题 |
第 2 页:参考解析 |
点击查看:2018年9月计算机二级C++考试上机练习题及答案汇总
一、程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有误,请改正其中的错误,使程序正常运行,并使程序的输出结果为
平均值为29
最大值为112
最小值为-11
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include(iostream)
usingnamespacestd;
intmain()
{
inti,Ave,Min,Max;
intdata[8]={100,21,-73,86,14,0,-21,1};
Ave=0;
for(i=0:i<8:i++)
//******error******
Ave=data[i];
Ave/=8:
cout<<"平均值为:"< Max=Min=data[O];
for(i=0;i<8;i++)
{
//******error******
if(data[i](Max)Max=data[i];
//******error******
if(data[i])Min)Min=data[i];
}
cout<<"最大值为:"< cout<<"最小值为:"< return0;
}
二、简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数sum(intA[NUM][NUM],intn)的功能是计算矩阵中所有非质数数字的和。
提示:函数isPrime(intn)的功能是判定当前数字是否为质数,如果是,则返回true。
注意:不能修改程序的其他部分,只能修改sum函数。
试题程序:
#include(iostream.h)
#include
#defineNUM50
intA[NUM][NUM]=
{
{1,3,5,7,9},
{11,13,15,17,19},
{21,23,25,27,29},
{31,33,35,37,39},
{41,43,45,47,49}
};
boolisPrime(intn)
{
if(n==1)
returnfalse;
if(n==2)
returntrue;
for(inti=2;i(n/2;i++)
{
if(n%i==0)
returnfalse;
}
returntrue;
}
intsum(intAENUM]ENUM],intn)
{
}
intmain()
{
cout< return0;
}
三、综合应用题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了类BA、PA1和PA2,其中PA1类由BA类公有派生,PA2类由PA1类公有派生。上述3个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
程序输出结果如下:
1O
5
1057
(1)定义类BA的构造函数,该构造函数有一个整型的参数m,在构造函数中将m赋值给数据成员a。请在注释1之后添加适当的语句。
(2)定义类PA1的构造函数,该构造函数有两个整型的参数m和n,在构造函数中将m赋值给数据成员b,将n作为基类BA构造函数的参数值传人。请在注释2之后添加适当的语句。
(3)定义类PA2的构造函数,该构造函数有3个整型的参数m、n和k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类PA1构造函数的参数m和n。请在注释3之后添加适当的语句。
(4)完成类PA2的成员函数show的定义,该函数调用基类成员函数,输出基类私有成员a、b及类PA2自身的数据成员C的值,上述3个值在输出时用空格隔开。请在注释4之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
试题程序:
#include(iostream.h>
classBA
{
inta;
public:
//********1********
intgeta(){returna;}
};
classPAl:publicBA
{
intb;
public:
//********2********
intgetb(){returnb;}
};
classPA2:publicPAl
{
intC;
public:
//********3********
voidshow()
{
//********4********
}
};
voidmain()
{
PA2a(7,5,10);
cout< cout< a.show();
}
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: