2015年計算機二級《C++》考前沖刺試卷
C.重載函數的返回值類型必須不同
D.重載函數的參數可以帶有默認值
參考答案:C
參考解析:此題考查的是函數重載的概念。在C++語言中,允許定義一系列函數名相同,但形參的個數和類型不完全相同的函數,即函數的重載。重載函數對返回值類型不做要求,返回值類型也不參與區分函數的重載形式。故選項C)錯誤。
2兩個或兩個以上模塊之間聯系的緊密程度稱為( )。
A.耦合性B.內聚性C.復雜性D.數據傳輸特性
參考答案:A
參考解析:耦合性是模塊間互相連接的緊密程度的度量,取決于各個模塊之間接口的復雜度、調用方式以及哪些信息通過接口。
【知識拓展】模塊的獨立程序是評價設計好壞的一個重要標準,衡量軟件的模塊獨立性有兩個定性的度量標準。其中內聚性是指一個模塊內部各個元素問彼此結合的緊密程度的度量,內聚性是從功能角度來度量模塊內的聯系;耦合性是模塊間互相連接的緊密程度的度最,耦合性從整體的角度來度量模塊間的聯系。
3
A)n=4
n=3
B)n=1
n=2
C)n=3
n=4
D)n=5
n=6
參考答案:A
參考解析:
4已知一棵二叉樹的先根序列為ABCDEFK,中根序列為DGBAFCK,則結點的后根序列為( )。
A.ACFKDBGB.GDBFKCAC.KCFAGDBD.ABCDFKG
參考答案:B
參考解析:通過兩種樹的遍歷序列來推斷第三種樹的遍歷時,反復利用前序和中序遍歷的性質,就可以確定二叉樹,具體:前序遍歷的第一個結點A為樹的根結點。中序遍歷中A左邊的結點在A的左子樹中,A的右邊的結點在A的右子樹中。再分別對A的左右子樹進行前麗步驟重復處理,直到每個結點都找到正確的位置。
具體:前序遍歷的第一個結點A為樹的根結點。中序遍歷中A左邊的結點在A的左子樹中,A的右邊的結點在A的右子樹中。再分別對A的左右子樹進行前面步驟重復處理,直到每個結點都找到正確的位置。
5下列敘述中錯誤的是( )。
A.線性表是由n個元素組成的一個有限序列
B.線性表是一種線性結構
C.線性表的所有結點有且僅有一個前件和后件
D.線性表可以是空表
參考答案:C
參考解析:線性表是一種線性結構,由n(n≥0)個元素組成,所以線性表可以是空表。但是在線性表中,第一個結點沒有前件,最后一個結點沒有后件,其他結點有且只有一個前件和后件,所以C是錯誤的。
6下列的方法中,不屬于軟件調試技術的是( )。
A.強行排錯法B.集成測試法C.回溯法D.原因排除法
參考答案:B
考解析:調試的關鍵在于推斷程序內部的錯誤位置及原因。主要的調試方法有強行排錯法、回溯法和原因排除法。
7下列關于派生類構造函數和析構函數的說法中,錯誤的是( )。
A.派生類的構造函數會隱含調用基類的構造函數
B.如果基類中沒有缺省構造函數,那么派生類必須定義構造函數
C.在建立派生類對象時,先調用基類的構造函數,再調用派生類的構造函數
D.在撤銷派生類對象時,先調用基類的析構函數,再調用派生類的析構函數
參考答案:D
參考解析:此題考查的是派生類的構造函數和析構函數。在撤銷派生類對象時,析構函數的執行過程和構造函數嚴格相反,即:對派生類新增普通成員進行清理;調用成員對象析構函數,調用基類析構函數對基類進行清理。
8在C++中,實現封裝性需借助于( )。
A.枚舉B.類C.數組D.函數
參考答案:B
參考解析:
9下列有關指針的用法中,錯誤的是( )。
A.
B.
C.
D.
參考答案:B
參考解析:
10以下程序的輸出的結果是( )。
A.20B.21C.22D.23
參考答案:B
參考解析:
11設有關鍵碼序列(66,13,51,76,81,26,57,69,23),要按關鍵碼值遞增的次序排序,若采用快速排序法,并以第一個元素為劃分的基準,那么第一趟劃分后的結果為( )。
A.23,13,51,57,66,26,81,69,76
B.13,23,26,51,57,66,81,76,69
C.23,13,51,57,26,66,81,69,76
D.23,13,51,57,81,26,66,69。76
參考答案:C
參考解析:快速排序是起泡排序的改進。在快速排序中,任取一個記錄,以它為基準用交換的方法將所有的記錄分成兩部分,關鍵碼值比它小的在一部分,關鍵碼值比它大的在另一部分,再分別對兩個部分實施上述過程,一直重復到排序完成。
12數據庫DB、數據庫系統DBS、數據庫管理系統DBMS之間的關系是( )。
A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒有任何關系
參考答案:C
參考解析:數據庫系統(DBS)由數據庫(DB)、數據庫管理系統(DBMS)、數據庫管理員、硬件平臺和軟件平臺5個部分組成,可見DB和DBMS都足DBS的組成部分。
下列函數的運行結果是( )。
A.25B.30C.20D.15
參考答案:A
參考解析:
14
A.4,6B.3,6C.4,7D.5,7
參考答案:D
參考解析:
15下面的說法中錯誤的是( )。
A.公有繼承的基類中public成員在派生類中仍是public
B.私有繼承的基類中public成員在派生類中是private
C.公有繼承的基類中private成員在派生類中仍是private
D.保護繼承的基類中public成員在派生類中是protected
參考答案:C
參考解析:類的繼承方式有公有繼承、保護繼承和私有繼承三種方式。對于公有繼承基類中的成員訪問屬性不變,對于保護和私有繼承基類中的成員轉換為相應的訪問類型。但是若基類成員的訪問屬性為private的,則不能被繼承。
16在每個C++程序中必須有且僅有一個( )。
A.函數B.主函數C.預處理指令D.語句
參考答案:B
參考解析:
17下面關于運算符重載中正確的是( )。
A.運算符函數的返回類型不能聲明為基本數據類型
B.C++的所有運算符都可以重載
C.在類型轉換符函數的定義中不需要聲明返回類型
D.通過運算符重載可以定義C++中沒有的運算符
參考答案:C
參考解析:
18
A.232B.221C.222D.231
參考答案:B
參考解析:
19在一棵二叉樹上,第4層最多有幾個結點( )。
A.8B.16C.32D.15
參考答案:A
參考解析:根據二叉樹的性質:二叉樹第 i (i >=1)層上至多有2i-1個結點。由該性質得到 第 4 層最多有 8 個結點數。第19題 筆記記錄我的筆記(0) | 精選筆記(7)選擇筆記標簽:試題內容(7)答案解析(0)
20
參考答案:D
參考解析:由于“\”在C++中用來定義轉義字符,所以必須對文件名字符串中的“\”進行轉義,所以只有選項D)不正確。第20題 筆記記錄我的筆記(0) | 精選筆記(1)選擇筆記標簽:試題內容(1)答案解析(0)
21下列語句中,錯誤的是( )。
A.
B.
C.
D.
參考答案:B
參考解析:符號常量聲明語句的語法格式是:const類型名符號常量=初值表達式,選項B)中未給常變量賦初值,故錯誤;而選項C)中定義的是一個指向浮點型常量的指針,而不是定義一個浮點型常量,所以可以不賦初值。
22
A.4,10B.4,6C.0,6D.0,4
參考答案:A
參考解析:
23算法的時間復雜度是指( )。
A.執行算法程序所需要的時間
B.算法程序的長度C.算法執行過程中所需要的基本運算次數
D.算法程序中的指令條數
參考答案:C
參考解析:
【解析】所謂的算法的時間復雜度,是指執行算法所需要的工作量,可以用算法在執行過程中所需基本運算的執行次數來度量算法的工作量。
24
參考答案:C
參考解析:
25下面敘述錯誤的是( )。
A.派生類可以使用private派生
B.對基類成員的訪問必須是無二義性的
C.基類成員的訪問能力在派生類中維持不變
D.賦值兼容規則也適用于多繼承的組合
參考答案:C
參考解析:在建立派生類的時候,并不是簡單地把基類的私有成員直接作為派生類的私有成員,把基類的公用成員直接作為派生類的公用成員。涉及如何確定基類的成員在派生類中的訪問屬性問題,不僅要考慮對基類成員所聲明的訪問屬性,還要考慮派生類所聲明的對基類的繼承方式,根據這兩個因素共同決定基類成員在派生類中的訪問屬性。所以本題選擇C.。
26已知一個有序線性表為(13,18,24,35,47,50,62,83,90,115,134),當用二分法查找值為90的元素時,查找成功的比較次數為( )。
A.1B.2C.3D.9
參考答案:B
參考解析:根據二分法查找法需要兩次:①首先將90與表中間的元素50進行比較,由于90大于50,所以在線性表的后半部分查找。②第二次比較的元素是后半部分的中間元素,即90,這時兩者相等,即查找成功。
27以下關于棧的描述中錯誤的是( )。
A.棧是先進后出的線性表
B.棧只能順序存儲
C.棧具有記憶作用
D.對棧的插入與刪除操作中,不需要改變棧底指針
參考答案:B
參考解析:棧是限定只能在表的一端進行插入和刪除操作的線性表,入棧和出棧都是在棧頂進行,它們的操作特點是先進后出,因此具有記憶作用。棧可以采用順序存儲,也可以采用鏈式存儲。
28以下程序的輸出的結果是( )。
A.3,3B.2,2C.2,6D.2,5
參考答案:C
參考解析:
29
A.42,42B.23,23C.23,42D.42,23
參考答案:B
參考解析:
【解析】此題考查的是函數的調用以及參數值的傳遞。函數fun中的第一個參數是引用傳值方式,是雙向的;第二個參數是按值傳遞,是單向的。
30下面關于面向對象的程序設計方法中,正確的是( )。
A.“多態性”是指對象的狀態根據運行的要求進行變化
B.“封裝性”是指將不同類型的數據結合在一起作為一個整體來處理
C.在面向對象的程序設計中,結構化程序設計方法仍有著重要作用
D.基類的私有成員在派生類的對象中不可訪問,也不占內存空間
參考答案:C
參考解析:
31
A.
B.
C.
D.
參考答案:A
參考解析:
32下面關于數據庫三級模式結構的敘述中,正確的是( )。
A.內模式可以有多個,外模式和模式只有一個
B.外模式可以有多個,內模式和模式只有一個
C.內模式只有一個,模式和外模式可以有多個
D.模式只有一個,外模式和內模式可以有多個
參考答案:B
參考解析:數據庫的三級模式結構是指數據庫系統的外模式、模式和內模式。一個數據庫可以有多個外模式,但只有一個模式和一個內模式。
33
A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE
參考答案:D
參考解析:
34多繼承的構造順序可分為如下四步:
①所有非虛基類的構造函數按照它們被繼承的順序構造
②所有虛基類的構造函數按照它們被繼承的順序構造
③所有子對象的構造函數按照它們聲明的順序構造
④派生類自己的構造函數體
這四個步驟的正確順序是( )。
A.④③①②B.②④③④C.②①③④D.③④①②
參考答案:C
參考解析:多繼承派生類的構造順序是:首先調用虛基類的構造函數,然后調用非虛基類的構造函數按照它們被繼承的順序構造,其次調用子對象的構造函數,最后是派生類構造函數中的內容。
35下列敘述中正確的是( )。
A.線性鏈表的各元素在存儲空間中的位置必須是連續的
B.線性鏈表的頭元素一定存儲在其他元素的前面
C.線性鏈表中的各元素在存儲空間中的位置不一定是連續的,但表頭元素一定存儲在其他元素的前面
D.線性鏈表中的各元素在存儲空間中的位置不一定是連續的,且各元素的存儲順序也是任意的
參考答案:D
參考解析:在線性鏈表中,各元素在存儲空間中的位置是任意的,各元素的順序也是任意的,依靠指針來實現數據元素的前后件關系。
二、填空題
36
參考解析:
37用樹形結構表示實體之間聯系的模型是__________。
參考解析:
層次模型
【解析】層次模型是最早發展起來的數據庫模型。層次模型的基本結構是樹形結構。
38在關系代數運算中,_____操作會消去關系中的某些列并刪去重復的元組。
參考解析:
投影
【解析】對關系的投影操作是從關系中選擇若干屬性列組成新的關系。實際上是對關系垂直分割,刪去重復的元組。
39非成員函數應聲明為類的__________函數才能訪問這個類的private成員。
參考解析:
友元
【解析】此題考查的是友元函數。一個類的私有成員和保護成員,只能由其本身的成員來訪問,不能被其他函數訪問。但是如果想讓類中的數據成員可以被其他函數訪問,可以通過友元函數聲明來分享類中的數據資源。
40C++中只有兩個邏輯常量:true和__________。
參考解析:
false
【解析】此題考查的是邏輯常量。在C++語言中只有兩個邏輯常量:true和false。故本題應填入false。
41含有純虛函數的類稱為_____。
參考解析:
抽象類
【解析】C++中擁有純虛函數的類成為抽象類,抽象類不能用來定義對象。若一個抽象類的派生類沒有重定義其基類中的某個純虛函數,則該函數在派生類中仍是純虛函數,該類仍為抽象類。
42給定一個關鍵字序列(24,19,32,43,38,6,13,22),進行快速排序,掃描一趟后的結果是__________。
參考解析:
43
參考解析:
44
參考解析:
將字符串首尾顛倒
45數據的邏輯結構在計算機存儲空間中的存放形式稱為數據的__________。
參考解析:
模式或邏輯模式或概念模式
【解析】模式也稱邏輯模式或概念模式,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。
46數據管理技術的發展經歷了人工管理、文件系統和數據庫系統3個階段,其中數據獨立性最高的是__________。
參考解析:
數據庫系統
【解析】在人工管理階段,數據無法共享、冗余度大,完全依賴于程序;在文件系統階段,數據共享性差;而數據庫系統具有三級模式及二級映射的抽象結構系統,從而保證了數據獨立性的實現。
47
參考解析:
48
參考解析:
49若下面程序運行時輸出結果為:
1,A,10.1
2,B,3.5
請將程序補充完整。
#include
using namespace std;
int main()
{
void test(int,char,double );
test(1,'A',10.1);
test(2,'B');
return 0;
}
void test(int a,char b,double c)
{
cout<
}
參考解析:本題考查了函數默認參數的應用。本題中第一次調用test()函數數值1,A,10.1;第二次調用少了一個實參,卻要求輸出 2,B,3.5,由此分析,應將test()函數的第三個參數聲明為默認參數。且默認為3.5,才能達到要求的輸出結果。故應填入=3.5或者c=3.5。
50
參考解析:20
【解析】主函數中定義TestClass4的對象obj。TestClass4雖然公有繼承于TestClass2,但是x在其中為私有,所以無法訪問。TestClass4保護繼承于TestClass3,TestClass3中的x=20為公有成員數據,對象obj可以訪問這個數據,即輸出為20。