2015年計算機二級考試JAVA模擬試題庫(一)答案及解析

  一、選擇題

2015年計算機二級考試JAVA模擬試題庫(一)答案及解析

1.D。【解析】算法的時間複雜度和空間複雜度是從不同的角度來衡量算法的執行情況的,它們之間沒有內在聯繫。

2.B。【解析】先進的軟件開發工具和環境對提高開發人員工作效率是至關重要的。

3.D。【解析】程序設計語言的基本成分有:數據成分,用於描述程序所涉及的數據;運算成分,用於描述程序中所包含的運算;控制成分,用於描述程序中所包含的控制;傳輸成分,用於表達程序中數據的傳輸。

4.C。【解析】對線性表進行順序查找時,從表中的第一個元素開始,將給定的值與表中逐個元素的關鍵字進行比較,直到兩者相符,查找到所要找的元素爲止。在最壞情況

下,要查找的元素是表的最後一個元素或查找失敗,這兩種情況都需要將這個元素與表中的所有元素進行比較,因此比較次數爲n。

5.D。【解析】對二叉樹的前序遍歷是指:先訪問根結點,然後訪問左子樹,最後訪問右子樹,並且,在訪問左、右子樹時,先訪問根結點,再依次訪問其左、右子樹。

6.C。【解析】面向對象的程序設計是用對象模擬問題領域中的實體,各對象之間相對獨立,相互依賴性小,通過消息來實現對象之間的相互聯繫。

7.B。【解析】基於軟件工程的目標,軟件工程的理論和技術性研究的內容主要包括軟件開發技術和軟件工程管理。

8.D。【解析】在面向對象方法中,對象之間通過消息進行通信。消息中只包含傳遞者的要求,但並不指示接受者應該怎麼完成這些處理。

9.C。【解析】軟件調試技術包括強行排錯法、回溯法和原因排除法。邊界值分析、錯誤推斷都是黑盒測試的方法。

10.C。【解析】數據庫系統(DBS)由數據庫(DB)、數據庫管理系統(DBMS)、數據庫管理員、硬件平臺和軟件平臺5個部分組成,因此DB和DBMS都是DBS的組成部分。

11.D。【解析】高級語言是一類人工設計的語言,因爲它對具體的算法進行了描述,所以又稱爲算法語言。它是面向程序設計獨立於計算機的硬件。目前,計算機常用的高級語言有:BASIC語言、FORTRAN語言、COBOL語言、PASCAL語言、C語言、PROLOG語言、而當前流行的,面向對象的程序設計語言有C++和用於網絡環境的程序設計語言Java等。

12.B。【解析】假設地址總線有n條,內存的尋址範圍是2n。

13.B。【解析】廣域網是指遠距離的計算機互聯網絡,分佈範圍可達幾千千米乃至上萬千米甚至跨越國界、州界、遍及全球範圍。局域網是指一個局部區域中的、近距離的計算機互聯網絡,通常採用有線方式連接,分佈範圍從幾百米到幾千米。例如,一座大樓內或相鄰的幾座樓之間的互聯網絡。一個單位、學校內部的網絡多爲局域網。

14.A。【解析】一般人們將加密前的文件稱爲明文,而加密後的文件稱爲密文,因此加密的目的就是將明文變爲密文。而反過來將密文變爲明文的過程則稱爲解密。

15.A。【解析】每臺直接連接到Internet上的計算機、路由器都必須有唯一的IP地址。IP地址是Internet賴以工作的基礎。Internet中的計算機與路由器的IP地址採用分層結構,它是由網絡地址與主機地址兩部分組成。對於C類地址,其網絡地址空間長度爲21位,主機地址空間長度爲8位,C類I P地址範圍從:~。主機名與它的IP地址一一對應,因此在Internet上訪問一臺主機既可以使用它的主機名,也可以使用它的I P地址。

16.D。【解析】多線程是Java程序的併發機制,它能同步共享數據、處理不同的事件。

17.A。【解析】爲了充分利用資源,Java有一個系統級的線程,用來對內存的使用進行跟蹤,它可以在系統空閒時對不用的內存空間進行回收,從而使程序員從繁忙的內存管理中解放出來。

18.A。【解析】Java 2平臺包括:J2ME平臺、J2SE平臺和J2EE平臺。其中:J2ME是爲嵌入式和移動設備提供的Java平臺;J2SE是面向企業級應用與服務的綜合性標準開發平臺;J2EE是面向大型企業級用容器管理專用構件的應用平臺。而JDK 5.0是一個Java開發軟件包。

19.A。【解析】在JDK中:是文檔生成器,將Java源代碼和包以MML格式生成AP文檔;是Java解釋器;是Java反彙編器;是Java剖析工具,提供解釋器剖析信息。

20.C。【解析]JPanel是Swing的中間容器;JTable是Swing中可編輯信息的構件;JFrame是Swing的頂層容器。

21.B。【解析】本題考查的是Java的基本數據類型及其運算。程序開始生成了一個字符型變量a和3個整型變量i、j、aa。而整型變量aa的初始值是a+i,其中a是一個字符

型變量。如何進行加法運算呢?Java語言規定,char型數據可以自動轉換成int類型,轉換的結果就是該字符的ASCIl碼值。因此,整型變量aa的初始值爲字符”h”的ASCIl碼值加上l00。如果記住h的ASCIl碼值是104,則直接就確定aa的初始值是204,選項B爲正確答案。如果記不得h的ASCIl碼,題目中則給出提示。題目中說”輸出結果的第二行爲bb=a”,也就是字符bb的值爲字符a,bb的生成語句是char bb=(char)j,是把整型變量j的值強制轉換爲字符型。同樣,把ASCIl碼值爲j(97)所對應的'字符賦值給bb。顯然,字符a的ASCIl碼值爲97,字符b的ASCIl碼值爲98,依次類推,字符h的ASCIl碼爲l04。因此,本題的正確答案是B。

22.C。【解析】本題考查的是Java語言中運算符的特殊用法。相等比較運算符"= =",不僅可用於基本類型的數據之間的比較,還可以用於複合類型數據之間的比較。但是,對於複合類型數據的"= ="運算,其比較的目標是兩個操作數是否是同一個對象。如果需要比較兩個對象的值是否相同,則可以調用equals()方法。題目中函數equalsMethodl()的代碼非常簡單,首先生成兩個字符串對象sl和s2,然後輸出表達式"sl= =s2"的結果。根據上面介紹的相等比較運算符的用法,字符串對象sl和s2是複合類型數據,因此表達式"sl= =s2"比較的是sl和s2是否同一個對象。顯然,sl和s2雖然具有相同的值,即"how are you",但它們是兩個不同的對象。因此,本題的正確答案是C。

23.D。【解析】本題考查的是條件分支語句if-else。if-else根據判定條件的真假來執行兩種操作中的一種。當條件爲真時,執行if語句後面的代碼塊;當條件爲假時,執行else後面的代碼塊。題目中的代碼段是一個if-else的嵌套語句,根據if-else語句的執行過程來進行分析。當x的值爲0時,布爾表達式"x= =0"的結果爲真,就輸出”冠軍”;當x的值不爲0時,則執行else語句中的內容。else語句中的代碼又是一個if-else語句,還是和上面一樣進行分析。當X的值不等於0且大於-3時,布爾表達式”x>-3”的結果爲真,輸出"亞軍";當x的值不等於0且不大幹-3,也就是X的值不等於0同時x的值小於等於-3時,則輸出"季軍"。經過上述分析可知,要想輸出"季軍",x所滿足的條件爲x!=O&x<=-3,但是當x<=-3時,x的值一定不會爲0。所以,X所滿足的條件可以簡寫爲x<=-3。因此,本題的正確答案爲D。

24.C。【解析】本題考查的是構造方法的使用。Java語言中,構造方法是一種特殊的方法,是爲對象初始化操作編寫的方法,用它來定義對象的初始狀態。Java中的每個類都有構造方法,它也是由方法名、參數和方法體組成的。構造方法有如下特點:

·構造方法的名字必須與類名相同。

·構造方法不返回任何數據,但不用void來聲明。

·用戶不能直接調用構造方法,必須通過關鍵字new自動調用。

·構造方法可由用戶在類中定義,默認時由Java語言自動生成。但它是個空方法,變量被賦予該數據類型的默認值。

·在構造方法實現中,可以進行方法重載,即定義多個構造方法。重載構造方法的目的是使類具有不同的初始值,爲類對象的初始化提供方便。根據上述構造方法的特點可知,本題選項C的說法是錯誤的。