- 相關推薦
全國計算機二級考試Java模擬試題(一)答案及解析
一、選擇題
1.D!窘馕觥克惴ǖ目臻g復雜度,是指執行這個算法所需的存儲空間。算法所占用的存儲空間包括算法程序所占用的空間、輸入的初始數據所占用的存儲空間及算法執行過程中所需要的額外空間。
2.C。【解析】數據結構是相互之間存在一種或多種特定關系的數據元素的集合。”關系”描述的是數據元素之間的邏輯關系,因此又稱數據的邏輯結構。數據的存儲結構是指數據結構(數據的邏輯結構)在計算機中的表示,又稱物理結構。數據的存儲結構有順序存儲結構和鏈式存儲結構兩種。不同存儲結構的數據處理效率不同。由于鏈表采用鏈式存儲結構,元素的物理順序并不連續,對于插入和刪除無需移動元素,很方便,當查找元素時就需要逐個元素查找,因此查找的時間相對更長。
3.B!窘馕觥慷鏄涞谋闅v有3種:前序、中序和后序。后序遍歷首先遍歷左子樹或左子結點,然后遍歷右子樹或右子結點,最后訪問根結點;中序遍歷首先遍歷左子樹或左子結點,然后訪問根結點,最后遍歷右子樹或右子結點;后序遍歷首先訪問根結點,然后遍歷左子樹或左子結點,最后遍歷右子樹或右子結點。本題根據前序遍歷和中序遍歷的
結果可以得出二叉樹的結構,然后再對其進行后序遍歷,因此答案為選項B。
4.A!窘馕觥慷址ú檎抑贿m用于順序存儲的有序線性表,對于順序存儲的非有序線性表和線性鏈表,都只能采用順序查找。
5.B!窘馕觥砍绦虻娜N基本控制結構包括:順序、選擇和重復(循環),這三種結構就足以表達出各種其他形式的結構。
6.C。【解析】在模塊化程序設計中,模塊之間的聯系可以通過程序的控制結構來實現,在自頂向下、逐步細化的設計過程中,首先要考慮全局目標,而不是細節。在程序設計中模塊化和結構化可以同時使用,一個模塊的內部結構也要符合結構化設計原則。
7.B!窘馕觥吭O計軟件結構,是在軟件概要設計階段進行的,而概要設計屬于軟件開發期。
8.B。【解析】在數據庫系統中,需要對數據進行集中、統一的管理,以達到被多個應用程序共享的目標。
9.D。【解析】物理設計階段主要解決選擇文件存儲結構和確定文件存取的方法的問題,包括:選擇存儲結構、確定存取方法、選擇存取路徑、確定數據的存放位置。
10.D!窘馕觥课募到y所管理的數據文件基本上是分散、相互獨立的。因此相對于數據庫系統,以此為基礎的數據處理存在3個缺點:數據冗余大、數據的不一致性、程序與數據的相互依賴(簡稱為數據依賴)。
11.A!窘馕觥糠謮K查找是將表分成若干塊,分塊的原則是數據元素的關鍵字在塊與塊之間是有序的,而塊內元素的關鍵字是無序的。分塊法可以適應動態變化的要求。其他三種是在順序存儲的一組記錄內進行查找的。
12.B!窘馕觥宽樞蚪Y構邏輯上相鄰的結點物理上也是相鄰的。因此,其存儲密度大,存儲空間利用率高,但插入、刪除運算操作不方便,需移動大量的結點。
13.C!窘馕觥恐苯硬迦肱判虻幕舅惴ㄊ牵寒敳迦氲趇(i>一1)個對象時,前面的V[o],V[1],…,V[i一1]已經排好序,這時,用V[i]的關鍵碼與V[i一1],[i一2]…的關鍵碼順序進行比較,找到插入位置即將vEi]插入,原來位置上的對象則向后移。由此可知,直接插入排序法的關鍵碼比較次數與對象的初始排列有關。在本題中,序列已經排好序,所以其i的取值達到了最大,也就是序列中元素的個數,其實根本無需比較和交換,所以這種方法是最佳的。
14.B!窘馕觥客耆鏄渲谐钕旅嬉粚油,各層都被結點充滿了,每一層結點個數恰是上一層結點個數的2倍。因此,從一個結點的編號就可推知它的雙親及左、右子樹結點的編號。當i≤n/2時,編號為i的結點的左子樹的編號是2i,否則結點i沒有左子樹。當i≤(n-1)/2時,編號為i的結點的右子樹的編號是2i+1,否則結點i沒有右子樹。當i≠1時,編號為i的結點的雙親是結點i/2。
15.C!窘馕觥科鋷嗤獠柯窂介L度為:2×16+2×21+2×30+3×10+3×12=200。
16.B。【解析】本題考查JDK實用工具的使用。選項A錯誤,java.exe是Java語言解釋器,直接從類文件執行Java應用程序字節代碼,可接受class文件并啟動Java虛擬機執 行;選項B正確,javac.exe是Java語言編譯器,將Java源代碼轉換成字節碼;選項C錯誤,javadoc.exe是根據Java源代碼及說明語句生成HTML,文檔;選項D錯誤,javap.exe是反匯編器,顯示編譯類文件中的可訪問功能和數據,同時顯示字節代碼含義。
17.D。【解析】本題考查Java語言的基本特點。選項A正確,Java最大的特點之一是跨平臺、面向對象;選項B正確,解釋同A;選項C正確,多線程是Java的一個主要特性,它使可執行程序具有同時保持幾個線程執行的能力;選項D錯誤,Java不支持宏定義。
18.B!窘馕觥縅ava是一個完全面向對象的語言,利用類把對象的屬性和方法封裝在一起,只對外界提供有限的接口。
19.B。【解析】本題考查File類的基本知識。File類是通過文件名列表來描述一個文件對象的屬性,通過File類提供的方法,可以獲得文件的名稱、長度、所有路徑等信息,還可以改變文件的名稱、刪除文件等。
20.D!窘馕觥縅ava語言的標識符是以字母、下畫線和符號$為首字符的字符串,首字符后面可以跟字母、下畫線、$和數字,且標識符是區分大小寫的,標識符的字符數沒有限制。A選項中含有非法符號”/”,故是錯誤的:B選項是以符號”+”開始的字符串也不符合規則;同理,C選項也是錯誤的。
21.D!窘馕觥吭贘ava中,常量null、false、true都是小寫的。所以A、B和C選項中的字符串都不是Java的保留字。
22.B。【解析】Java語言中八進制整數為整型常量中的一種,以0開始,后加數字0~7組成。故只有B選項0144符合要求。
23.B!窘馕觥坑捎5和2都是int型,所以語句System.out.println(5/2)的輸出為2。由于操作數3.0為double型(Java語言中浮點數的默認值為double型),所以結果為double型,即1.0。
24.D。【解析】Java語言中,char類型被封裝在java.lang.Character中。
25.A!窘馕觥勘绢}考查對位運算符和邏輯運算符的理解。位運算符”&”和”|¨用于按位將兩個數進行與和或的操作,兩個操作數可以是整型、字節型、長整型和短整型,但不能是浮點型數據。邏輯運算符&&只能對兩個布爾型的數據進行運算,返回的結果也是布爾型的。
26.D!窘馕觥勘绢}考查內部類的概念。在一個類的內部嵌套定義的類稱為內部類,它的類名在定義它的類或程序段中或在表達式內部可以匿名使用,外部使用它時必須給出類的全名,所以選項D說法正確;內部類的類名不允許與它包含的類名相同,選項A說法錯誤;內部類可以使用它所在類的靜態成員變量和實例成員變量,也可以使用它所在類的方法中的局部變量,選項B說法錯誤;內部類不僅可以用abstract修飾定義為抽象類,也可用private或protected定義,選項C說法錯誤。同時還要注意,內部類可作為其他類的成員,而且可訪問它所在類的成員,除static內部類外,不能在類中聲明static成員。
27.D!窘馕觥勘绢}考查字符串數組變量的聲明。選項A和選項B的效果是一樣的,都是用來定義一個字符串數組,但沒有指明數組個數,不滿足題目要求;選項C是一個二維的字符數組,在C語言中,一個二維的字符數組就可以表示一個一維的字符串數組,而在Java中,字符char是基本類型,字符串String則是以對象的形式來表示的;選項D正確,它定義了一個含有l0個元素的字符串數組,如果沒有給字符串數組賦值,則默認為null。
28.C!窘馕觥勘绢}考查在Java中接口的實現。接口是一種只含有抽象方法或變量的特殊的抽象類。在類的聲明中用implements子句來表示一個類使用某個接口。選項A在方法內沒有參數值;選項B只是定義了一個類,并沒有實現與A的接口;選項C中使用關鍵字implements實現了該接口,這里接口中的方法并沒有使用abstract修飾,所以不是抽象的;選項D中extends是用來繼承父類的,而A并不是一個類,不能用extends.
29.D!窘馕觥勘绢}考查繼承和構造函數的用法。首先要明確對一個類的繼承是指在父類的基礎上構建了一個子類,子類繼承了父類的方法和狀態。題目所給程序段創建的是Extension類的實例,在運行時,從main()函數進入程序,所有調用add()方法的過程將始終和Extension類的add()方法動態綁定。初始值:i=0;創建實例newExtension();先調用父類的默認構造函數Base(),并在父類的默認構造函數中執行add(1),i=O+1×2,所以i=2,再調用子類的默認構造函數Extension(),子類的默認構造函數中執行add
(2),i-2+2×2,所以i=6;執行add(8);i=6+8×2,因此,最終i=22,正確答案為選項D。
30.A。【解析】本題考查事件探聽器的概念。每類事件都有對應的事件探聽器,探聽器是接口,根據動作來定義方法。AWT的構件類中提供注冊和注銷探聽器的方法。注冊探聽器:public void add(listener);注銷探聽器:public void remove(listener)。由此可見,選項A正確。
31.B!窘馕觥勘绢}考查Java語言中字節類型的概念。在Java語言中,byte是字節類型,用1字節表示;boolean是布爾類型,用true和false表示,它們的表示方法并不一樣,
也不提供它們之間的轉換,選項A錯誤。Java內部用整數來表示char,通?梢栽诜椒ㄕ{用和其他語句中互換使用char和int,選項B正確。char用2字節表示,byte字節類型
用1字節表示,Java內部也不允許互換使用它們,選項C錯誤。String在Java語言中是一個類,它提供對字符串的一系列操作,而char是Java語言中的一個基本類型,它不是一個類,兩者有本質的區別,故而它們是不能互換使用的,選項D錯誤。需要注意的是,在Java語言中提供的類都是以大寫字母開頭,基本類型都用小寫字母表示。
32.D!窘馕觥勘绢}考查Applet中HTML標記方法。 URLgetDocumentBase()返回包含Applet的HTML文件的 URL,而不是返回Applet主類的URL,選項A錯誤。 URLgetC0deBase()返回Applet主類的URL,而環是返回 包含Applet的HTML文件的URL,選項B錯誤。String
getParameter(stringname)返回定義在HTML文件的指定參數,如果指定參數在HTML中無說明,該方法將返回"null",而不是"0",因此選項C錯誤。
33.B。【解析】本題考查Java小程序(Applet)安全限制的概念。因為Java小程序運行在Web用戶的系統上,所以對小程序所能完成的工作有一些嚴格的限制。它們不能讀/寫用戶的文件系統,選項A說法錯誤。它們不能與提供包含小程序的網頁的站點之外的Internet站點聯系,選項B說法正確。它們不能在閱讀者的系統上運行任何程序,選項C說法錯誤。它們不能加載存儲在用戶系統上的程序,如可執行程序和共享庫。所有這些規則適用于運行在瀏覽器下的Java小程序,選項D說法錯誤。
34.D!窘馕觥勘绢}考查resume()方法的使用。在Thread的API文檔中的說明是該方法恢復被掛起(suspende())的線程。該方法首先調用該線程的無參的checkAccess()方法,這可能在當前線程上拋出SecurityExeeption異常,如果該線程是活著的(alive)但被掛起(suspend()),它被恢復并繼續它的執行進程。
35.C!窘馕觥勘绢}考查對Applet必須要重載的幾個方法的理解。選項A錯誤,start()方法使得程序從初始態進入運行態,當瀏覽器從圖標狀態恢復為窗口時,或者當用戶離開包含Applet的主頁后又再返回時,系統都會自動再執行一遍start()方法。選項B錯誤,stop()方法是和start()方法相對應的,當瀏覽器變成圖標或者是用戶離開Applet所在頁面時,瀏覽器都會調用stop()方法,該方法也是可以被多次調用的。選項C正確,當創建JavaApplet且第一次使用支持Java的瀏覽器載入該Applet時,就會執行init()方法,通常在這方法中執行一次性的初始化操作。選項D錯誤,paint()方法是畫圖時必須要重載的方法。
36.C!窘馕觥勘绢}考查Java中對象加鎖的概念。Java是多線程的語言,多個線程可以”同時”訪問同一數據區,而在處理某些數據時不希望其他的線程修改那些數據的值或者某些操作是不可打斷的,要做到這個,可以使用synchronized關鍵字聲明這一點。
37.C。【解析】本題考查考生閱讀Java程序的能力。當使用h=System.in.read()語句從鍵盤讀入大寫字母C賦給ch,此時ch值為67,也就是字母C的ASCIl值。語句(int)
ch_A+(int)ch_Z-ch結果為88,ASCIl碼中的88相當于字母X,所以輸出為X,選項C正確。
38.A!窘馕觥勘绢}考查考生對字符數組的理解。首先可以通過字符數組來生成一個字符串對象:String(char[]value)和String(char[]value,int startlndex,int numChars).
其中,startlnde峭定字符串在數組中的起始下標,num-Chars表示字符個數。然后再測試字符串是否相等,可調用equals()方法,兩個字符串相等則返回true,否則返回false。
題目中sl和s2都是"test",所以最后返回是true,選項A正確。
39.C!窘馕觥勘绢}考查J2SDK的RMl命令。rmiregistry命令是在當前主機的指定端口上啟動遠程對象注冊服務程序;serialver命令是返回serialVersionUID的值;rmic命令為遠程對象生成stub和skeleton;rmid命令可以激活系統守候進程,以便能夠在Java虛擬機上注冊和激活對象。
40.B。【解析】本題考查Java程序與數據庫的連接。JDBC(Java Data Base Connectivity)是Java程序與數據庫連接的一種機制。在Java虛擬機中有個特殊模塊JDBC Driver Manager,既負責管理針對各種類型數據庫軟件的JDBC驅動程序,也負責和用戶應用程序交互。
二、基本操作題
第1處:i++
第2處:continue
第3處:sum++
【解析】第1處是為往后遍歷做自加;第2處是結束本次循環;第3處是如果符合不及格這個條件,則sum做累加統計。
三、簡單應用題
第1處:implements ActionListener,MenuListener
第2處:setMnemonic
【解析】第1處是實現了ActionListener接口,MenuListener接口;第2處是設置Help的快捷鍵為。
四、綜合應用題
第1處:addMouseListener(new MouseEventListener())
第2處:g.setcolor(colorValues[chcolor.getselectedIn-
dex()])
第3處:class MouseEventListener extends MouseAda-
pter
【解析】第1處是注冊鼠標探聽器,主要是單擊動作;第2處是設置Graphics類對象g的顏色通過將從chColor中選中的字符串轉換成colorValues類型來實現;第3處定義一個MouseEventListener類來繼承MouseAdapter鼠標事件適配器。
【全國計算機二級考試Java模擬試題一答案及解析】相關文章:
2015年計算機二級考試JAVA模擬試題庫(一)答案及解析06-23
計算機二級考試JAVA模擬試題10-12
計算機二級JAVA考試精選模擬試題08-12
全國計算機等級考試一級模擬試題及答案解析07-01
2015年計算機二級考試JAVA模擬試題庫(二)答案及解析10-24
計算機二級考試Java試題及答案10-24
計算機二級考試《Java》試題及答案09-04
全國計算機二級考試java測試題與答案09-20