當前位置:才華齋>計算機>計算機二級>

2015年全國計算機二級考試Java模擬試題(二)答案及解析

計算機二級 閱讀(2.15W)

  一、選擇題

2015年全國計算機二級考試Java模擬試題(二)答案及解析

1.A。【解析】線性表的儲存結構有順序儲存結構和鏈式儲存結構。

2.C。【解析】根據滿二叉樹的定義,一棵深度為k且有

2k-1個結點的二叉樹為滿二叉樹。滿二叉樹的葉子結點為最後一層的結點數。根據滿二叉樹的性質,在滿二叉樹的第i層上至多有2i-1個結點。因此深度為5的滿二叉樹的葉子結點數為25-1=16個。

3.C。【解析】線性表是一種線性結構,由n(n≥0)個元素組成,所以線性表可以是空表。但是線上性表中,第一個結點沒有前驅,最後一個結點沒有後繼,其他結點有且只有一個前驅和後繼,所以選項C是錯誤的。

4.B。【解析】在資料庫系統中,需要對資料進行集合、統一的管理,以達到被多個應用程式共享的目標。

5.D。【解析】程式設計中,程式不要求長度,以結構清晰、易於理解為標準,程式設計師可以添加註釋來助於理解,同時要儘量少用goto語句,否則會破壞程式的結構。

6.C。【解析】結構化程式設計的核心和基礎是結構化設計理論,其中包括:結構化分析方法、結構化設計方法和結構化程式設計方法。

7.A。【解析】二叉樹的遍歷有3種:前序、中序和後序。中序遍歷首先遍歷左子樹或左子結點,然後訪問根結點,最後遍歷右子樹或右子結點。分析本題二叉樹,對其進行中序遍歷,結果為ACBDFEG。

8.B。【解析】耦合性和內聚性是模組獨立性的兩個定性標準,軟體設計應該遵循高內聚低耦合的準則。

9.A。【解析】演算法的有窮性是指演算法必須在執行有限的步驟後終止。

10.D。【解析】關係R與S經過交運算後所得到的關係是由那些既在R內又在S內的有序組組成的。記作R∩S。

11.B。【解析】若一個程序請求新資源之前首先釋放已佔有的資源,這破壞了部分分配條件。

12.D。【解析】根據快速排序的演算法,新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)為字元序列(Q,H,C,Y,P,A,M,s,R,D,F,x)經過快速排序的演算法第一趟掃描後的結果。

13.D。【解析】演算法是一系列解決問題的清晰指令,也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。演算法常常含有重複的步驟和一些比較或邏輯判斷。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量,也就是演算法分析,因此選項D錯誤。演算法設計一般採用由粗到細、由抽象到具體的初步求精的方法。

14.B。【解析】資料的儲存結構是邏輯結構在計算機儲存器中的實現。為了全面表示一個邏輯結構,它在儲存器中的影響包括資料元素自身值的表示和資料元素的表示兩方面。

15.B。【解析】順序查詢的基本思想是:從表的一端開始,順序掃描線性表,依次將掃描到結點的關鍵字和給定值k進行比較,若當前掃描到結點的關鍵字與k相等,則查詢成功;若掃描結束後,仍未找到關鍵字等於k的結點,則查詢失敗。二分查詢法是一種效率較高的查詢方法,要求線性表是有序表。基本思想是:首先將待查的k值和有序表R[0]~R[n-1]的中間位置mid上的結點的關鍵字進行比較,若相等,則查詢完成;否則,若R[mid]>k,則說明待查詢的結點只可能在左子表R[0]~R[mid-1]中,我們只需在左子表中繼續進行折半查詢,若R[mid]  16.D。【解析】本題考查虛擬機器執行過程的特點。Java虛擬機器是編譯器生成的位元組碼,不用考慮具體的硬體環境,實現一次編寫,隨處執行,實現其可移植性。虛擬機器執行過程的特點有:多執行緒、動態連線、異常處理。程式碼安全檢查是Java語言的一個突出特點,但不屬於虛擬機器執行過程特點。

17.A。【解析】本題考查考生對Java語言概念的理解,屬於考試重點內容,歷次考試都有相關內容,應該理解這些基本概念。Java語言是分大小寫的,這一點在初學Java時需要特別注意,這一點與C語言有所不同,B選項錯誤。以//開始的應該是單行的註釋語句,因此選項C錯誤。Java中有三類註釋語句:文件註釋/**…*/,被javadoc處理,可以建立類的一個外部說明性檔案;C語言註釋風格/*…*/,用於去掉當前不再使用但仍想保留的程式碼等;單行註釋//,格式上要求註釋符//後必須緊跟一個空格,然後才是註釋信患。Java程式原始檔名必須和public類名相同,否則編譯出錯,因此選項D錯誤。只有選項A說法正確。

18.C。【解析】本題考查實型變數科學計算格式的書寫。在科學計算格式中,e或E是指數符,要求在e/E之前必須有數字,選項A錯誤。同時還要求在e/E之後必須是整數,選項B和選項D錯誤。雖然題目非常簡單,但是不容易正確回答。正確答案為選項C。

19.C。【解析】本題考查Java語言中的進位制換算。考生首先要清楚各種進位制的表示方法,整型常量有3種書寫格式:十進位制整數,如156,-230,345;八進位制整數:以0開頭,如012表示十進位制的l0;十六進位制整數:以0x或0X開頭,如0X123表示十進位制數291。選項A是十進位制的15,選項B和選項D都是十六進位制中的F相當於十進位制的15,選項C為八進位制,以0開頭,此處Ol5相當於十進位制的13,與其他選項不同。

20.D。【解析】本題考查考生對位運算子中無符號右移運算子的掌握。無符號右移運算子>>>,也叫邏輯右移,用於將一個數的各二進位制位全部無符號右移若干位,與運算子>>不同的是左補0,而>>則是最高位移入原來高位的值。在本題中,8的二進位制表示是1000,右移一位後變成了0100,對應的十進位制數是4。可見,正確答案為選項D。

21.A。【解析】本題考查考生對Java類的掌握。在Java中包封裝著所有程式設計應用的基本類。Object是所有類的根,它所包含的'屬性和方法被所有類整合;Class類是由編譯器自動生成物件的一個特殊類,它伴隨每個類;Strin9是字串常量的類;System類是一個final類,所有的方法都用類變數來呼叫,即對System類不可能例項化,主要提供了標準輸入/輸出和系統環境資訊的訪問、設定.

22.A。【解析】本題考查Java的運算和型別轉換。題目中變數x、y、z是int型別,由於括號的優先順序要高,所以語句(float)(x/y)的結果為0.0,分母已經成為0,編譯肯定無法通過。另外,由於2是int型,不能將float型強制轉化為int型。

23.B。【解析】本題考查int型別的取值範圍。int型別是最常用的整數型別,儲存時佔32位bit,能表示的範圍是-2的31次方至2的31次方-1,選項B正確。而short型別在儲存時佔l6位bit,能表示的範圍是-2的16次方至2的16次方-1。long型別儲存時佔64位bit,資料範圍是-2的64次方至2的64次方-1。正確答案為選項B。

24.B。【解析】本題考查對子類與父類關係的理解。對一個類的繼承也就是構建了一個子類,子類繼承了父類的方法和狀態,同時還可以向新類中增添新的方法和狀態。重點掌握兩點:子類方法的訪問許可權比父類訪問許可權高,因此父類不能替代子類,但子類能夠代替父類,子類方法不能產生比父類更多的異常。子類擁有的成員數目小於等於父類擁有的成員數目,選項A說法錯誤;父類代表的物件範圍比子類廣,選項B說法正確;子類要呼叫父類的方法,可以使用super關鍵字,也可以將父類的方法進行重寫,選項C說法錯誤。在Java中一個類只能有一個父類,選項D說法錯誤。

25.A。【解析】本題考查Java中表達式的運算。程式段main()方法中的前3行是基本的賦值語句,第4行是算術運算語句,該語句執行的過程是:首先是對Y取負值,得到-2,然後乘以2得到-6,再除以n得到-1,最後和n做加法得到3,從而根據賦值運算將3賦值給變數n。

26.C。【解析】本題考查Java中多重繼承的概念。首先要區分選項中各個概念。內部類是在一個類中的內部巢狀定義的類,主要用來生成事件介面卡。介面卡(Adapter)定義一個包裝類,包裝有不相容介面的物件。這個包裝類指的就是介面卡,它包裝的物件就是適配者(Adaptee),介面卡提供客戶類需要的介面。介面是一種只含有抽象方法或常量的一種特殊的抽象類,因為介面不包括任何實現,所以與儲存空間沒有任何關係,將多個介面合併,即多重繼承就可以很容易實現,選項C正確。同步主要用在多執行緒程式設計中。

27.B。【解析】本題考查Java中資料型別的取值範圍。應該掌握常用的資料型別的取值範圍,char型別在記憶體中佔16位,取值範圍是0~65535也就是O~2的16次方減1,選項B正確。

28.D。【解析】本題考查Java中的註釋語句。註釋是程式設計的重要組成部分,應熟練掌握。Java中有三類註釋語句:文件註釋/**…*/,被javadoc處理,可以建立類的一個外部說明性檔案,所以本題正確答案是選項D;C語言註釋風格/*…*/,用於去掉當前不再使用但仍想保留的程式碼等;單行註釋//,格式上要求註釋符//後必須緊跟一個空格,然後才是註釋資訊。

29.A。【解析】本題考查Java語言中的進位制換算。首先要清楚各種進位制的表示方法。整型常量有3種書寫格式:十進位制整數,如156,-230,345;八進位制整數,以0開頭,如012表示十進位制的l0;十六進位制整數,以0x或OX開頭,如0X123表示十進位制數291。十進位制數16相當於十六進位制的10,所以選項A正確。

30.D。【解析】本題考查Java中變數的宣告。選項A雖然按照題目要求定義了一個變數,但沒有滿足保持為常數的要求,該變數可以被改變;選項B沒有滿足題目要求的public成員變數;選項C與C語言混淆,const是C語言用來定義常值變數的關鍵字;Java中定義常值變數使用的是final屬性,說明該值賦值以後永不改變,所以選項D為正確答案。