- 相關推薦
全國計算機二級考試Java模擬試題答案及解析
一、選擇題
1.D。【解析】數據的存儲結構是指數據結構(數據的邏輯結構)在計算機中的表示,又稱物理結構。數據的存儲結構主要有兩種:順序存儲結構和鏈式存儲結構。
2.D!窘馕觥棵芭菖判蚍ㄊ紫葘⒌谝粋記錄的關鍵字與第二個記錄的關鍵字進行比較,若逆序則交換,然后比較第二個與第三個,以此類推,直至第n-1個與第n個記錄的關鍵字進行比較。在最壞情況下,冒泡排序中,若初始序列為”逆序”序列,需要比較n(n-1)/2次。快速排序是對通過一趟排序將待排記錄分割成獨立的兩部分,其中一部分記錄的關鍵字比另一部分記錄的關鍵字小,然后分別對這兩部分記錄繼續(xù)進行排序,最終達到整個記錄有序。最壞情況下比較次數為n(n-1)/2。
3.C!窘馕觥織J侵辉试S在表的一端進行插入和刪除的操作,隊列是允許在表的一端進行插入,另一端進行刪除的操作。
4.C。【解析】二叉樹的中序遍歷是指先訪問左子樹。再訪問樹結點,最后訪問右子樹;當訪問下級左右子樹時,也對照此原則。所以C選項正確。
5.A!窘馕觥俊鼻逦谝,效率第二”,在考慮到程序的執(zhí)行效率的同時,一定要保證程序清晰、可讀;對符號名的命名,除了要符合語法要求外,還要具有一定的含義;程序的注釋可以幫助程序員理解程序,不是可有可無的。
6.C!窘馕觥棵嫦驅ο蟮某绦蛟O計是用對象模擬問題領域中的實體,各對象之間相對獨立,相互依賴性小,通過消息來實現對象之間的相互聯系。
7.D。【解析】耦合性與內聚性是模塊獨立性的兩個定性標準,一般的程序設計都會盡量做到高內聚、低耦合,有利于提高模塊的獨立性。
8.D!窘馕觥繑祿毩⑿允菙祿䦷煜到y(tǒng)的一個最重要的目標之一,它使數據能獨立于應用程序。數據獨立性包括數據的物理獨立性和邏輯獨立性。物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。即數據在磁盤上怎樣存儲由DBMS管理,用戶程序不需要了解,應用程序要處理的只是數據的邏輯結構,這樣當數據的物理存儲改變了,應用程序不用改變。邏輯獨立性是指用戶的應用程序與數據庫的邏輯結構是相互獨立的,即當數據的邏輯結構改變時,用戶程序也可以不變。
9.C。【解析】軟件工程是指將工程化的思想應用于軟件的開發(fā)、應用和維護的過程,包括軟件開發(fā)技術和軟件工程管理。
10.A。【解析】關系的并運算是指由結構相同的兩個關系合并,形成一個新的關系,其中包含兩個關系中的所有元組。
11.B!窘馕觥宽樞虼鎯Y構的結點只有自身信息域,沒有連接信息的域,因此存儲密度大,存儲空間利用率高。鏈式存儲結構除了自身域還包括指針域,因此比順序存儲結構的存儲密度小,存儲空間利用率低。
12.A!窘馕觥緼[8][5]元素存儲的位置在第9行第6列,所以A[8][5]之前存儲的個數應為8×10+5=85,這些元素占用的空間為85×2字節(jié)=170字節(jié),所以A[8][5]的存儲位置為400+170=570。
13.C。【解析】操作系統(tǒng)是計算機系統(tǒng)中的一個系統(tǒng)軟件,它能有效地組織和管理計算機系統(tǒng)中的各種資源,并且為用戶提供良好的界面。沒有任何軟件支持的計算機稱為裸機,而實際呈現在用戶面前的計算機系統(tǒng)是經過若干層軟件改造的計算機,而操作系統(tǒng)位于各種軟件的最底層。
14.C。【解析】計算機系統(tǒng)中有限的資源與眾多請求分配資源的進程間存在矛盾。當若干進程需求資源的總數大于系統(tǒng)所能提供的資源數時,進程間就會出現搶占資源的現象,如果對進程搶占的資源管理或分配不當就會引起死鎖。
15.B。【解析】進程同步是指進程之間一種直接的協同工作關系,這些進程相互合作,共同完成一項任務。進程間的直接相互作用構成進程的同步。
16.A!窘馕觥勘绢}考查Java語言的特點。Java語言是面向對象的,將客觀世界看成由各種對象組成的;機器語言是計算機實際處理時使用的語言,把客觀世界都看成由0和1組成;過去的高級語言大多數是面向過程的,比如C語言等,它們是通過數據結構與算法來描述客觀世界;匯編語言屬于低級語言。考生應注意區(qū)分各種語言的區(qū)別。本題正確答案為選項A。
17.B!窘馕觥勘绢}考查Java中的布局管理器。Pane和Applet默認的布局管理器是FlowLayout,構件在容器中放置規(guī)律是從上到下、從左到右進行放置;BorderLayout是Window、Frame和Dialog的默認布局管理器,在BorderLayout布局管理器中構件分成5個區(qū)域North、South、East、West和Center,每個區(qū)域只能放置一個構件?忌鷳⒁鈪^(qū)分各個布局管理器的區(qū)別和聯系,以及各個布局管理器的特點。
18.B!窘馕觥勘绢}考查Java語言的虛擬機。Java本身的編譯器用Java語言編寫,運行系統(tǒng)的虛擬機用C語言實現。Java語言的執(zhí)行模式是半編譯和半解釋型,程序首先由編譯器轉換為標準字節(jié)代碼,然后由Java虛擬機去解釋執(zhí)行,字節(jié)代碼實際上可以看作是虛擬機的機器代碼。考生應當理解Java語言的實現機制,這屬于考試重點。正確答案為選項B。
19.B!窘馕觥勘绢}考查Java的安全性特點。面向網絡、分布式的Java語言,對非法入侵的防范是非常重要的,Java語言提供充分的安全保障,在運行程序時,有嚴格的訪問權限檢查。對字節(jié)代碼執(zhí)行前要檢查,不允許使用指針,可防止對內存的非法入侵,它是目前安全性最佳的語言。但是Java并不是對程序執(zhí)行前檢查,而是對字節(jié)代碼進行檢查,Java編寫好的程序首先由編譯器轉換為標準字節(jié)代碼,然后由Java虛擬機去解釋執(zhí)行。
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.lang包提供了構成Java語言、Java虛擬機核心的類和接口。例如,類object、類String和類Thread等。對任何一個Java程序來說,這些類幾乎都是必不可少的。java.lang還包含了許多由Java虛擬機發(fā)出的異常,這些異常也是”類”的一種。另外,java.lang包還包含一些用于訪問系統(tǒng)資源的類,如ClassLoader等。java.lang包具有極其重要的作用,在程序開頭可以不必明文編寫裝載它的代碼。
23.C。【解析】本題考查JDK目錄結構。bin目錄下有編譯器、解釋器和各種工具,如服務器工具、IDLpackage工具和jdb等。jre目錄是Java程序運行環(huán)境的根目錄,它下面有bin子目錄,包括平臺所用工具和庫的可執(zhí)行文件和DLL文件;lib子目錄包括java運行環(huán)境的代碼庫。lib目錄下都是庫文件。demo目錄下有各種演示例子。include目錄下是Win32子目錄,都是本地方法文件,選項C錯誤。
24.A!窘馕觥勘绢}是考查對文件輸入、輸出流的理解。通過類File的實例或者一個表示文件名稱的字符串可以生成文件輸入/輸出流,在流對象生成的同時,文件被打開,然后就可以進行文件讀/寫,選項B說法錯誤。對于InputStream和OutputStream來說,它們的實例都是順序訪問流,即只能進行順序的讀/寫,選項C說法錯誤。當從標準輸入流讀取數據時,從鍵盤輸入的數據被緩沖,按鍵時,程序才會得到輸入數據,選項D說法錯誤。
25.D。【解析】本題考查類的聲明。選項A中m沒有被聲明過,不能使用;選項B中雖然b是類Teacher的public成員變量,但在靜態(tài)方法中,不能使用類中的非靜態(tài)成員;選項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/file.zip")構造了一個文件輸入 流,ZiplnputStream zis=new ZiplnputStream(fis)語句利用文件輸入流fis構造了一個ZIP輸入流,zis.getNextEntry()語句返回ZIP文件中的下一個Entry,并將輸出流定位在此entry數據項的起始位置.
27.B。【解析】本題考查容器的嵌套。將一個容器Panel1放到容器framel中的方法和在容器上添加部件是一樣的,使用add()方法即可。
28.C!窘馕觥勘绢}考查Java中的運算符。首先要清楚程序里面涉及的運算符的含義。"<<"是按位左移運算符,”&”是按位與運算符,"|"是按位或運算符,"^"是按位異或運算符。題目中整型變量n=7相當于二進制中的111,n<<=3語句執(zhí)行后,n值為lll000。相當于十進制的56,而語句n=n&n+1|n+2^n+3執(zhí)行后,n值為57,n>>=2語句執(zhí)行恬,n的值為14,所以選項C正確。
29.A!窘馕觥勘绢}考查文件操作。seek(long pos)是隨機文件記錄的查找,滿足題意。lengh()方法是求隨機文件字節(jié)長度的方法,不符合題意;Java中沒有find()方法;skipBytes(int n)方法是使隨機文件訪問跳過指定字節(jié),不符合題意。
30.B!窘馕觥勘绢}考查壓縮文件流的概念。當輸入一個ZIP文件時要將ZIP文件作為FilelnputStream構造方法的參數,所以選項B正確。而FilelnputStream對象又作為ZiplnputStream構造方法的參數出現。這里的ZipInputStream對象在將壓縮文件內的輸入項作為字符文本讀出時即作為InputStreamReader的構造方法參數出現。最后,InputStreamReader對象作為BufferedReader的構造方法的參數,并且使用readLine()方法將壓縮文件輸入項作為文本讀出。
31.C!窘馕觥勘绢}考查考生對Java中InputStream非字符輸入流的掌握。所有的字節(jié)輸入流都是從InputStream繼承的,包括:ByteArraylnputStre8m,以字節(jié)數組作為輸入流FilelnputStream,可對一個磁盤文件設計的數據進行處理;PipedInputStream,實現線程之間通信的一個類;FilterInputStream,過濾器輸入流;SequenceInputStream,將多個輸入流首尾相接;ObjectlnputStream,實現ObjeetInPut接15/。選項D中壓縮文件輸入流ZiplnputStream是InflaterInputStream的子類,而InflaterInputStream是FilterInputStream的子類,只有選項C中字符輸入流CharInputStream類是字符流。本題涉及內容較多,要求對整個輸入輸出流有所了解。
32.C!窘馕觥勘绢}考查考生對創(chuàng)建線程的使用。創(chuàng)建線程有兩種方法:通過實現Runnable接口創(chuàng)建線程和通過繼承Thread類創(chuàng)建線程。通過實現Runnable接口創(chuàng)建線程,當實現Runnable接口的類的對象用來創(chuàng)建線程以后,該線程的啟動將使得對象的run()方法被調用。通過繼承Thread類創(chuàng)建線程,可以通過繼承Thread類,并重寫其中的run()方法定義線程體,然后創(chuàng)建該子類的對象創(chuàng)建線程。線程創(chuàng)建是考試重點內容,請務必掌握。
33.C!窘馕觥勘绢}考查JavaApplication與Applet的區(qū)別。Applet與Application的主要區(qū)別在執(zhí)行方式上,Applieation以main()方法為入口點運行,Applet要在瀏覽器或appletviewer中運行,運行過程比Application更復雜。兩者都是通過”javac”命令編譯,所以只有選項C說法正確.
34.B!窘馕觥勘绢}考查Applet程序的運行方式。在Applet運行時,首先由瀏覽器調用init()方法,所以選項B正確。初始化完成后,將調用start()方法使Applet成為激活狀態(tài)。當Applet被覆蓋時.可用stop()方法停止線程。關閉瀏覽器時調用destroy(),徹底終止Applet,從內存中卸載并釋放該Applet的所有資源。Applet的生命周期及其運行方式是考試重點,應該牢記。
35.C!窘馕觥勘绢}考查線程優(yōu)先級的概念。首先應該了解Java的線程是有優(yōu)先級的,并且可以控制其優(yōu)先級,可以排除選項A;選項B和選項C本身就矛盾,故選項D是錯器的,B和C不能同時選擇。線程的優(yōu)先級在創(chuàng)建線程時可以設置,也可以通過getPriority()方法來獲得線程的優(yōu)先級,通過setPriority()方法來設定線程的優(yōu)先級。線程的優(yōu)先級屬于考試重點內容,應該重點掌握。
36.B!窘馕觥勘绢}考查Java中的數據類型,應該掌握Java中的簡單數據類型,以及相關運算。floatf=0.0這個語句,想要定義一個浮點型變量f,并且初值為0.0,但由于Java認為如果數字后沒有任何字母,則默認為double類型,而double是不能轉換為float的,所以該語句錯誤,如果改 為floatf=0.0f,即可正確運行。
37.A。【解析】本題考查考生對Applet獲取參數的掌握。Applet被下載時,在Applet的init()方法中使用getParameter()方法獲取參數,所以選項A正確。而且要注意getParameter()方法只能在init()方法中。getParameter()方法的入口參數所取參數的名字,必須與標記中的name指示的名字相同,這一點務必注意,返回值是參數的值。
38.C!窘馕觥勘绢}考查線程的生命周期。線程一旦創(chuàng)建,就開始了它的生命周期。線程的聲明周期主要分為:新建狀態(tài)(new),線程創(chuàng)建后處于該狀態(tài);可運行狀態(tài)(Runnable),新建的線程調用start()方法,將使線程的狀態(tài)從New轉換為Runnable,所以選項C正確;運行狀態(tài)(Running),運行狀態(tài)使線程占有CPU并實際運行的狀態(tài);阻塞狀態(tài)(Blocked),導致該狀態(tài)的原因很多,注意區(qū)別;終止狀態(tài)(Dead),線程執(zhí)行結束的狀態(tài),沒有任何方法可改變它的狀態(tài)。
39.B!窘馕觥勘绢}考查多線程的并發(fā)控制機制。Java中對共享數據操作的并發(fā)控制采用傳統(tǒng)的加鎖技術,也就是給對象加鎖,選項A說法正確。線程之間的交互,提倡采用wait()和notify()方法,這兩個方法是java.lang.object類的方法,是實現線程通信的兩個方法,不提倡使用suspend()和resume()方法,它們容易造成死鎖,所以選項B說法錯誤。共享數據的訪問權限都必須定義為private,不能為public或其他,選項C說法正確。Java中沒有提供檢測與避免死鎖的專門機制,因此完全由程序進行控制,但程序員可以采用某些策略防止死鎖的發(fā)生,選項D說法正確。
40.D!窘馕觥勘绢}考查Applet的安全限制。為了保護本地主機,很多瀏覽器對Applet作了安全限制:Applet不能運行任何本地可運行程序;禁止加載本地庫或方法;禁止讀、寫本地計算機的文件系統(tǒng);禁止與提供Applet之外的任何主機建立網絡連接;不能讀取某些系統(tǒng)信息。但Applet是可以與同一個頁面中的Applet進行通信的,所以選項D不屬于Applet安全限制。
二、基本操作題
第1處:year=Integer.parseInt(s)
第2處:catch
第3處:year%4= =0&&year%100 !=0 ||year%400
= =0
【解析】第1處是將String型的s轉換成整型;第2處是捕獲異常的catch子句,用來處理由try所拋出的異常事件;第3處是判斷是否為閏年的條件,即能被4整除且不能被100整除的或能被400整除的就是閏年。
三、簡單應用題
第1處:implements ActionListener
第2處:evt.getSource()
【解析】第1處是實現ActionListener接口,程序中有窗口探聽器的注冊;第2處返回ActionEvent動作事件的最初發(fā)生對象。
四、綜合應用題
第1處:setLayout(new FlowLayout(FlowLayout.LEFT))
第2處:button.addActionListener(this)
一第3處:s=ta.getSelectedText()
【解析】第1處是設置構件的對齊方式為左對齊的且縱橫間隔都是5個像素的布局管理器;第2處是為按鈕注冊探聽器;第3處是在文本域ta中得到選中文本,將其賦給String類型的s。
【全國計算機二級考試Java模擬試題答案及解析】相關文章:
全國計算機二級考試Java模擬試題(二)答案及解析01-26
全國計算機二級考試Java模擬試題(一)答案及解析04-21
全國計算機二級考試Java模擬試題08-19
計算機二級JAVA考試模擬試題06-24