1、【
单选题
】
源程序的文档化不包括( )。
[1分]
、
符号名的命名要有实际意义
、
正确的文档形式
、
良好的视觉组织
、
正确的程序注释
答案:
2、【
单选题
】
有以下程序:
#include
usingnamespacestd;
classsample
{
private:
intn;
public:
sample(){}
sample(intm)
{
n=m:
}
sampleadd(samplesl,samples2)
{
this->n=s1.n+s2.n;
return(*this);
}
voiddisp()
{
cout<<"n="<<n<
}
};
intmain()
{
samples1(10),s2(5),s3;
s3.add(s1,s2);
s3.disp();
return0:
}
程序运行后,输出的结果是( )。
[1分]
、
n=10
、
n=5
、
n=20
、
n=15
答案:
3、【
单选题
】
已知数组arr的定义如下:
intarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是( )。
[1分]
、
cout<<*arr+1<<endl;
、
COUt<<*(art+1)<<endl;
、
cout<<arr[1]<<endl;
、
COUt<<*arr<
答案:
4、【
单选题
】
下列叙述中正确的是( )。
[1分]
、
一个算法的空间复杂度大,则其时间复杂度必定大
、
一个算法的空间复杂度大,则其时间复杂度必定小
、
一个算法的时间复杂度大,则其空间复杂度必定小
、
上述三种说法都不对
答案:
5、【
单选题
】
下列排序方法中,最坏情况下比较次数最少的是( )。
[1分]
、
冒泡排序
、
简单选择排序
、
直接插入排序
、
堆排序
答案:
6、【
单选题
】
在面向对象方法中,不属于“对象”基本特点的是( )。
[1分]
、
一致性
、
分类性
、
多态性
、
标识唯一性
答案:
7、【
单选题
】
下列叙述中正确的是( )。
[1分]
、
在模块化程序设计中,一个模块应该尽量多地包括与其他模块联系的信息
、
在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节
、
在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则
、
在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法
答案:
8、【
单选题
】
有如下函数模板定义:
template
T1FUN(T2n){returnn*5,0;}
若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。
[1分]
、
FUN(9)
、
FUN<9>
、
FUN<double>(9)
、
FUN<9>(double)
答案:
9、【
单选题
】
下列关于运行符重载的描述中,正确的是( )。
[1分]
、
运算符重载可以改变操作数的个数
、
运算符重载可以改变操作数的优先级
、
运算符重载可以改变运算符的结合性
、
运算符重载可以使运算符实现特殊功能
答案:
10、【
单选题
】
若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为( )。
[1分]
答案:
11、【
单选题
】
算法的空间复杂度是指( )。
[1分]
、
算法程序的长度
、
算法程序中的指令条数
、
算法程序所占的存储空间
、
算法执行过程中所需要的存储空间
答案:
12、【
单选题
】
有下列程序:
#include
structst
{intx,Y,date[2]={1,10,2,20};
voidmain( )
{structst*p=date;
printf("%d,",p->y);printf("%d\n",(++p)
->x);
}
程序的运行结果是( )。
[1分]
、
10,1
、
20,1
、
10,2
、
20,2
答案:
13、【
单选题
】
有如下程序:
#included
usingnamespacestd;
classTestClass
{private:
intX,y;
public:
TestClass(inti,intj)
{x=i;
y=j;}
voidprint()
{cout<<"printl"<<endl;}
voidprint()const
{cout<<"print2"<
intmain()
{constTestClassa(1,2);
print();
return0;}
该程序运行后的输出结果是( )。
[1分]
、
printl
、
print2
、
printlprint2
、
程序编译时出错
答案:
14、【
单选题
】
有以下类定义:
classMyClass
{
private:
intid;
chargender;
char*phone;
public:
MyClass():id(0),gender('#'),phone(NULl){}
MyClass(intn0,charge='#',char*ph=NULL)
{id=no;gender=ge;phone=ph;}
};
下列类对象定义语句中错误的是( )。
[1分]
、
MyClassmyObj;
、
MyClassmyObj(11,"13301111155");
、
MyClassmyObj(12,'m');
、
MyClassmyObj(12);
答案:
15、【
单选题
】
有下列程序:
#include
voidmain( )
{
intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{
Case0:a++;break;
case1:b++break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf(”a=%d,b=%d\n”,a,b);
}
程序的运行结果是( )。
[1分]
、
a=1,b=0
、
a=2,b=2
、
a=1,b=1
、
a=2,b=1
答案:
16、【
单选题
】
有3个关系R、S和T如下:
由关系R和S通过运算得到关系T,则所使用的运算为( )。
[1分]
答案:
17、【
单选题
】
有下列程序:
#include
intfun(intx,inyy)
{if(x==y)return(x);
elsereturn((x+y)/2);
}
voidmain()
{inta=4,b=5,C=6;
printf("%d\n",fun(2*a,fun(b,c)));
}
程序运行后的输出结果是()。
[1分]
答案:
18、【
单选题
】
下列叙述中错误的是( )。
[1分]
、
gets函数用于从终端读入字符串
、
getchar函数用于从磁盘文件读入字符
、
fputs函数用于把字符串输出到文件
、
fwrite函数用于以二进制形式输出数据到文件
答案:
19、【
单选题
】
有如下函数模板声明:
template
TMax(Ta,Tb){return(a>=b)?a.b;}
下列对函数模板Max( )的调用中错误的是( )。
[1分]
、
Max(3.5,4.5)
、
Max(3.5,4)
、
Max(3.5,4.5)
、
Max(3.5,4)
答案:
20、【
单选题
】
有下列程序:
#include
voidmain( )
{intx;
scanf(”%d”,&x);
if(x<=3);else
if(x!=10)printf("%d\n",x);
}
程序运行时,输入的值在哪个范围才会有输出结果( )。
[1分]
、
不等于10的整数
、
大于3且不等10的整数
、
大于3或等于10的整数
、
小于3的整数
答案:
21、【
单选题
】
有以下程序:
classDate
{public:
Date(inty,intm,intd);
{year=Y;
month=m;
day=d;}
Date(inty=2000)
{year=y;
month=10;
day=1;}
Date(Date&d)
{year=d.year;
month=d.month;
day=d.day;}
voidprint()
{cout<<year<<"."<<month<"."<<
day<<endl;}
private:
intyear,month,day;};
Datefun(Dated)
{Datetemp;
temp=d;
returntemp;}
intmain()
{Datedatel(2000,1,1),date2(0,0,O);
Datedate3(date1);
date2=fun(date3);
return0;}
程序执行时,Date类的复制构造函数被调用的次数是( )。
[1分]
答案:
22、【
单选题
】
下列表示纯虚函数的成员函数是( )。
[1分]
、
virtualintfunc(int);
、
voidfunc(int)=0;
、
virtualvoidfunc=0;
、
virtualvoidrune(int){}
答案:
23、【
单选题
】
有如下类定义:
classA{
char*a;
public:
A( ):a(O){}
A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间
a=__;
strcpy(a,aa);
}
~A( ){delete[]a;}
};
横线处应填写的表达式是( )。
[1分]
、
Dewchar[strlen(aa)+1]
、
char[strlen(aa)+1]
、
char[strlen(aa)]
、
newchar[sizeof(aa)-1]
答案:
24、【
单选题
】
下列有关类继承的叙述中,错误的是( )。
[1分]
、
继承可以实现软件复用
、
虚基类可以解决由多继承产生的二义性问题
、
派生类构造函数要负责调用基类的构造函数
、
派生类没有继承基类的私有成员
答案:
25、【
单选题
】
下面程序输出的结果为( )。
#include"iostream.h"
classA
{public:
A(){cOUt<<"CLASSA"<<endl;}
~A(){}};
ClaSSB:publicA
{public:
B(){cout<<"CLASSB"<<endl;}
~B(){}};
voidmain()
{A*P;
P=newB:
B*q:
q=newB;}
[1分]
、
CLASSA
、
CLASSA
CLASSBCLASSB
CLASSB
、
CLASSA
、
CLASSA
CLASSBCLASSB
CLASSACLASSB
CLASSBCLASSB
答案:
26、【
单选题
】
原因排除法属于( )。
[1分]
、
软件调试方法
、
黑盒测试方法
、
白盒测试方法
、
动态测试方法
答案:
27、【
单选题
】
下面程序的运行结果是( )。
#include
classbase{
protected:
inta;
public:
base(){cout<<"0";}
};
classbasel:virtualbase{
public:
basel(){cout<<"1";}
};
classbase2:virtualbase{
public:
base2(){cout<<"2";}
};
classderived:publicbasel,publicbase2{
public:
derived(){cout<<"3";}
};
voidmain()
{
derivedobj;
cout<
}
[1分]
、
0123
、
3120
、
0312
、
3012
答案:
28、【
单选题
】
有下列程序:
#include
voidfun(int*a,int*b)
{int*C;
c=a;a=b;b=C;
}
voidmain( )
{intx=3,y=5,*p=&x,*q=&y;
fun(p,q);printf("%d,%d,",*P,*q);
fun(&x,&y);printf("%d,%d\n",*P,*q)
}
程序运行后的输出结果是( )。
[1分]
、
3,5,5,3
、
3,5,3,5
、
5,3,3,5
、
5,3,5,3
答案:
29、【
单选题
】
C++语言中在C语言的基础上增加的特性不包括( )。
[1分]
、
结构
、
引用
、
类和对象
、
静态成员函数
答案:
30、【
单选题
】
有下列程序:
#include
structord
{intx,y;}dt[2]={1,2,3,4};
voidmain( )
{structord*p=dt;
printf("%d,",++P->x);printf("%d,",++P
->y);
}
程序的运行结果是( ).
[1分]
答案:
31、【
单选题
】
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是( )。
Samplea[2],*p=newSample;
[1分]
答案:
32、【
单选题
】
有下列程序段:
charch:intk:
ch='a';k=12;
printf("%c,%d,",ch,ch,k);
printf("k=%d\n",k);
已知字符a的ASCIl十进制代码为97,则执行上述程序段后输出结果是( )。
[1分]
、
因变量类型与格式描述符的类型不匹配输出无定值
、
输出项与格式描述符个数不符,输出为零值或不定值
、
a,97,12k=12
、
a,97,k=12
答案:
33、【
单选题
】
有下列程序:
#include
voidmain( )
{
FILE*fp;inta[10]={1,2,3},i,n;
fp=fopen("dl.dat","w");
for(i=0;i<3;i++)fprintf(fp,"%d",a[i]);
fprintf(fp,”\n”);
fclose(fp);
fp=open("dl.dat","r")
fscanf(fp,"%d",&n);
fclose(fp);
printf(”%d\n”,n);
}
程序的运行结果是( )。
[1分]
答案:
34、【
单选题
】
4种基本结构中,能简化大量程序代码行的是( )。
[1分]
、
顺序结构
、
分支结构
、
选择结构
、
重复结构
答案:
35、【
简答题】
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行,并且使程序输出的结果为0K
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include
classTC
{
public:
TC()
{
a=b=0:
}
private:
inta,b;
};
classTCl:publicTC
{
public:
TC1()
{
}
//******error******
virtualvoidfunc();
};
classTC2:publicTCl
{
public:
TC2()
{
a=0:
b=0:
}
voidfunc()
{
//******error******
cout<<"OK"
}
private:
inta;
intb;
};
voidmain()
{
TC20bj;
//******error******
TCl*p=(TCl*)obj;
p->func();
}
[18分]
解析:
(1)应改为“virtuAlvoiDFunC()=0;”。
(2)应改为“Cout<<"0K"<(EnDl;”。
(3)应改为“TCl*p=(TCl*)&oBj;”。
36、【
简答题】
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义私有成员变量year、month、day。分别表示年、月、日,类型为int。请在注释1后添加适当的语句。
(2)完成构造函数,分别给year、month、day赋值,请在注释2后添加适当的语句。
(3)完成重载符号“十=”的定义,请在注释3后添加适当的语句。
(4)完成print打印函数,输出到屏幕和文件的格式相同,请在注释4后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
程序正常运行,输出的结果为2008年11月813。
试题程序:
#include(iostream.h)
#include(fstream)
#include(iomanip)
#include<cmath)
usingnamespacestd;
voidWriteFile(intc)
{
ofstreamout1;
out1.open("3.txt",ios_base::app);
out1<<c<<'';
out1.close();
}
voidWriteFile(char*str)
{
ofstreamoutl;
out1.open("3.txt",ios_base::app);
out1<
out1.close();
}
voidClearFile()
{
ofstreamout1;
out1.open("3.txt");
out1.close();
}
classDate
{
public:
Date(inty,intm,intd)
{
//********1********
}
voidprint();
//********2********
{
month+=m;
inti=month/12:
intj=month%12;
if(j==0)
{year+=(i-1);
month=12;
}
else
{
year+=i:
month=j;
}
return*this;
}
private:
//********3********
};
voidDate::print()
{
//********4********
WriteFile(year):
WriteFile("年");
WriteFile(month);
WriteFile("月");
WriteFile(day);
WriteFile("日");
}
intmain()
{
ClearFile();
DateOly_day(2008,8,8);
Olyday+=3:
Oly_day.print();
return0;
}
[18分]
解析:
(1)应添加“yEAr=y;month=m;DAy=D;”。
(2)应添加“DAtE&opErAtor+=(intm)”。
(3)应添加“intyEAr,month,DAy;”。
(4)应添加“Cout<<yEAr<<"年"<<month<<"月"<<DAy<<"日”<<EnDl;”。