2016年計算機二級C++考試試卷及答案

來源:文萃谷 3.08W

  選擇題(每小題1分,共40小題,共40分)

2016年計算機二級C++考試試卷及答案

1.數據的存儲結構是指(  )。

A.數據所佔的存儲空間

B.數據的邏輯結構在計算機中的存放形式

C.數據在計算機中的順序存儲方式

D.存儲在計算機外存中的數據

2.將E-R圖轉換到關係模式時,實體與實體間的聯繫可以表示成(  )。

A.屬性

B.關係

C.鍵

D.域

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

A.125

B.n/Z

C.n

D.n+1

4.樹是結點的集合,它的根結點的數目是(  )。

A.有且只有1個

B.1或多於1

C.0或1

D.至少有2個

5.設R是一個二元關係,S是一個三元關係,則下列運算中正確的是(  )。

A.R-S

B.R×S

C.R∩S

D.R∪S

6.關於結構化程序設計原則和方法的描述錯誤的是(  )。

A.選用的結構只允許有一個入口和一個出口

B.複雜結構應該用嵌套的基本控制結構進行組合嵌套來實現

C.不允許使用GOTO語句

D.語言中所沒有的控制結構,應該採用前後一致的方法來模擬

7.對關係S和R進行集合運算,結果中既包含S中的所有元組也包含R中的所有元組,這樣的集合運算稱為(  )。

A.並運算

B.交運算

C.差運算

D.積運算

8.下列敍述中正確的是(  )。

A.在面向對象的程序設計中,各個對象之間具有密切的關係

B.在面向對象的程序設計中,各個對象都是公用的

C.在面向對象的程序設計中,各個對象之間相對獨立,相互依賴性小

D.上述三種説法都不對

9.結構化程序設計的三種基本結構是(  )。

A.過程、子程序和分程序

B.順序、選擇和重複

C.遞歸、堆棧和隊列

D.調用、返回和轉移

10.在數據庫設計中,將E-R圖轉換為關係模式的過程屬於(  )。

A.需求分析階段

B.邏輯設計階段

C.概念設計階段

D.物理設計階段

11.在C++語言中函數返回值的類型是由(  )決定的。

A.調用該函數時系統臨時

rn語句中的表達式類型

C.定義該函數時所指定的函數類型

D.調用該函數時的主調函數類型

12.下列描述正確的是(  )。

A.表示m>n為true或mn&&m  ch語句結構中必須有default語句

語句結構中必須有else語句

D.如果至少有一個操作數為true,則包含‖運算符的表達式為true

13.使用ifstream流類定義流對象並打開磁盤文件時,文件的隱含打開方式為(  )。

::in

::out

::inlios::out

D.沒有默認

14.下列各類函數中,不是類的成員函數的是(  )。

A.構造函數

B.抽象類

C.派生類

D.以上都不對

15.下面關於數組的初始化正確的是(  )。

str[]={’a’,’b’,’e’}

str[2]={’a’,’b’,’e’)

str[2][3]={{’a’,’b’},{’C’,’d’},{’e’,’f’}}

str()={’a’,’b’,’C’}

16.類模板templateclassX{…},其中友元函數f對特定類型T(如int),使函數f(x)成為x模板類的友元,則其説明為(  )。

ndvoidf();

ndvoidf(x);

ndvoidA::f();

ndvoidC::f(x);

17.類MyClass的定義如下:

classMyClass

{

public:

MyClass(){value=0;}

SetVariable(inti){valtic=i;}

private:

intvalue;

};

MyClass*P,my;p=&my;

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

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

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

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

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

18.下面關於break語句的描述中,不正確的是(  )。

k可以用於循環體內

k語句可以在for循環語句中出現多次

k語句可以在switch語句中出現多次

k語句可用於if條件判斷語句內

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

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

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

ator--()ator/(y);

ator/(operator--(x));

20.已知類A有公用數據成員a,並重載了=運算符,且有Aobj2;constA*ptr=newA;,則下列語句錯誤的是(  )。

->a=100;

=&obj2;

++;

2=*ptr;

21.可以用P.a的形式訪問派生類對象P的基類成員a,其中a是(  )。

A.私有繼承的公有成員

B.公有繼承的私有成員

C.公有繼承的保護成員

D.公有繼承的公有成員

22.下面程序的運行結果為(  )。

#include

classA

{

intnum;

public:

A(inti){num=i;)

A(A&a){num=++;}

voidprint(){cout<  };

voidmain()

{

Aa(1),b(a);

t();

t();

}

A.11B.12

C.21D.22

23.設有定義charstr[80];以下不能將輸入數據firstnsecondn讀取到數組str中的語句是(  )。

(str,strlen(str));

ine(str,strlen(str));

>>str;

(str,strlen(str));

24.下列程序的輸出結果為(  )。

#include

classTestClass

{

public:

TestClass(){val++;}

static,intval;

};

intTestClass::val=0;

voidmain()

{

TestClasscsl;

cout<  TestClasscs2;

TestClasscs3,cs4;

cout<  }

A.O3

B.13

C.14

D.24

25.有以下類定義:

classMyClass

{

private:

intid;

chargender;

char*phone;

public:

MyClass():id(0),gender(’#’),phone(NULl){}

MyClass(intn0,charge=’#’,char*ph=NULL)

{id=no;gender=ge;phone=ph;}

};

下列類對象定義語句中錯誤的是(  )。

assmyObj;

assmyObj(11,"13301111155");

assmyObj(12,’m’);

assmyObj(12);

26.下列是關於派生類聲明的開始部分,其中正確的是(  )。

熱門標籤