糯米文學吧

位置:首頁 > 計算機 > 計算機二級

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

  一、選擇題

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為正確答案。