国家二级C++机试(操作题)模拟试卷564
基本操作题
1.使用VC6打开考生文件夹下的源程序文件modi.cpp,该程序运行时有错,请改正其中错误,使得程序正常运行,并使程序输出的结果为:
C
Test
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。
1 #include<iostream.h>
2 void main()
3 {
4 //********error********
5 char c=’’c’’;
6 cout<<c<<end1;
7 //********error********
8 char b=1024;
9 //********error********
10 b+=1024:
11 if(b==2048)
12 {
13 cout<<’’Test’’<<end1;
14 }
15 return;
16 }
(1)char c=’c’;
(2)int b=1024;
(3)b+=1024;
解析:本题的功能是输出字符c和字符串Test。因为本题程序中不存在复杂的结构,解题思路,从已定源程序的main主函数依次处理错误提示下的语句即可。
(1)打开modi1.cpp,调试程序,显示错误提示为第一标识下“odi1.cpp(5):error C2440:’initializing’:cannot convert from ’char[2]’to ’char’”。变量c的类型为字符型,字符型值应该是用单引号,双引号是字符串型。所以这里修改为“char c=’c’;”。
(2)根据第3个标识下的语句知道,b的值加上1024,然后判断b的值是否为2048,所以这里b的类型应该是整型,而不是字符型,所以修改为“intb=1024;”。
(3)显示第3个标识下的语句“b+=1024;”的错误提示modi1.cpp(10):error C2018:unknown character’0xa3’,因为语句中的“;”为中文输入法下的输入,并不是英文下的“;”,所以修改为“b+=1024;”。
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(char*s,char*s1,char*s2)中形参字符串s1和s2有相同的字符个数,且s1中各字符互不相同。该函数实现将已知字符串S中所有在字符串s1中也存在的字符,都用字符串s2中的对应位置的字符代替。
例如:设字符串s、s1和s2分别为:
s[]=’’ABCABC’’,
s1[]=’’AC’’,
s2[]=’’ZX’’
则s2中的字符Z和X分别对应s1中的字符C和A,函数调用fun(s,s`,s2)将字符串s的内容变为’’ZBXZBX’’。
注意:不能修改程序的其他部分,只能修改fun()函数。
1 #include<iostream>
2 void fun(char *s,char*s1,char*s2)
3 {
4
5 }
6 void main()
7 {
8 char s[]=’’ABCABC’’;
9 fun(s,’’AC’’,’’ZX’’);
10 std::cout<<s<<std::end1;
11 return;
12 }
1 char *p,*q;
2 for(;*s;s++)//在串s中找符合条件的字符,然后替换
3 {
4 for(p=s1,q=s2;*p;p++,q++)//让指针p,q分别指向s1和s2
5 {
6 if(*p==*s)//如果s中存在s1中p指向的字符
7 {
8 *s=*q;//那么用q指向的s2中的字符替换
9 }
10 }
11 }
解析:(1)该程序功能是将已知字符串s中所有在字符串s1中也存在的字符,都用字符串s2中的对应位置的字符代替。它的解题思路,首先是找到符合替换条件的字符,然后进行替换。
(2)从已给部分源程序的main主函数开始入手,核心函数void fun(char*s,char*s1,char*s2)中的s1,s2参数为要替换的字符串,s为要被替换的字符串。
综合应用题
3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(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********后添加适当的语句。
本程序的输出结果为:
The point is(1,1,1)
There are 3 pointobjects
The point is(1,2,3)
There are 3 point objects
The point is(0,0,0)
There are 3 point objects
注意:除在指定的位置添加语句之外,请不要改动程序的其他部分。
1 #include<iostream>
2 using namespace std;
3 class TeStClass
4 {
5 public:
6 //********1********
7
8 {
9 X=a;
10 Y=b;
11 Z=c;
12 //********4********
13
14 }
15 void Display()
16 {
17 cout<<’’The point is(’’<<X<<’,’<<Y<<’,’<<Z<<’)’<<end1;
18 cout<<’’There are’’<<count<<’’point objects.’’<<end1;
19 }
20 private:
21 //********2********
本文档预览:3600字符,共4664字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载