糯米文學吧

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

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

一、選擇題

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

1.D。【解析】數據的存儲結構是指數據結構(數據的邏輯結構)在計算機中的表示,又稱物理結構。數據的存儲結構主要有兩種:順序存儲結構和鏈式存儲結構。

2.D。【解析】冒泡排序法首先將第一個記錄的關鍵字與第二個記錄的關鍵字進行比較,若逆序則交換,然後比較第二個與第三個,以此類推,直至第n-1個與第n個記錄的關鍵字進行比較。在最壞情況下,冒泡排序中,若初始序列為”逆序”序列,需要比較n(n-1)/2次。快速排序是對通過一趟排序將待排記錄分割成獨立的兩部分,其中一部分記錄的關鍵字比另一部分記錄的關鍵字小,然後分別對這兩部分記錄繼續進行排序,最終達到整個記錄有序。最壞情況下比較次數為n(n-1)/2。

3.C。【解析】棧是隻允許在表的一端進行插入和刪除的操作,隊列是允許在表的一端進行插入,另一端進行刪除的操作。

4.C。【解析】二叉樹的中序遍歷是指先訪問左子樹。再訪問樹結點,最後訪問右子樹;當訪問下級左右子樹時,也對照此原則。所以C選項正確。

5.A。【解析】”清晰第一,效率第二”,在考慮到程序的執行效率的同時,一定要保證程序清晰、可讀;對符號名的命名,除了要符合語法要求外,還要具有一定的含義;程序的註釋可以幫助程序員理解程序,不是可有可無的。

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

7.D。【解析】耦合性與內聚性是模塊獨立性的兩個定性標準,一般的程序設計都會盡量做到高內聚、低耦合,有利於提高模塊的獨立性。

8.D。【解析】數據獨立性是數據庫系統的一個最重要的目標之一,它使數據能獨立於應用程序。數據獨立性包括數據的物理獨立性和邏輯獨立性。物理獨立性是指用户的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。即數據在磁盤上怎樣存儲由DBMS管理,用户程序不需要了解,應用程序要處理的只是數據的邏輯結構,這樣當數據的物理存儲改變了,應用程序不用改變。邏輯獨立性是指用户的應用程序與數據庫的邏輯結構是相互獨立的,即當數據的邏輯結構改變時,用户程序也可以不變。

9.C。【解析】軟件工程是指將工程化的思想應用於軟件的開發、應用和維護的過程,包括軟件開發技術和軟件工程管理。

10.A。【解析】關係的並運算是指由結構相同的兩個關係合併,形成一個新的關係,其中包含兩個關係中的所有元組。

11.B。【解析】順序存儲結構的結點只有自身信息域,沒有連接信息的域,因此存儲密度大,存儲空間利用率高。鏈式存儲結構除了自身域還包括指針域,因此比順序存儲結構的存儲密度小,存儲空間利用率低。

12.A。【解析】A[8][5]元素存儲的位置在第9行第6列,所以A[8][5]之前存儲的個數應為8×10+5=85,這些元素佔用的空間為85×2字節=170字節,所以A[8][5]的存儲位置為400+170=570。

13.C。【解析】操作系統是計算機系統中的一個系統軟件,它能有效地組織和管理計算機系統中的各種資源,並且為用户提供良好的界面。沒有任何軟件支持的計算機稱為裸機,而實際呈現在用户面前的計算機系統是經過若干層軟件改造的計算機,而操作系統位於各種軟件的最底層。

14.C。【解析】計算機系統中有限的資源與眾多請求分配資源的進程間存在矛盾。當若干進程需求資源的總數大於系統所能提供的資源數時,進程間就會出現搶佔資源的現象,如果對進程搶佔的資源管理或分配不當就會引起死鎖。

15.B。【解析】進程同步是指進程之間一種直接的協同工作關係,這些進程相互合作,共同完成一項任務。進程間的直接相互作用構成進程的同步。

16.A。【解析】本題考查Java語言的特點。Java語言是面向對象的,將客觀世界看成由各種對象組成的;機器語言是計算機實際處理時使用的語言,把客觀世界都看成由0和1組成;過去的高級語言大多數是面向過程的,比如C語言等,它們是通過數據結構與算法來描述客觀世界;彙編語言屬於低級語言。考生應注意區分各種語言的區別。本題正確答案為選項A。

17.B。【解析】本題考查Java中的佈局管理器。Pane和Applet默認的佈局管理器是FlowLayout,構件在容器中放置規律是從上到下、從左到右進行放置;BorderLayout是Window、Frame和Dialog的默認佈局管理器,在BorderLayout佈局管理器中構件分成5個區域North、South、East、West和Center,每個區域只能放置一個構件。考生應注意區分各個佈局管理器的區別和聯繫,以及各個佈局管理器的特點。

18.B。【解析】本題考查Java語言的虛擬機。Java本身的編譯器用Java語言編寫,運行系統的虛擬機用C語言實現。Java語言的執行模式是半編譯和半解釋型,程序首先由編譯器轉換為標準字節代碼,然後由Java虛擬機去解釋執行,字節代碼實際上可以看作是虛擬機的機器代碼。考生應當理解Java語言的實現機制,這屬於考試重點。正確答案為選項B。

19.B。【解析】本題考查Java的安全性特點。面向網絡、分佈式的Java語言,對非法入侵的防範是非常重要的,Java語言提供充分的安全保障,在運行程序時,有嚴格的訪問權限檢查。對字節代碼執行前要檢查,不允許使用指針,可防止對內存的非法入侵,它是目前安全性最佳的語言。但是Java並不是對程序執行前檢查,而是對字節代碼進行檢查,Java編寫好的程序首先由編譯器轉換為標準字節代碼,然後由Java虛擬機去解釋執行。

20.B。【解析】本題考查考生對Java語言概念的理解。屬於考試重點內容,考生應注意理解這些基本概念。考生應該明確,Java語言中可以有package語句,用來指定源文件存入所指定的包中,只能有0或1個,所以選項A説法錯誤;可以有0或多個以上import語句,但必須在所有類定義之前引入標準類,所以選項B説法正確;源文件中最多隻能有一個public類,其他類的個數不限,所以選項C和選項D説法錯誤。

21.D。【解析】本題考查類的聲明。選項A錯誤,abstract用來聲明抽象類,final用來聲明最終類。這兩個修飾詞不能同時出現在類聲明中;選項B錯誤,缺少class關鍵字;選項C錯誤,類不能聲明為protected和private屬性,且不以”;”結尾,也缺少class關鍵字;選項D正確,聲明瞭一個可以公有繼承的抽象類。

22.C。【解析】本題考查考生對Java語言中的類和接口的理解。包提供了構成Java語言、Java虛擬機核心的類和接口。例如,類object、類String和類Thread等。對任何一個Java程序來説,這些類幾乎都是必不可少的。還包含了許多由Java虛擬機發出的異常,這些異常也是”類”的一種。另外,包還包含一些用於訪問系統資源的類,如ClassLoader等。包具有極其重要的作用,在程序開頭可以不必明文編寫裝載它的代碼。

23.C。【解析】本題考查JDK目錄結構。bin目錄下有編譯器、解釋器和各種工具,如服務器工具、IDLpackage工具和jdb等。jre目錄是Java程序運行環境的根目錄,它下面有bin子目錄,包括平台所用工具和庫的可執行文件和DLL文件;lib子目錄包括java運行環境的代碼庫。lib目錄下都是庫文件。demo目錄下有各種演示例子。include目錄下是Win32子目錄,都是本地方法文件,選項C錯誤。

24.A。【解析】本題是考查對文件輸入、輸出流的理解。通過類File的實例或者一個表示文件名稱的字符串可以生成文件輸入/輸出流,在流對象生成的同時,文件被打開,然後就可以進行文件讀/寫,選項B説法錯誤。對於InputStream和OutputStream來説,它們的實例都是順序訪問流,即只能進行順序的讀/寫,選項C説法錯誤。當從標準輸入流讀取數據時,從鍵盤輸入的數據被緩衝,按鍵時,程序才會得到輸入數據,選項D説法錯誤。

25.D。【解析】本題考查類的聲明。選項A中m沒有被聲明過,不能使用;選項B中雖然b是類Teacher的public成員變量,但在靜態方法中,不能使用類中的非靜態成員;選項C中a是類Person的private成員,在類外不能直接引用;選項D中change(intm)方法是pubtic方法,並且返回一個int型值,可以通過類的實例變量P引用並賦值給一個int型變量。

26.A。【解析】本題考查Java類實現ZIP數據壓縮方式。ZIP壓縮文件結構:一個ZIP文件由多個Entry組成,每個Entry有一個唯一的名稱,Entry的數據項存儲壓縮數據。ZiplnputStream實現了ZIP壓縮文件的讀輸入流,支持壓縮和非壓縮Entry.題目程序中FileInputStreallD_fis=new FilelnputStream("test/")構造了一個文件輸入 流,ZiplnputStream zis=new ZiplnputStream(fis)語句利用文件輸入流fis構造了一個ZIP輸入流,extEntry()語句返回ZIP文件中的下一個Entry,並將輸出流定位在此entry數據項的起始位置.

27.B。【解析】本題考查容器的嵌套。將一個容器Panel1放到容器framel中的方法和在容器上添加部件是一樣的,使用add()方法即可。

28.C。【解析】本題考查Java中的運算符。首先要清楚程序裏面涉及的運算符的含義。"<<"是按位左移運算符,”&”是按位與運算符,"|"是按位或運算符,"^"是按位異或運算符。題目中整型變量n=7相當於二進制中的111,n<<=3語句執行後,n值為lll000。相當於十進制的56,而語句n=n&n+1|n+2^n+3執行後,n值為57,n>>=2語句執行恬,n的值為14,所以選項C正確。

29.A。【解析】本題考查文件操作。seek(long pos)是隨機文件記錄的查找,滿足題意。lengh()方法是求隨機文件字節長度的方法,不符合題意;Java中沒有find()方法;skipBytes(int n)方法是使隨機文件訪問跳過指定字節,不符合題意。

30.B。【解析】本題考查壓縮文件流的概念。當輸入一個ZIP文件時要將ZIP文件作為FilelnputStream構造方法的參數,所以選項B正確。而FilelnputStream對象又作為ZiplnputStream構造方法的參數出現。這裏的ZipInputStream對象在將壓縮文件內的輸入項作為字符文本讀出時即作為InputStreamReader的構造方法參數出現。最後,InputStreamReader對象作為BufferedReader的構造方法的參數,並且使用readLine()方法將壓縮文件輸入項作為文本讀出。