2015年計算機二級《C++》考前沖刺模擬試卷(2)
24
A.
B.
C.
D.
參考解析:
25有三個關系R、S和T如下:
由關系R和S通過運算得到關系T,則所使用的運算為( )。
A.并B.自然連接C.笛卡爾積D.交
參考答案:D
參考解析:
26
A.
B.
C.
D.
參考答案:A
參考解析:
27以下關于數據的邏輯結構的敘述中,不正確的是( )。
A.數據的邏輯結構是數據間關系的描述
B.數據的邏輯結構不僅反映數據間的邏輯關系,而且反映其在計算機中的存儲方式
C.數據的邏輯結構分為線性結構和非線性結構
D.樹形結構是典型的非線性結構
參考解析:數據的邏輯結構是數據間關系的描述,它僅抽象地反映數據間的邏輯關系,并不管其在計算機中的存儲方式。數據的邏輯結構分為線性結構和非線性結構。若各數據元素之間的邏輯關系可以用一個線性序列簡單地表示出來則稱之為線性結構,否則稱為非線性結構。線性表是典型的線性結構,而樹形結構是典型的非線性結構。
【知識拓展】對于長度為n的有序線性表,在最壞情況下,二分法查找只需要比較log2n次,而順序查找需要比較n次。
28有3個結點的二叉樹有( )。
A.2種形態B.4種形態C.7種形態D.5種形態
參考答案:D
參考解析:由三個結點組成的二叉樹可以有五種形態,如下圖所示。
29下列數據結構中,能用二分法進行查找的是( )。
A.順序存儲的有序線性表B.線性鏈表C.二叉鏈表D.有序線性表
參考答案:A
參考解析:
30下面關于常成員函數的說法中正確的是( )。
A.常成員函數不能修改任何的數據成員
B.常成員函數只能修改一般的數據成員
C.常成員函數只能修改常數據成員
D.常成員函數只能通過常對象來調用
參考答案:A
參考解析:
31下列關于this指針的敘述中,正確的是( )。
A.任何與類相關的函數都有this指針
B.類的成員函數都有this指針
C.類的友元函數都有this指針
D.類的非靜態成員函數才有this指針
參考答案:D
參考解析:this指針是成員函數所屬對象的指針,它指向類對象的地址;它隱含于每個類的非靜態成員函數中;this指針只能在類的成員函數中使用,它指向該成員函數被調用的對象;靜態成員函數沒有this指針,因為類中只有一個靜態成員函數實例,使用this指針無意義。
32
A.
B.
C.
D.
參考解析:數組的下標是從0到數組的長度減1。
33下列關于函數模板的定義中,合法的是( )。
A.template class T abs(T z) {rerun z<0 ? -z:z;}
B.template T abs(T z) {return z<0 ? -z:z;}
C.template Tabs(T z){return z<0 ? -z:z;}
D.template T abs(T z) {return z<0 ? -z:z;}
參考解析:
解析:聲明一個函數模板格式是:template<模板形參表聲明><函數聲明>
其中<模板形參表聲明>是由一個或多個<模板形參>組成(如果是多個需要用逗號隔開)。
其中,<模板形參>可以換成 class,函數的聲明部分和一般函數的聲明部分類似,只有某些類型修飾符被虛擬類型參數替代。
34以下數據結構中,不屬于線性數據結構的是( )。
A.隊列B.線性表C.二叉樹D.棧
參考答案:C
參考解析:棧是一種特殊的線性表,這種線性表只能在固定的一端進行插入和刪除操作,因此棧又稱后進先出表或先進后出表;隊列可看作是插入在一端進行,刪除在另一端進行的線性表,因此隊列又稱先進先出表或后進后出表。二叉樹不屬于線性結構。 ’
35
A.yB.yxC.xyD.yy
參考答案:C
參考解析:
二、填空題
36執行以下程序后,輸出結果第二行的內容是__________。
參考解析:
37
參考解析:
38
參考解析:
數據流的類型有__________和事務型。
參考解析:
40指針數組是由__________構成的數組。
參考解析:
指針或指針變量
【解析】此題考查的是指針數組的概念。指針數組是由指針組成的數組,即數組中的每一個元素都是指向同一類型對象的指針。
41數據庫系統其內部分為三級模式,即概念模式、內模式和外模式。其中,_____是用戶的數據視圖,也就是用戶所見到的數據模式。
參考解析:
外模式
【解析】數據庫系統的三級模式分別是內模式、概念模式和外模式。其中,物理模式給出了數據庫的物理存儲結構和存取方法;概念模式是數據庫系統中全局數據邏輯結構的描述;外模式是用戶的數據視圖,也就是用戶所見到的數據模式。
42
參考解析:
43關系代數是關系操作語言的一種傳統表示方式,它以集合代數為基礎,它的運算對象和運算結果均為___。
參考解析:
44下面是一個棧類的模板,其中push函數將元素i壓入棧頂,pop函數彈出棧頂元素。棧初始為空,top 值為0。棧元素在stack[top-1]中,在下面橫線處填上適當語句,完成棧類模板定義。
template
class Tstack {
enum{size=1000};
T stack[size];
int top;
public;
Tstack():top(0){}
void push(const T &i){
if(top
stack[top++]=i;
}
Tpop(){
if(top==0)exit(1);//棧空時,終止運行;
return ;
}
};
參考解析:
stack[--top] 或 stack[top-=1] 或 stack[top=top-1]
解析:此題考查的是堆堆棧數據結構。分析題目,首先利用函數 void push(const T &i)將 i 壓入棧,然后Tpop()將元素彈出,但由于壓入棧的時候,top值已經增加1;要彈出元素,須使top先減 1,才能把棧頂元素彈出。
45Jackson方法是一種面向_____的結構化方法。
參考解析:
數據結構
【解析】Jackson方法是一種結構化分析方法,它是一種面向數據結構的方法。
46測試分為白箱法和黑箱法,__________又稱為邏輯覆蓋測試。
參考解析:
47
參考解析:
48與二維表中的“行”的概念最接近的概念是__________。
參考解析:
元組
【解析】在關系模型中,數據結構用單一的二維表結構來表示實體及實體間的聯系。一個關系對應一個二維表。二維表中的列稱為屬性,屬性值的取值范圍稱為值域。二維表中的一行稱為一個元組。