糯米文學吧

位置:首頁 > 計算機 > 計算機二級

全國計算機二級考試C++考前選擇題試題

選擇題是考試的一個拿分提醒,那麼大家在考前知道有哪些試題練習嗎?來看看小編的分享吧!

全國計算機二級考試C++考前選擇題試題

1.下列選項中不符合良好程序設計風格的是(  )。

A.源程序要文檔化

B.數據説明的次序要規範化

C.避免濫用goto語句

D.模塊設計要保證高耦合、高內聚

2.有下列二叉樹,對此二叉樹中序遍歷的結果是(  )。

EF

CF

EF

FE

3.對於長度為n的線性表,在最壞情況下,下列各排序法所對應的比較次數中正確的是(  )。

A.冒泡排序為n/2

B.冒泡排序為n

C.快速排序為n

D.快速排序為n(n-1)/2

4.為了使模塊儘可能獨立,要求(  )。

A.模塊的內聚程度要儘量高,且各模塊間的耦合程度要儘量強

B.模塊的內聚程度要儘量高,且各模塊間的耦合程度要儘量弱

C.模塊的內聚程度要儘量低,且各模塊間的耦合程度要儘量弱

D.模塊的內聚程度要儘量低,且各模塊間的耦合程度要儘量強

5.在軟件設計中,不屬於過程設計工具的是(  )。

(過程設計語言)

C.N-S圖

6.下列工具中為需求分析常用工具的是(  )。

C.N-S

7.下列是軟件調試技術的是(  )。

A.錯誤推斷

B.集成測試

C.回溯法

D.邊界值分析

8.兩個或兩個以上模塊之問聯繫的緊密程度稱為(  )。

A.耦合性

B.內聚性

C.複雜性

D.數據傳輸特性

9.實體是信息世界中廣泛使用的一個術語,它用於表示(  )。

A.有生命的事物

B.無生命的事物

C.實際存在的事物

D.一切事物

10.數據庫系統的核心是(  )。

A.數據模型

B.數據庫管理系統

C.數據庫

D.數據庫管理員

11.下面關於虛函數的描述中正確的是(  )。

A.虛函數是一個靜態成員函數

B.虛函數是一個非成員函數

C.虛函數可以在函數説明時定義,也可以在函數實現時定義

D.派生類的虛函數與基類中對應的虛函數具有相同的參數個數和類型

12.以下for語句中不是死循環的是(  )。

(inti=0;i<1;++i);

(inti=0;;++i);

(inti=1;i>0;++i);

(;;);

13.執行下列語句序列:

inti=0;while(i<25)i+=3;cout<  輸出結果是(  )。

A.24

B.25

C.27

D.28

14.C++語言中在C語言的基礎上增加的特性不包括(  )。

A.結構

B.引用

C.類和對象

D.靜態成員函數

15.有如下函數模板聲明:

template

TMax(Ta,Tb){return(a>=b)?a.b;}

下列對函數模板Max(  )的調用中錯誤的是(  )。

(3.5,4.5)

(3.5,4)

(3.5,4.5)

(3.5,4)

16.已知在一個類體中包含如下函數原型:VOLUMEOPERATOR-(VOLUME)const;,下列關於這個函數的敍述中,錯誤的是(  )。

A.這是運算符一的重載運算符函數

B.這個函數所重載的運算符是一個一元運算符

C.這是一個成員函數

D.這個函數不改變類的任何數據成員的值

17.下面説法正確的.是(  )。

A.內聯函數在運行時是將該函數的目標代碼插入每個調用該函數的地方

B.內聯函數在編譯時是將該函數的目標代碼插入每個調用該函數的地方

C.類的內聯函數必須在類體內定義

D.類的內聯函數必須在類體外通過加關鍵字inline定義

18.靜態成員函數沒有(  )。

A.返回值

指針

C.指針參數

D.返回類型

19.執行下列語句後,輸出結果為(  )。

(’S’);

cout<<’C’<<’a’;

C.S

D.a

20.下面程序的執行結果是(  )。

#include"iostream.h"

voidmain()

{int*P,r;

P=newint:

*P=20:

r=sizeof(*p);

cout<  P;}

A.程序錯誤

B.內存為20地址的大小

C.20

D.4

21.C++語言中關於構造函數的説法正確的是(  )。

A.構造函數的函數名不必和類名相同

B.構造函數只能有一個

C.每個類必定有構造函數

D.構造函數必有返回值

22.(  )既可重載為一元運算符,又可重載為二元運算符。

A.“*”B.“=”

C.“=”和“*”D.“*”和“*++”

23.類MyClass的定義如下:

classMvClass

{

public:

MyClass(){value=0;}

SetVariable(inti){value=i;}

private:

intvalue;

};

則對下列語句序列正確的描述是(  )。

A.語句p=&my;是把對象my賦值給指針變量P

B.語句MyClass*P,my;會調用兩次類MyClass的構造函數

C.對語句*ariable(5)的調用是正確的

D.語句p->SetVariable(5)與語句ariable(5)等價

24.有如下程序:

#included

usingnamespacestd;

classTestClass

{private:

intX,y;

public:

TestClass(inti,intj)

{x=i;

y=j;}

voidprint()

{cout<<"printl"<  voidprint()const

{cout<<"print2"<  intmain()

{constTestClassa(1,2);

t();

return0;}

該程序運行後的輸出結果是(  )。

tl

t2

tlprint2

D.程序編譯時出錯

25.有如下程序:

#included

usingnamespacestd;

classTestClass

{inta;

pubIic:

TestClass(intx){a=x;}

voidshow(){cout<  classTestClassl:publicTestClass

{intb;

public:

TestClassl(inti):TestClass(i+1),b(i){}

voidshow(){cout<  intmain()

{TestClassb(5),*P;

TestClassld(1):

p=&d;

p->show();

return0;}

該程序運行後的打印結果是(  )。

A.5

B.1

C.0

D.2

26.下面程序輸出的結果為(  )。

#include"iostream.h"

classA

{public:

A(){cOUt<<"CLASSA"<  ~A(){}};

ClaSSB:publicA

{public:

B(){cout<<"CLASSB"<  ~B(){}};

voidmain()

{A*P;

P=newB:

B*q:

q=newB;}

SA

SA

CLASSBCLASSB

CLASSB

SA

SA

CLASSBCLASSB

CLASSACLASSB

CLASSBCLASSB

27.在下面的運算符重載函數的原型中,錯誤的是(  )。

meoperator-(double,double);

leVolume::operator-(double);

meVolume::operator-(Volume);

meoperator-(Volume);

28.有如下類聲明:

classXA{

intx:

public:

XA(intn){x=n;}

};

classXB:publicXA{

inty;

oublic:

XB(inta,intb);

};

在構造函數XB的下列定義中,正確的是(  )。

::XB(inta,intb):x(a),y(b){}

::XB(inta,intb):XA(a),y(b){}

::XB(inta,intb):x(a),XB(b){}

::XB(inta,intb):XA(a),XB(b){}

29.下面類的定義,有(  )處錯誤。

classMyClass

{public:

voidMyClass();

~MyClass(intvahle);

private:

inti=0;};

A.1B.2

C.3D.4

30.有以下程序:

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=;

month=h;

day=;}

voidprint()

{cout<  day<  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類的複製構造函數被調用的次數是(  )。

A.2

B.3

C.4

D.5

31.下列表示純虛函數的成員函數是(  )。

ualintfunc(int);func(int)=0;

ualvoidfunc=0;ualvoidrune(int){}

32.若有以下程序:

#include

usillgnamespacestd;

classA

{private:

inta;

public:

A(inti)

{a=i;}

voiddisp()

{cout<  classB

{private:

intb;

public:

B(intj)

{b=j;}

voiddisp()

{COUt<  classC:publicB,publicA

{private:

intC;

public:

C(intk):A(k-2),B(k+2)

(c=k;)

voiddisp()

{A::disp();

B::disp();

cout<  intmain()

{Cobj(10);

();

return0;}

程序執行後的輸出結果是(  )。

A.10,10,10

B.10,12,14

C.8,10,12

D.8,12,10

33.下列表達式的值為false的是(  )。

A.1<3&&5<7B.!(2>4)

C.3&0&&lD.!(5<8)‖(2<8)

34.所有在函數中定義的變量及函數的形式參數,都屬於(  )。

A.全局變量

B.局部變量

C.靜態變量

D.常量

35.有以下程序:

#include

usingnamespacestd;

classR

{public:

R(intr1,intr2)

{R1=r1;

R2=r2;}

voidprint();

voidprint()const;

private:

intR1,R2;};

voidR::print()

{cout<  voidR::print()const

{cout<  intmain()

{Ra(5,4);

constRb(20,52);

t();

return0;}

執行後的輸出結果是(  )。

A.5,4

B.20,52

C.0,0

D.4,5

36.下列程序的執行結果是(  )。

#include

#include

classTestClass

{

public:

intX,y;

TestClass(){x=y=0;}

TestClass(inta,intb)(x=a;y=b;}voiddisp()

{

cout<<"x="<  s[10];s="BOOK";

*S;s="BOOK!";

38.有下列程序:

#include

intfun(intx,inyy)

{if(x==y)return(x);

elsereturn((x+y)/2);

}

voidmain()

{inta=4,b=5,C=6;

printf("%d",fun(2*a,fun(b,c)));

}

程序運行後的輸出結果是()。

A.3

B.6

C.8

D.12

39.設函數中有整型變量n,為保證其在未賦初值的情況下初值為0,應選擇存儲類別是(  )。

ster

ic

或register

40.有下列程序:

#include

intb=2:

intfun(int*k)

{b=*k+b;return(b);}

voidmain()

{inta[1O]={1,2,3,4,5,6,7,8},i;

for(i=2;i<4;i++){b=fun(&a[i])+b;printf

("%d",b);}

printf("");

}

程序運行後的輸出結果是(  )。

A.1012

B.810

C.1028

D.1016