本栏目下题库来源于互联网,轻速云承诺对于用户导入平台的题库是严格保密的,不会在此呈现!
轻速云给您提供更好的在线考试系统服务!
2010年全国计算机等级考试二级C++模拟试题(5)&上机部分
1、【 简答题
改错题
使用VC6打开考生文件夹下的工程kt5_1,此工程包含一个源程序文件kt5_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
(1,2)
5,6
(6,9)
源程序文件kt5_1.cpp清单如下:
#include
classA{
public:
A(inti,intj){a=i;b=j;}
/****************found*******************/
voidMove(intx,inty){a+=x;b+=y}
voidShow(){cout<<"("<<A<<","<<B<<")"<<ENDL;}< p>
private:
inta,b;
};
classB:privateA
{
public:
/****************found*******************/
B(inti,intj,intk,intl):(i,j){x=k;y=l;}
voidShow(){cout<<X<<","<<Y<<ENDL;}< p>
voidfun(){Move(3,5);}
/****************found*******************/
voidf1(){Show();}
private:
intx,y;
};
voidmain()
{
Ae(1,2);
e.Show();
Bd(3,4,5,6);
d.fun();
d.Show();
d.f1();
} [30分]
解析:
(1)将void Move( int x, int y) {a+=x;b+=y}
改为:void Move( int x, int y) {a+=x;b+=y;}
(2)将B(int i,int j,int k,int l):(i,j) {x=k;y=l;}
改为:B(int i,int j,int k,int l):A(i,j) {x=k;y=l;}
(3)将void f1(){Show();}
改为:void f1(){A::Show();}
2、【 简答题
简单应用题
请编写一个函数intpattern_index(charsubstr[],charstr[]),该函数执行含通配符"?"的字符串的查找时,该通配符可以与任一个字符匹配成功。当子串substr在str中匹配查找成功时,返回子串substr在str中的位置,否则返回值为0。要求使用for循环实现。输出结果如下:
子串起始位置:5
注意:部分源程序已存在文件kt5_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数pattern_index的花括号中填写若干语句。
文件kt5_2.cpp的内容如下:
#include
intpattern_index(charsubstr[],charstr[])
{
}
voidmain()
{
char*substring,*string;
intsame;
substring="???gram";
string="thisprogramreturnindexofsubstring";
same=pattern_index(substring,string);
if(same)
cout<<"子串起始位置:"<<SAME<<ENDL;< p>
else
cout<<"匹配不成功"<<ENDL;< p>
} [30分]
解析:
int pattern_index(char substr[],char str[])
{int i,j,k;
for(i=0;str[i];i++)
for(j=i,k=0;(str[j]==substr[k])||(substr[k]=='?');j++,k++)
if(!substr[k+1])
return(i);
return(0);}
3、【 简答题
综合应用题
使用VC6打开考生文件夹下的工程kt5_3,此工程包含一个源程序文件kt5_3.cpp,其中定义了用于表示复数的类comp,但类comp的定义并不完整。请按要求完成下列操作,将类comp的定义补充完整。
(1)定义comp的构造函数,函数含参数x和y,它们都是int型的数据,默认值都为0,请使用参数列表的形式分别将类数据成员a和b初始化x和y的值。请在注释“//**1**”之后添加适当的语句。
(2)完成类comp的成员函数input(intx,inty)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句;
(3)完成类comp的友元函数friendcompplus(comp&x,comp&y)的定义,该函数首先要定义一个comp类的对象c,然后将参数x和y的数据成员a与b分别相加并分别赋值给c的成员a和b,最后返回c的值,请在注释“//**3**”之后添加适当的语句。输出结果如下:
10+20i
2+3i
result:12+23i
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件kt5_3.cpp清单如下:
#include
classcomp
{inta;
intb;
public:
//**1**
friendcompplus(comp&x,comp&y);
voidinput(intx,inty)
{//**2**}
voidoutput()
{cout<<A<<'+'<<B<<"I"<<ENDL;}};< p>
compplus(comp&x,comp&y)
{//**3**
c.b=x.b+y.b;
returnc;}
voidmain()
{compx(10,20),y,z;
y.input(2,3);
z=plus(x,y);
x.output();
y.output();
cout<<"result:";
z.output();} [40分]
解析:
(1)comp(int x=0,int y=0):a(x),b(y){}
(2)a=x;
b=y;
(3)comp c;
c.a=x.a+y.a;
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