计算机二级考试习题练习

2008年9月计算机等级考试
1题:在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
A.voidf1(intx);
B.voidf2(int*x);
C.voidf3(constint*x);
D.voidf4(int&x);
【单选题】:      

2题:在C++中,编译系统自动为一个类生成缺省构造函数的条件是()。
A.该类没有定义任何有参构造函数
B.该类没有定义任何无参构造函数
C.该类没有定义任何构造函数
D.该类没有定义任何成员函数
【单选题】:      

3题:在一个派生类的成员函数中,试图调用其基类的成员函数“voidf();”,但无法通过编译。这说明()。
A.f()是基类的私有成员
C.派生类的继承方式为私有
B.f()是基类的保护成员
D.派生类的继承方式为保护
【单选题】:      

4题:下列关于运算符重载的叙述中,错误的是()。
A.有的运算符可以作为非成员函数重载
B.所有的运算符都可以通过重载而被赋予新的含义
C.不得为重载的运算符函数的参数设置默认值
D.有的运算符只能作为成员函数重载
【单选题】:      

5题:下列关于模板的叙述中,错误的是()。
A.调用模版函数时,在一定条件下可以省略模板实参
B.可以用int、double这样的类型修饰符来声明模版参数
C.模板声明中的关键字class都可以用关键字typename替代
D.模板的形参表中可以有多个参数
【单选题】:      

6题:要利用C++流进行文件操作,必须在程序中包含的头文件是()。
A.iostream
B.fstream
C.strstream
D.iomanip
【单选题】:      

7题:下列语句中错误的是()。
A.constinta;
B.constinta=10;
C.constint*point=0;
D.constint*point=newint(10);
【单选题】:      

8题: 有如下程序:
#inCluDE<iostrEAm>&nBsp;
using nAmEspACE stD;
int mAin(){ int sum;&nBsp;
For(int i=0; i<6; i+=3){ sum=i;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;
For(int j = i; j<6; j++)sum+=j;
}&nBsp;&nBsp;
Cout<<sum<<EnD1;&nBsp;
rEturn 0;
}&nBsp;
运行时的输出结果是( )。
A)3&nBsp;&nBsp; B)10&nBsp;&nBsp; C)12&nBsp;&nBsp; D)15
&nBsp;
【单选题】:      

9题:下列语句中,正确的是()。
A.char*myString="Hello-World!";
B.charmyString="Hello-World!";
C.charmyString[11]="Hello-World!";
D.charmyString[12]="Hello-World!";
【单选题】:      

10题:若已经声明了函数原型“voidfun(inta,doubleb=0.0);”,则下列重载函数声明中正确的是()。
A.voidfun(inta=90,doubleb=0.0);
B.intfun(inta,doubleB);
C.voidfun(doublea,intB);
D.boolfun(inta,doubleb=0.0);
【单选题】:      

11题: 有如下程序:
#inCluDE<iostrEAm>&nBsp;
using nAmEspACE stD;
ClAss sAmplE{ puBliC:&nBsp;
sAmplE(){}&nBsp;&nBsp;
~sAmplE(){Cout<<'*';} };&nBsp;
int mAin(){&nBsp;
sAmplE tEmp[2], *ptEmp[2];&nBsp;
rEturn 0;
}&nBsp;
执行这个程序输出星号(*)的个数为( )。
A)1&nBsp; B)2&nBsp;&nBsp; C)3&nBsp;&nBsp; D)4
【单选题】:      

12题:下列选项中,与实现运行时多态性无关的是()。
A.重载函数
B.虚函数
C.指针
D.引用
【单选题】:      

13题:下列模板声明中,有语法错误的是()。
A.templateT fun(T x){return x;}  
B.templateT fun(T x, int n){return x*n;}
C.templateT fun(T *p){return *p;} 
D.templateT classA{T n;};
【单选题】:      

14题:在语句“cout<<'A';”中,cout是()。
A.类名
B.对象名
C.函数名
D.C++的关键字
【单选题】:      

15题: 有如下程序:
#inCluDE<iostrEAm> using nAmEspACE stD;
ClAss myClAss{&nBsp;
puBliC:&nBsp;
myClAss(int x):vAl(x){} voiD sEt(int x){vAl=x;}&nBsp;&nBsp;
&nBsp;voiD print()Const{Cout<<"vAl="<<vAl<<'\t';} privAtE:&nBsp; int vAl;&nBsp; };&nBsp;
int mAin(){&nBsp; Const myClAss oBj1(10);
myClAss oBj2(20);
oBj1.print(); //语句 1
oBj2.print(); //语句 2
oBj1.sEt(20); //语句 3
oBj2.sEt(30); //语句 4 rEturn 0;
}&nBsp; 其主函数中错误的语句是( )。&nBsp;
A)语句 1&nBsp;&nBsp;&nBsp; B)语句 2&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; C)语句 3&nBsp;&nBsp;&nBsp; D)语句 4
【单选题】:      

16题:在类声明中,紧跟在“public:”后声明的成员的访问权限是()。
A.私有
B.公有
C.保护
D.默认
【单选题】:      

17题:对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是()。
A.公有或私有
B.私有
C.保护或私有
D.公有或保护
【单选题】:      

18题:定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为()。
A.私有继承
B.非私有继承
C.保护继承
D.公有继承
【单选题】:      

19题:建立一个有成员对象的派生类对象时,各构造函数体的执行次序为()。
A.派生类、成员对象类、基类
B.成员对象类、基类、派生类
C.基类、成员对象类、派生类
D.基类、派生类、成员对象类
【单选题】:      

20题:如果表达式a>=b中的“>=”是作为非成员函数重载的运算符,则可以等效地表示为()。
A.a.operator>=(b)
B.b.operatotr>=(a)
C.operator>=(a,b)
D.operator>=(b,a)
【单选题】:      

21题:当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。
A.iosbase::in
B.ios_base::binary
C.ios_base::in|ios_base::out
D.ios_base::out
【单选题】:      

22题:在一个抽象类中,一定包含有()。
A.虚函数
B.纯虚函数
C.模板函数
D.重载函数
【单选题】:      

23题:当使用关键字____作为函数返回类型时,该函数不返回任何值。
【填空题】:

24题: 已知数组 A 中有 n 个元素,下列语句将数组 A 中从下标 x1 开始的 k 个元素移动到从下标 x2 开始的 k 个元素中,其中
0<=x1<x2<n,x2+k<n,请将下列语句补充完整。
For (int i = x1+k-1; i>=x1; i--) A[__]=A[i];&nBsp;
【填空题】:

25题: 有如下程序:
#inCluDE<iostrEAm>&nBsp;
using nAmEspACE stD;&nBsp;
&nBsp;int Fun1(int x) {rEturn++x;}&nBsp;
int Fun2(int &Amp;x) {rEturn++x;}
int mAin(){ int x=1,y=2;&nBsp; y=Fun 1(Fun2(x));
Cout<<x<<','<<y;&nBsp; rEturn 0:&nBsp;
}&nBsp;
程序的输出结果是__
&nBsp;
【填空题】:

26题: 有如下程序:
#inCluDE<iostrEAm>&nBsp;
using nAmEspACE stD; ClAss pumpkin{&nBsp;
puBliC:&nBsp; pumpkin(){++Count;}
~pumpkin(){--Count;} stAtiC voiD totAl_Count(){&nBsp;
Cout<<Count<<"pumpkin(s)"<<EnDl; }&nBsp;&nBsp;
privAtE:&nBsp;&nBsp; stAtiC int Count;&nBsp; };&nBsp;
&nBsp;int pumpkin::Count=0; int mAin(){&nBsp;
pumpkin pl[10];&nBsp;
pumpkin::totAl_Count();&nBsp;
rEturn 0;&nBsp;
}&nBsp;
这个程序的输出结果是____。
&nBsp;
【填空题】:

27题:有如下递归函数: int Fun(int n){  if(n<=1) return 1;  __}  请补充完整,使得函数 Fun 能够正确计算形参 n 的阶乘。
【填空题】:

28题: 请在下列程序中的空格处填写正确的语句:
ClAss sAmplE{
puBliC:&nBsp;
sAmplE(){}&nBsp;
~sAmplE(){}&nBsp;&nBsp;
voiD sEtDAtA(int DAtA)&nBsp;&nBsp;
{ //将 sAmplE 类成员变量 DAtA 设置成形参的值 ____ //注意形参与成员同名 }&nBsp;&nBsp;
privAtE: int DAtA; };&nBsp;
【填空题】:

29题: 有如下类定义,请将sAmplE类的拷贝构造函数补充完整。
ClAss sAmplE{&nBsp; puBliC: sAmplE(){)&nBsp;
~sAmplE() {iF(p) DElEtE p;)
sAmplE (Const sAmplE&Amp; s){ ____&nBsp; }&nBsp;&nBsp;
voiD sEtDAtA(int DAtA)
{p=nEw int(DAtA);}
privAtE:&nBsp; int*p;&nBsp;
};&nBsp;
【填空题】:

30题:重载加法运算符“+”,其函数名是__
【填空题】:

 

您正在结束答题

请确认是否提交试卷?

继续做题 确认提交