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