計算機二級

當前位置 /首頁/計算機/計算機二級/列表

全國計算機二級考試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