第1题:
使用VC6打开考生文件夹下的工程RevProj12。此工程包含一个源程序文件RevMain12.cpp,但在该程序中有错误。请改正程序中的错误,使它能得到正确结果。
注意:不得删行或增行,也不得更改程序的结构。
源程序文件RevMain12.cpp中的程序清单如下:
//RevMain12.cpp
include<iostream>
/* * * * FOUND * * * * */
using namespace std;
class test
{
private:
const int value;
char dep[10];
public:
/* * * * *FOUND* * * * */
test()
{
value=0;
strcpy(dep,"m");
}
/* * * * *FOUND* * * * */
test(int newvalue)
{
value=newvalue;
strcpy (dep, "m");
}
/* * * * *FOUND * * * * */
void show()
{
cout<<"value= "<<value<<end1;
}
};
int main ()
{
test t1;
const test t2;
t1.show ();
t2.show();
return 0;
}
第2题:
使用VC6打开考生文件夹下的工程ms9_1,此工程包含一个源程序文件test9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
4,5
20
源程序文件test9_1.cpp清单如下:
include<iostream.h>
class A
{
protected:
int n,m;
public:
void set(int a,int b){m=a; n=b;)
void show(){cout<<m<<","<<n<<endl;)
/**********found*********/
}
class B:public A
{
int s;
public:
void set(){s=m*n;)
void shows(){cout<<s<<endl;)
};
void main()
{
B b;
/**********found**+******/
b.set();
b.show();
b.set();
/*********found**********/
b.show();
}
第3题:
考生文件夹下有一个数据库“学校管理”,其中有数据库表“student”、“score”和“course”
(1)在考生文件夹下有程序文件“cxl.prg”,该程序的功能是检索分数小于60的学生的全部信息。请修改程序中的错误,并调试该程序,使之正确运行。考生不得增加或删减代码。
(2)编写程序“cx2.prg”,实现“输入一个数判断其是否为素数”的功能。
第4题:
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。
程序异常,输出信息为
error
O
ERROR
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
include<iostream.h)
intmain
{
try
{
throw("error");
}
//********error********
catch(chars)
{
cout<<s<<endl;
}
try
{
throw((int)0);
}
//********error********
catch
{
cout<<i<<endl;
}
try
{
throw(O);
throw("error");
}
//********error********
catch
{
cout<<"ERROR"<<endl;
}
return0;
}
(1)应改为“catch(char*s)”。
(2)应改为“cateh(inti)”。
(3)应改为“catch(…)”。
【解析】本题中第1个标识前的异常抛出语句为“throw("error");”,其中的类型为字符串。所以对应的异常捕捉语句catch中应该符合这个类型,而程序中给出的语句“catch(chars)”是字符型的,所以第1处的语句修改为“catch(char*S)”。第2个标识前的异常抛出语句为“throw((int)0);”,其中的类型为int。对应的异常捕捉语句catch中应该符合这个类型,所以补充catch子句中的类型,否则如果找不到匹配的catch块,系统就会调用一个系统函数,使程序终止运行。即第2处的语句修改为“catch(inti)”。如果在catch子句中没有指定异常信息的类型,那么就用删节号“…”表示它可以捕捉任何类型的异常信息,即修改为“catch(…)”。
第5题:
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,但该程序运行有问题,请改正main函数中的错误,使该程序的输出结果正确。 程序输出: 8 8 注意:错误的语句在/********error********/的下面。修改该语句即可,其他的语句不能修改。 试题程序: include(iostream.h> classCO { public: /********error********/ staticintn=0: CO { n++: } ~CO { n--: } }: /********error********/ intCO::n; voidmain { COobj; COobj2[7]; CO*C=NULL: c=&obj: /********error********/ eout<<C.n<<endl; cout<<C0::n<<endl; }
第6题:
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使得程序输出: Hello test 注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在 //******error******的下面。 试题程序: include<iostream> //********error******** template<T> voidfun(Tt) { std::cout<<"test"<<std::endl; } //********error******** template<bool> voidfun(boolt) { std::cout<<(t?"Hell0":"Hi")<<std::endl; } intmain { //********error******** boolflag=TRUE; fun(flag); fun((int)flag); return0; }
第7题:
使用VC6打开考生文件夹下的工程test11_1,此工程包含一个源程序文件test11_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
ch1=7 ch2=9
源程序文件test11_1.cpp清单如下:
include<iostream.h>
class Sample
{
/**************** found ***************/
char ch1,ch2
public:
/************** found ***************/
friend void set(Sample s, char c1,char c2)
{
s.ch1=c1;
s.ch2=c2;
}
void print() {cout<<"ch1="<<" ch2="<<ch2<<end1;}
};
void main()
{
Sample obj;
/************* found ****************/
obj.set(obj,'7','9');
obj.print();
}
第8题:
使用VC6打开考生文件夹下的工程test28_1,此工程包含一个源程序文件test28_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
5
5
源程序文件test28_1.cpp清单如下:
include <iostream.h>
class A{
public:
/***************** found *****************
static int n=1;
A(){n++;};
~A() (n--;};
};
/***************** found *****************
int n=0;
int main() {
A a;
A b[3];
A *c=new A;
c=&a;
/***************** found *****************
cout<<c.n<<end1;
cout<<A::n<<end1;
return 0;
}
第9题:
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错。请改正程序中的错误,使程序输出的结果为 100 37 32 注意:错误的语句在//******error******的下面,修改该语句即可。 试题程序: include<iostream.h> //******error****** voidmain { //******error****** intm=0142: //******error****** intn=0X27: intq=32; cout<<m<<endl; cout<<n<<endl; cout<<q<<endl; return; }
第10题:
使用VC6打开考生文件夹下的工程RevProj7。此工程包含一个源程序文件RevMain6.cpp,但该程序运行有问题。请改正主函数中的错误,使程序的输出结果是:
MyNumber=0
MyNumber=1
MyNumber=2
源程序文件RevMain6.cpp清单如下:
//RevMain6.cpp
include<iostream>
using namespace std;
class MyClass
{
public:
MyClass(int i)
{
MyNumber=i;
}
void SetMember(int m)
{
MyNumber=m;
}
int GetMember()const
{
return MyNumber;
}
void Print() const
{
cout<<"MyNumber="<<MyNumber<<end1;
}
private:
int MyNumber;
};
int main()
{
/* * * * * * * * *found* * * * * * * * *
MyClass *pObj=new MyClass(O);
pObj.Print();
/* * * * * * * * *found* * * * * * * * *
pObj->MyNumber = 1;
pObj->Print();
/* * * * * * * * *found* * * * * * * * *
MyClass. SetMember(2);
(*pObj).Print();
return O;
}