elsecout<<*P;
p++;
}
return0;
}
,test ,Test ,TEST ,tEST
23. 阅读下面程序:#include <iostream.h>fun (int a, int b){int
c;c=a+b;return c;}void main(){int x=6, y=7, z=8, r;r=fun( (x--, y++, x+y), z-
-);cout<<r<<end1;}则该程序的输出结果是( )。
A.11 B.20 C.21 D.31
三、2.填空题(12题)
24. 源程序文档化要求程序应加注释。注释一般分为序言性注释和【 】
25. 纯虚函数的声明总是以______结束。
26. 下面程序的运行结果是【 】和【 】。
#include<iostream.h>
#define N 10
#define s( x ) x*x
#define f( x ) ( x*x )
void main( )
{int i1,i2;
i1=1000/s(N);i2=1000/f(N);
cout <<i 1 << " " << i2;
}
27. 定义在类内部的函数被类默认为【 】,在类外部每次调用该函数时,
定义的函数代码会在调用函数位置展开。
28. 在一个C++程序中,每个变量都必须遵循【 】的原则。
29. 表达式operator++(x,int)其可以表示为______。
30. 以下程序的输出结果是【 】。
#include<iostream.h>
void main( )
}
int a=0;
a+=(a=8) ;
cout<<a;
}
31. C++中将两个字符串连接起来组成一个字符串的函数是______。
32. 下列程序的输出结果是______。
#include<iostream>
using namespace std;
Class Test{
public:
Test(){cnt++;}
~Test(){cnt--;}
static int Count(){return cnt;}
private:
static int cnt;
};
int Test::cnt=0;
int main()
{
cout<<Test::Count()<<"";
Test t1,t2;
Test*pT3=new Test;
Test*pT4=new Test;
cout<<Test::Count()<<"";
delete pT4;
delete pT3;
cout<<Test::Count()<<end1;
return 0;
}
33. Jackson方法是一种面向______的结构化方法。
34. 虚函数必须是类的【 】。
35. 以下程序的执行结果为______。
#include<iostream.h>
class A
{public:A(){cout<<“a”;}
~A(){cout<<“b”;}};
class B:public A
{public:
B(){cout<<“c”;)
~B(){cout<<“d”;}};
void main()
{B b;}
四、程序改错题(10题)
36.使用VC++6.0打开考生文件夹下的源程序文件1.cpp。本程序
要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可
能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出
到屏幕中。
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结
构,错误的语句在//******error******的下面。
试题程序:
#include
voidmain
{
inti=0;
charstr[120];
cout<<"Enterastringendwith?."<//********error********
cin.getline(str,120);
//********error********
while(str)
{
//********error********
if(str[i])=a)
str[i]=str[i]-a+A;
i++;
}
cout<return;
}
37.使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序
运行时有错误,请改正错误,使程序正常运行,并且要求最后一个
catch必须抛出执行的任何异常。
程序异常,输出信息为
error
O
ERROR
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结
构,错误的语句在//******error******的下面。
试题程序:
#includeintmain
{
try
{
throw("error");
}
//********error********
catch(chars)
{
cout<
}
try
{
throw((int)0);
}
//********error********
catch
{
cout<
}
try
{
throw(O);
throw("error");
}
//********error********
catch
{
cout<<"ERROR"<}
return0;
}
38.使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序
运行时有错误,请改正错误,使程序正常运行,并且要求最后一个
catch必须抛出执行的任何异常。
程序异常,输出信息为
error
O
ERROR
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结
构,错误的语句在//******error******的下面。
试题程序:
#includeintmain
{
try
{
throw("error");
}
//********error********
catch(chars)
{
cout<
}
try
{
throw((int)0);
}
//********error********
catch
{
cout<
}
try
{
throw(O);
throw("error");
}
//********error********
catch
{
cout<<"ERROR"<}
return0;
}
39.使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序
运行时有错,请改正其中的错误,使程序正常运行,输出的结果为
Constructor,i=0,
Destructor
注意:错误的语句在//******error******的下面,修改该语句即
可。
试题程序:
#include(iostream.h)
classTC
{
inti;
public:
TC;
voiddisplay;
~TC;
};
//******error******
TC:TC
{
cout<<"Constructor"<<",";
i=0;
)
//******error******
TC:display
{
tout<<"i="<
}
//******error******
TC:TC
{
COUI<<"Destructor"<}
voidmain
{
TCa;
a.display;
}
40.使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运
行有问题,请改正main函数中的错误,使程序的输出结果为:
number=1
number=10
number=100
注意:不要改动main函数,不能增加或删除行。也不能更改程序的结
构,错误的语句在//******error******的下面。
试题程序:
#include
classTC
{
public:
TC(inti)
{
number=i;
}
voidSetNumber(intm)
{
number=m;
}
intGetNumberconst
{
returnnumber;
}
voidPrintconst
{
cout<<"number="<}
private:
intnumber;
};
voidmain
{
//********error********
TCobjl;
objl.Print;
TCobj2(3);
//********error********
objl.number=10;
//********error*‰******
TC.SetNumber(100);
objl.Print;
obj2.Print;
}
41.使用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<cout<}
42.使用VC++6.0打开考生文件夹下的源程序文件
1.cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现
的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结
构,错误的语句在
//******error******的下面。
试题程序:
#include
#include
//********error********
usingstd;
voidWriteFile(char*s)
{
ofstreamout1;
//********error********
out1.open("1.txt",binary|app);
for(inti=0;s[i]!=0;i++)
{
//********error********
out1.puts(s[i]);
}
out1.close;
}
voidClearFile
{
ofstreamout1;
out1.open("1.txt");
out1.close;
}
intmain
{
chars[1024];
ClearFile;
cout<<"pleaseinputastrin9:"<cin.getline(s,1024);
WriteFile(s);
return0;
}
43.使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序
运行时有错。请改正程序中的错误,使程序输出的结果为
100
37
32
注意:错误的语句在//******error******的下面,修改该语句即
可。
试题程序:
#include
//******error******
voidmain
{
//******error******
intm=0142:
//******error******
intn=0X27:
intq=32;
cout<<m<<endl;
cout<<n<<endl;
cout<<q<<endl;
return;
}
44.使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运
行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果
为:
sizeof(S1)=5
sizeof(s2)=10
sizeof(s3)=1
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结
构,错误的语句在//******error******的下面。
(1)不能删除assert()语句。
(2)只能修改后面的数字。
提示:assert函数如果为假,则会产生一个中断异常。
试题程序:
#include
#include
voidmain()
{
char*s1="abc":
//********error********
assert(sizeof(s1)==3):
cout<<"sizeof(s1)=5"<chars2[10]="ab":
//********error********
assert(sizeof(s2)==2);
cout<<"sizeof(s2)=10"<chars3=23:
//********error********
assert(sizeof(s3)==4);
cout<<"sizeof(s3)=1"<return;
}
45.使用VC++6.0打开考生文件夹下的源程序文件
1.cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实
现的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结
构,错误的语句在
评论列表(0条)