2015年9月全國計算機等級考試二級C++預測卷

  一、選擇題。在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項塗寫在答題卡相應位置上,答在試卷上不得分。

2015年9月全國計算機等級考試二級C++預測卷

(1)迴圈連結串列的主要優點是

A)不再需要頭指標了

B)從表中任一結點出發都能訪問到整個連結串列

C)在進行插入、刪除運算時,能更好的保證連結串列不斷開

D)已知某個結點的位置後,能夠容易的找到它的直接前件

(2)棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是

A)ABCED

B)DCBEA

C)DBCEA

D)CDABE

(3)n個頂點的強連通圖的邊數至少有

A)n-1

B)n(n-1)

C)n

D)n+1

(4)在結構化程式設計思想提出之前,在程式設計中曾強調程式的效率。與程式的效率相比,人們更重視程式的

A)安全性

B)一致性

C)可理解性

D)合理性

(5)模組獨立性是軟體模組化所提出的要求,衡量模組獨立性的度量標準則是模組的

A)抽象和資訊隱蔽

B)區域性化和封裝化

C)內聚性和耦合性

D)啟用機制和控制方法

(6)軟體開發的結構化生命週期方法將軟體生命週期劃分成

A)定義、開發、執行維護

B)設計階段、程式設計階段、測試階段

C)總體設計、詳細設計、程式設計除錯

D)需求分析、功能定義、系統設計

(7)在軟體工程中,白箱測試法可用於測試程式的內部結構。此方法將程式看做是

A)路徑的集合

B)迴圈的集合

C)目標的集合

D)地址的集合

(8)在資料管理技術發展過程中,檔案系統與資料庫系統的主要區別是資料庫系統具有

A)特定的資料模型

B)資料無冗餘

C)資料可共享

D)專門的資料管理軟體

(9)資料庫設計包括兩個方面的設計內容,它們是

A)概念設計和邏輯設計

B)模式設計和內模式設計

C)內模式設計和物理設計

D)結構特性設計和行為特性設計

(10)實體是資訊世界中廣泛使用的一個術語,它用於表示

A)有生命的事物

B)無生命的事物

C)實際存在的事物

D)一切事物

(11)以下都是C++語言識別符號的是

A)dsfa,df4,f$

B)huhj,a^,k2

C)3k,h,j_9

D)_ok,jk,k8

(12)C++語言中用於定義類的關鍵字是

A)class

B)struct

C)default

D)sizeof

(13)設以下變數均為int型別,則值不等於7的表示式是

A)(x=y=6,x+y,x+1)

B)(x=y=6,x+y,y+1)

C)(x=6,x+1,y=6,x+y)

D)(y=6,y+1,x=y,x+1)

(14)以下程式的輸出結果是

#include

void main()

{ int a=21,b=11;

cout << --a+b;}

A)30

B)31

C)32

D)33

(15)while 和do-while迴圈的主要區別是

A)do-while的迴圈體至少無條件執行一次

B)while的迴圈控制條件比do-while的`迴圈控制條件更嚴格

C)do-while允許從外部轉到迴圈體內

D)do-while 的迴圈體不能是複合語句

(16)與 y=(x>0?1:x<0?-1:0);的功能相同的if語句是

A)if (x>0)y=1;

else if(x<0)y=-1;

else y=0;

B)if(x)

if(x>0)y=1;

else if(x<0)y=-1;

C)y=-1;

if(x)

if(x>0)y=1;

else if(x==0)y=0;

else y=-1;

D)y=0;

if(x>=0)

if(x>0)y=1;

else y=-1;

(17)若二維陣列a有m列,則計算任一元素a[i][j]在陣列中相對位置的公式為 (假設a[0][0]位於陣列的第一個位置上)

A)i*m+j

B)j*m+i

C)i*m+j-1

D)i*m+j+1

(18)下面程式段的執行結果是

#include

void main()

{ char *s="abcde";

s+=2;

cout << &s;}

A)cde

B)字元′c′

C)字元′c′的地址

D)無確定的輸出結果

(19)下面敘述不正確的是

A)派生類一般都用公有派生

B)對基類成員的訪問必須是無兩義性的

C)賦值相容規則也適用於多重繼承的組合

D)基類的公有成員在派生類中仍然是公有的

(20)下面程式應能對兩個整型變數的值進行交換。以下正確的說法是

#include

void swap(int p,int q)

{ int t;

t=p;

p=q;

q=t;}

void main()

{ int a=10,b=20;

cout << a << " " << b;

swap(&a,&b);

cout << a << " " << b;}

A)該程式完全正確

B)該程式有錯,只要將語句swap(&a,&b);中的引數改為a,b即可

C)該程式有錯,只要將swap()函式中的形參p和q以及t均定義為指標(執行語句不變)即可

D)以上說法都不對

(21)關於友元的概念錯誤的是

A)友元函式沒有this指標

B)呼叫友元函式時必須在它的實參中給出要訪問的物件

C)一個類的成員函式也可以作為另一個類的友元函式

D)只能在類的公有段宣告友元

(22)關於抽象類下面說法正確的是

A)抽象類就是其中有函式定義但沒有實現的類

B)抽象類是可以被例項化的

C)派生類不能成為抽象類

D)抽象類的子類必須實現父類中的純虛擬函式