全國計算機二級C++語言程序設計選擇題練習試題

試題是學習C語言程序設計課程過程中必不可少的環節,下面就是小編跟大家分享全國計算機二級C++語言程序設計選擇題練習試題,歡迎大家閱讀!

全國計算機二級C++語言程序設計選擇題練習試題

1.從工程管理角度,軟件設計一般分爲兩步完成,它們是( )。

A.概要設計與詳細設計

B.數據設計與接口設計

C.軟件結構設計與數據設計

D.過程設計與數據設計

2.下列敘述中正確的是( )。

A.一個邏輯數據結構只能有一種存儲結構

B.數據的邏輯結構屬於線性結構,存儲結構屬於非線性結構

C.一個邏輯數據結構可以有多種存儲結構,且各種存儲結構不影響數據處理的效率

D.一個邏輯數據結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率

3.下列關於完全二叉樹的敘述中,錯誤的是( )。

A.除了最後一層外,每一層上的結點數均達到最大值

B.可能缺少若干個左右葉子結點

C.完全二叉樹一般不是滿二叉樹

D.具有結點的完全二叉樹的深度爲[log2n]+1

4.如果進棧序列爲e1、e2、e3、e4,則可能的出棧序列是( )。

A.e3、e1、e4、e2

B.e2、e4、e3、e1

C.e3、e4、e1、e2

D.任意順序

5.原因排除法屬於( )。

A.軟件調試方法

B.黑盒測試方法

C.白盒測試方法

D.動態測試方法

6.在E—R圖中,用來表示實體的圖形是( )。

A.矩形

B.橢圓形

C.菱形

D.三角形

7.下列數據模型中,具有堅實理論基礎的是( )。

A.層次模型

B.網狀模型

C.關係模型

D.以上3個都是

8.對長度爲n的線性表進行順序查找,在最壞情況下所需要的比較次數爲( )。

2n

B.n/2

C.n

D.n+1

9.數據流圖用於抽象描述一個軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬於數據流圖合法圖符的是( )。

A.控制流

B.加工

C.數據存儲

D.源和潭

10.數據庫設計的根本目標是要解決( )。

A.數據共享問題

B.數據安全問題

C.大量數據存儲問題

D.簡化數據維護

11.以下選項中合法的實型常數是( )。

A.5E2.0

B.E—3

C.2EO

D.1.3E

12.下列字符串中可以用作C++語言標識符的是( )。

A.1234

~~bar

ual

D.34var

13.下列關於C++函數的說明中,正確的是( )。

A.內聯函數就是定義在另一個函數體內部的函數

B.函數體的最後一條語句必須是return語句

C.標準C++要求在調用一個函數之前,必須先聲明其原型

D.編譯器會根據函數的'返回值數型和參數表來區分函數的不同重載形式

14.若有如下語句

#include

voidmain( )

{

intx=3:

do{

x=X-2:

cout<}while(!(--x));

}

則上面程序段( )。

A.輸出的是1

B.輸出的是1和-2

C.輸出的是3和0

D.是死循環

15.有以下程序:

#include(iostream)

usingnamespacestd;

intmain( )

{

intx=15:

while(x>10&&x<50)

{

x++;

if(x/3)

{

x++;break;

}

}

cout

}

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

A.15

B.16

C.17

D.18

16.以下程序中調用cin函數給變量a輸入數值的方法是錯誤的,其錯誤的原因是( )。

#include(iostream.h)

voidmain( )

{int*P,*q,a,b;

p=&a;

cout<<"inputa:";

cin>>P;

}

A.*P表示的是指針變量P的地址

B.P表示的是變量a的地址,而不是變量a的值

C.*P表示的是指針變量p的值

D.*P只能用來說明P是一個指針變量

17.下列有關拷貝構造函數的描述中錯誤的是( )。

A.拷貝構造函數是一種構造函數

B.拷貝構造函數與一般的構造函數一樣,可以設置多個形參

C.每一個類中都必須有一個拷貝構造函數

D.拷貝構造函數的功能是用一個已知對象去初始化一個正在創建的對象

(cos(x))

(abs(cos(X*3.14/180)))

(abs(cos(X*(/180)))

(fabs(cos(x*3.14/180)))

19.函數swap(a,n)可完成對a數組從第1個元素到第n個元素兩兩交換。其中b[o]=1;b[1]=2;swap(b,2)。在運行調用函數中的語句後,b[0]和b[1]的值分別爲( )。

A.1,1

B.1,2

C.2,2

D.2,1

20.有以下程序:

#include(iostream.h)

voidfun(inta,intb,intc)

{a=456,b=567,C=678;}

voidmain( )

{

intx=10,y=20,z=30;

fun(x,Y,z);

cout<}

輸出結果是( )。

A.30,20,10

B.10,20,30

C.456,567,678

D.678,567,456

21.下列定義中P指向的地址可更改,但*P不能夠更改的是( )。

tint*P;

*constP;

tint*constP;

*P;

22.如果表達式“--x/y”中的“--”和“/”是作爲友元函數重載的運算符,採用運算符函數調用格式,該表達式還可以表示爲( )。

ator/(ator--( ),y);

ator/(operator--(x),y);

ator--( )ator/(y);

ator/operator--(x));

23.下列程序輸出的結果是( )。

#include

funl(chara,charb){charC;c=a;a=b;b=C;)

fun2(char*a,charb){charC;c=*a;*a=b;b=c;)

fun3(char*a,char*b){charC;C=*a;*a=*b;*b=C;)

voidmain( )

{

chara,b;

a=’A’;b=’B’;fun1(a,b);puta);putb);

a=’A’;b=’B’;fun2(&a,b);puta);putb);

a=’A’;b=’B’;fun3(&a,&b);puta);putb);

put’’);

}

AB

BA

BA

BA

24.下面程序的結果是( )。

#include(iostream.h>

classA

{

inta;

public:

A( ):a(1){}

voidshowa( )(cout<};

classB

{

inta;

public:

B( ):a(2){}

voidshowa( ){cout<};

classC:publicA,publicB

{

inta;

public:

C( ):a(3){}

voidshowa( ){cout<};

voidmain( )

{

CC;

a( );

}

A.1

B.2

C.3

D.程序有錯誤

25.有以下程序:

voidmain( )

{inta=5,b=4,c=3,d=2;

if(a>b>c)

cout=d)==1)

cout

cout<}

A.2

B.3

C.4

D.編譯時有錯,無結果

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

#include(iostream.h>

#include

classTestClass

{

public:

intX,y;

TestClass( ){x=y=0;}

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

voiddisp( )

{

cout<<"x="<};

classB{public:B( ){cout<<"B";}};

classC:publicA{

Bb;

public:

C( ){cout<<"C";}

};

intmain( ){Cobj;return0;}

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

30.下列程序的運行結果是( )。

#include

intx=5:

intfun(inta)

{

intC;

C=X*a:

returnC;

}

voidmain( )

{

intx=3,a=4;

x=x+fun(a);

cout<<"x="<}

A.x=15B.x=17

C.x=23D.x=25

31.以下函數值的返回值類型是( )。

fun(floatx)

{floaty;

y=3*x-4;

returny;

}

B.不確定

t

32.以下循環體的執行次數是( )。

voidmain( )

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)cout<}

A.3

B.2

C.1

D.0

33.判斷char型變量c是否爲小寫字母的正確表達式是( )。

A.’a’<=c<=’z’

B.(c>=A)&&(c<=z)

C.(’a’>=c)‖(’z’<=c)

D.(c>=’a’)&&(c<=’z’)

34.下列描述中,抽象類的特性是( )。

A.可以說明虛函數

B.可以定義友元函數

C.可以進行構造函數重載

D.不能說明其對象

35.以下關於友元函數的敘述不正確的是( )。

A.友元函數提供了類之間數據共享的一個途徑

B.一個友元函數可以訪問任何類的任何成員

C.友元函數破壞了數據的封裝

D.友元函數增加了程序設計的靈活性

36.下面關於運算符重載的描述錯誤的是( )。

A.運算符重載不能改變操作數的個數、運算符的優先級、運算符的結合性和運算符的語法結構

B.不是所有的運算符都可以進行重載

C.運算符函數的調用必須使用關鍵字0perator

D.在C++語言中不可通過運算符重載創造出新的運算符

37.與語句cout

<<’12’;

<<’xA’;

<<’