国家二级C++机试(操作题)模拟试卷393
基本操作题
1.使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果:
(4,5)
7,8
(4,8)
注意:错误的语句在 ∥********error********的下面,修改该语句即可。
#include
class cobj0
{
public:
cobj 0(int i,int j)
{
x=i;
y=j;
}
∥********error********
virtual void m0Ve(int a;int b)
{
x+=a;
y+=b;
}
void print()
{
cout<<“(”<<x<<”,“<<y
<<”}”<<endl;
}
public:
int x,y;
};
class cobj 1:public cobj 0
(
public:
∥********error********
cobj 1(int i,int j,int k):(i,j)
{
m=k;
n=1;
}
void print()
{
cout<<m<<“,”<<n<<endl;
}
void func()
{
move(3,5);
}
void display()
{
∥********error********
print();
}
private:
int m,n;
};
void main()
{
cobj 0 oh3(4,5);
obj.print();
cobj 1 obj 1(1,3,7,8);
obj 1.func();
obj 1.print();
oh3 1.display();
}
(1)virtual void move(int a,int b)
(2)CObj 1(int i,int j,int k,int 1):
CObj 0(i,j)
(3)CObj 0::print();
解析:程序中定义了COhj0和CObj1两个类,CObj1公有派生于CObj0,CObj0有两个public成员变量X和y,CObj1有2个private成员变量m和n,CObjO的print函数打印x和y的值,CObj 1的print函数打印m和n的值,display函数调用基类的print函数打印CObj 1的x和y的值。
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成函数fun(char*str,char*s)空出部分。函数fun(ehaur*str,chaur*s)的功能是:将在字符串str中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串S中,S中字符按原字符串中字符的顺序排列。(注意0为偶数)
例如:当str中的字符串为:“abcdef”时,s中的字符串应为:“aaccee”。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
#include
void fun(char*str,char*S)
{
}
void main()
{
char str[100],s[100];
cout<<“P1ease enter stringstring:”<<end1;
cin.getline(str,100);
fun(str,s);
cout<<“The result is: ”<<s<<endl;
return;
}
Int 1;
for(i=0 ; str[i]!=0;i++) //循环
判断每一个字符
{
if(i%2==0) //判断字符串
中下标为偶数位置
{
S[i]=str[i];
S[i+1]=str[i];
s[i+2]=’\0’; //新串添加尾符
}
}
解析:(1)该程序功能是找出在字符串中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串。它的解题思路,解题过程利用if条件判断表达式选择符合条件的字符,然后将符合条件的字符放入指定的字符串。
(2)从已给部分源程序的main主函数开始入手,核心函数void fun(char*str,char*s)中的str参数为输入的字符串,其中s为新串。
综合应用题
3.使用VC6打开考生文件件下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补允完整。
(1) 重载运算符 int, 请在注释∥********1********后添加适当的语句。
(2)重载运算符“<<”, 请在注释∥********2********后添加适当的语句。
(3)在主函数main()中定义变量j,并调用对象obj的int运算符,给变量赋初值为10,请在注释∥********3********后添加适当的语句。
(4)调用obi的“<<”运算符输出:
Hello Test
注意:增加代码,或行修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
using namespace std;
class TestClass
{
public:
∥********1********
{
cout<<“int”<<end1;
return 10;
}
∥********2********
{
cout<<str<<endl;
}
};
int main()
{
Testclass obj;<
本文档预览:3600字符,共3982字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载