本栏目下题库来源于互联网,轻速云承诺对于用户导入平台的题库是严格保密的,不会在此呈现!
轻速云给您提供更好的在线考试系统服务!
2010年全国计算机等级考试二级C++模拟试题(3)&上机部分
1、【 简答题
使用VC6打开考生文件夹下的工程kt4_1,此工程包含一个源程序文件kt4_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
1:              weight:5
age:0
2:                 weight:7
age:9
源程序文件kt4_1.cpp清单如下:
#include
classanimal
{
public:
/****************found*******************/
friendvoidsetvalue(animal&,int);
/****************found*******************/
viodprint();
protected:
intitsweight;
intitsage;
};
voidanimal::print()
{
cout<<"weight:"<<itsweight<<endl;< p=""></itsweight<<endl;<>
cout<<"age:"<<itsage<<endl;< p=""></itsage<<endl;<>
}
voidsetvalue(animal&ta,inttw)
{
ta.itsweight=tw;
ta.itsage=0;
}
voidsetvalue(animal&ta,inttw,inttn)
{
ta.itsweight=tw;
ta.itsage=tn;
}
voidmain()
{/****************found*******************/
animalpeppy
setvalue(peppy,5);
cout<<"1:"<<endl;< p=""></endl;<>
peppy.print();
setvalue(peppy,7,9);
cout<<"2:"<<endl;< p=""></endl;<>
peppy.print();} [30分]
解析:

(1)添加友元函数的声明  friend void setvalue(animal&,int,int);  (2)将viod print();改为:void print();  (3)将animal peppy改为:animal peppy;
2、【 简答题
使用VC6打开考生文件夹下的工程kt4_3,此工程包含一个源程序文件kt4_3.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。
(1)补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。请在注释“//**1**”之后添加适当的语句。
(2)完成类vector的成员函数input(intx,inty)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句。
(3)完成类vector的友元函数frienddoubleMultiply(vector&x,vector&y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值,将请在注释“//**3**”之后添加适当的语句。输出结果如下:
(10,20)  (2,3)  80  注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序如下:                      #include
classvector
{
inta;
intb;
public:
//**1**
voidinput(intx,inty)
{//**2**}
voidoutput()
{cout<<'('<<a<<','<<b<<")"<<endl;}< p=""></a<<','<<b<<")"<<endl;}<>
frienddoubleMultiply(vector&x,vector&y);
};
doubleMultiply(vector&x,vector&y)
{
//**3**
c=x.a*y.a+x.b*y.b;
returnc;
}
voidmain()
{
vectorx(10,20),y;
doubled;
y.input(2,3);
d=Multiply(x,y);
x.output();
y.output();
cout<<d<<endl;< p=""></d<<endl;<>
} [40分]
解析:
(1)vECtor (int x=0,int y=0):A(x),B(y){}  (2)A=x; B=y;  (3)DouBlE C;
3、【 简答题
请编写一个函数intSeqSearch(intlist[],intstart,intn,intkey),该函数从start开始,在大小为n的数组list中查找key值,返回最先找到的key值的位置,如果没有找到则返回-1。请使用for循环实现。
注意:部分源程序已存在文件kt4_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数SeqSearch的花括号中填写若干语句。
文件kt4_2.cpp的内容如下:
#include
intSeqSearch(intlist[],intstart,intn,intkey)
{
}
voidmain()
{
intA[10];
intkey,count=0,pos;
cout<<"Enteralistof10integers:";
for(pos=0;pos<10;pos++)
{
cin>>A[pos];
}
cout<<"Enterakey:";
cin>>key;
pos=0;
while((pos=SeqSearch(A,pos,10,key))!=-1)
{
count++;
pos++;
}
cout<<key<<"occurs"<<count<<<"inthelist."<<endl;< p=""></key<<"occurs"<<count<<<"inthelist."<<endl;<>
} [30分]
解析:
int SEqSEArCh(int list[], int stArt, int n, int kEy)
{
for(int i=start;i<n;i++)< p=""></n;i++)<>
{
if(list[i]==key)
{
return i;
}
}
return -1;
}
1
1页,共3个题库
1页,共3个题库
轻速云给您提供更好的在线考试系统服务!
推荐
推荐题库
众多企事业单位的信赖之选
36万+企事业单位的共同选择
查看更多合作案例
众多企事业单位的信赖之选
开始使用轻速云组织培训考试
四步组织一场考试答题,一键搭建企业培训平台
免费使用 免费使用 预约演示
咨询热线
400-886-8169
周一到周日 8:00-22:00
©2023 轻速云 苏ICP备16049646号-1 轻速云科技提供专业的在线考试系统、在线培训系统
联系我们
客服热线客服热线:400-886-8169 | 周一至周日 8:00-22:00
©2023 轻速云 苏ICP备16049646号-1
轻速云科技提供专业的在线考试系统、在线培训系统
在线咨询 400-886-8169