小兔题库

1.在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是(  )。

A.ios_base::cur

B.ios_base::beg

C.ios_base::0ut

D.ios_base::end

2.下列字符串中可以用作C++标识符的是(  )。

A.2009var

B.goto

C.test-2009

D.123

3.下列枚举类型的定义中,包含枚举值3的是(  )。

A.enumtest{RED,YELLOW,BLUE,BLACK};

B.enumtest{RED,YELLOW=4,BLUE,BLACK);

C.enumtest{RED=-1,YELLOW,BLUE,BLACK};

D.enumtest{RED,YELLOW=6,BLUE,BLACK);

4.有如下程序段:

inti=1:

while(1){

i++:

if(i==10)break:

if(i%2==0)cout<<’*’:

}

执行这个程序段输出字符*的个数是(  )。

A.10

B.3

C.4

D.5

5.已知数组arr的定义如下:

intarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是(  )。

A.cout<<*arr+1

intfib(intn){

if(n==0)returnl;

elseif(n==l)return2:

elsereturnfib(n-1)+fib(n-2);

}

若执行函数调用表达式fib(2),函数fib被调用的次数是(  )。

A.1

B.2

C.3

D.4

7.Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是(  )。

Samplea[2],*p=newSample;

A.0

B.1

C.2

D.3

8.下列关于虚基类的描述中,错误的是(  )。

A.使用虚基类可以消除由多继承产生的二义性

B.构造派生类对象时。虚基类的构造函数只被调用一次

C.声明“classB:virtualpublicA”说明类B为虚基类

D.建立派生类对象时,首先调用虚基类的构造函数

9.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是(  )。

A.不合法的运算符

B.一元运算符

C.无操作数的运算符

D.二元运算符

10.有如下模板声明:

templateclassA;

下列声明中,与上述声明不等价的是(  )。

A.templateclassA;

B.templateclassA;

C.templateclassA;

D.templateclassA;

参考答案:

1.A。【解析】主要考查文件流的定位问题。冀中iosbase::beg表示相对于文件首,ios_base::cur表示相对于当前位置(负数表示当前位置之前),ios_base::end表示相对于文件尾,ios_base::out表示在文件流的建立中为文件的输出而打开。

2.D。【解析】标识符主要由数字、字母、下画线组成,且首位必为字母或下画线,同时标识符不能是关键字。

3.A。【解析】本题主要考查枚举类型的定义,其中几个枚举值全部未赋常量值时,它们自左至右分别与整数0,1,…,n-1对应。由此可判断本题答案。

4.C。【解析】本题主要考查while的作用。只有i为偶数时才输出“*”,而本题只有2,4,6,8时才满足条件,而当i为10时程序结束,即只有4个“*”被输出。

5.D。【解析】本题主要考查指针的特殊含义。例*px+1指取px所指对象内容加1,*(px+1)指px指针加1,并取结果指针内容而*px则指px的首元素。

6.C。【解析】针对递归调用的含义。当n为2时有fib(o),fib(1),fib(2)被调用,且fib(O),fib(1)时调用结束,即共3次。

7,D。【解析】构造函数在对象被创建时由系统自动调用,本题共创建了3个对象。

8.C。【解析】本题针对虚基类的定义及特点考查。虚基类的声明为“class<类名>:virtual<继承方式><基类名>”,即本题的A为虚基类。

9.B。【解析】一元或二元运算符函数作为成员函数时,第一操作数就是对象本身,并不出现在参数表中,即第一操作数仅以this指针的形式隐会于参数表中,因此对于一元运算符参数表是空的;而对于二元运算符参数表中只有一个参数,它代表第二操作数。

10.D。【解析】模板形参有typename<参数名>、class<参数名>、<类型修饰><参数名>3种形式,即typename与class通用。

 

计算机二级C++考前基础练习题(1)

计算机二级C++考前基础练习题(2)

计算机二级C++考前基础练习题(3)

计算机二级C++考前基础练习题(4)