第 1 頁:模擬試題 |
第 7 頁:參考答案及解析 |
一、選擇題
1.D。解析:數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)的邏輯結(jié)構(gòu))在計算機中的表示,又稱物理結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)主要有兩種:順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)。
2.D。解析:冒泡排序法首先將第一個記錄的關(guān)鍵字與第二個記錄的關(guān)鍵字進行比較,若逆序則交換,然后比較第二個與第三個,以此類推,直至第n-1個與第n個記錄的關(guān)鍵字進行比較。在最壞情況下,冒泡排序中,若初始序列為”逆序”序列,需要比較n(n-1)/2次?焖倥判蚴菍νㄟ^一趟排序?qū)⒋庞涗浄指畛瑟毩⒌膬刹糠,其中一部分記錄的關(guān)鍵字比另一部分記錄的關(guān)鍵字小,然后分別對這兩部分記錄繼續(xù)進行排序,最終達(dá)到整個記錄有序。最壞情況下比較次數(shù)為n(n-1)/2。
3.C。解析:棧是只允許在表的一端進行插入和刪除的操作,隊列是允許在表的一端進行插入,另一端進行刪除的操作。
4.C。解析:二叉樹的中序遍歷是指先訪問左子樹。再訪問樹結(jié)點,最后訪問右子樹;當(dāng)訪問下級左右子樹時,也對照此原則。所以C選項正確。
5.A。解析:”清晰第一,效率第二”,在考慮到程序的執(zhí)行效率的同時,一定要保證程序清晰、可讀;對符號名的命名,除了要符合語法要求外,還要具有一定的含義;程序的注釋可以幫助程序員理解程序,不是可有可無的。
6.C。解析:面向?qū)ο蟮某绦蛟O(shè)計是用對象模擬問題領(lǐng)域中的實體,各對象之間相對獨立,相互依賴性小,通過消息來實現(xiàn)對象之間的相互聯(lián)系。
7.D。解析:耦合性與內(nèi)聚性是模塊獨立性的兩個定性標(biāo)準(zhǔn),一般的程序設(shè)計都會盡量做到高內(nèi)聚、低耦合,有利于提高模塊的獨立性。
8.D。解析:數(shù)據(jù)獨立性是數(shù)據(jù)庫系統(tǒng)的一個最重要的目標(biāo)之一,它使數(shù)據(jù)能獨立于應(yīng)用程序。數(shù)據(jù)獨立性包括數(shù)據(jù)的物理獨立性和邏輯獨立性。物理獨立性是指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。即數(shù)據(jù)在磁盤上怎樣存儲由DBMS管理,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。邏輯獨立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的,即當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時,用戶程序也可以不變。
9.C。解析:軟件工程是指將工程化的思想應(yīng)用于軟件的開發(fā)、應(yīng)用和維護的過程,包括軟件開發(fā)技術(shù)和軟件工程管理。
10.A。解析:關(guān)系的并運算是指由結(jié)構(gòu)相同的兩個關(guān)系合并,形成一個新的關(guān)系,其中包含兩個關(guān)系中的所有元組。
11.B。解析:順序存儲結(jié)構(gòu)的結(jié)點只有自身信息域,沒有連接信息的域,因此存儲密度大,存儲空間利用率高。鏈?zhǔn)酱鎯Y(jié)構(gòu)除了自身域還包括指針域,因此比順序存儲結(jié)構(gòu)的存儲密度小,存儲空間利用率低。
12.A。解析:A[8][5]元素存儲的位置在第9行第6列,所以A[8][5]之前存儲的個數(shù)應(yīng)為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)中的各種資源,并且為用戶提供良好的界面。沒有任何軟件支持的計算機稱為裸機,而實際呈現(xiàn)在用戶面前的計算機系統(tǒng)是經(jīng)過若干層軟件改造的計算機,而操作系統(tǒng)位于各種軟件的最底層。
14.C。解析:計算機系統(tǒng)中有限的資源與眾多請求分配資源的進程間存在矛盾。當(dāng)若干進程需求資源的總數(shù)大于系統(tǒng)所能提供的資源數(shù)時,進程間就會出現(xiàn)搶占資源的現(xiàn)象,如果對進程搶占的資源管理或分配不當(dāng)就會引起死鎖。
15.B。解析:進程同步是指進程之間一種直接的協(xié)同工作關(guān)系,這些進程相互合作,共同完成一項任務(wù)。進程間的直接相互作用構(gòu)成進程的同步。
16.A。解析:本題考查Java語言的特點。Java語言是面向?qū)ο蟮,將客觀世界看成由各種對象組成的;機器語言是計算機實際處理時使用的語言,把客觀世界都看成由0和1組成;過去的高級語言大多數(shù)是面向過程的,比如C語言等,它們是通過數(shù)據(jù)結(jié)構(gòu)與算法來描述客觀世界;匯編語言屬于低級語言?忌鷳(yīng)注意區(qū)分各種語言的區(qū)別。本題正確答案為選項A。
17.B。解析:本題考查Java中的布局管理器。Pane和Applet默認(rèn)的布局管理器是FlowLayout,構(gòu)件在容器中放置規(guī)律是從上到下、從左到右進行放置;BorderLayout是Window、Frame和Dialog的默認(rèn)布局管理器,在BorderLayout布局管理器中構(gòu)件分成5個區(qū)域North、South、East、West和Center,每個區(qū)域只能放置一個構(gòu)件?忌鷳(yīng)注意區(qū)分各個布局管理器的區(qū)別和聯(lián)系,以及各個布局管理器的特點。
18.B。解析:本題考查Java語言的虛擬機。Java本身的編譯器用Java語言編寫,運行系統(tǒng)的虛擬機用C語言實現(xiàn)。Java語言的執(zhí)行模式是半編譯和半解釋型,程序首先由編譯器轉(zhuǎn)換為標(biāo)準(zhǔn)字節(jié)代碼,然后由Java虛擬機去解釋執(zhí)行,字節(jié)代碼實際上可以看作是虛擬機的機器代碼?忌鷳(yīng)當(dāng)理解Java語言的實現(xiàn)機制,這屬于考試重點。正確答案為選項B。
19.B。解析:本題考查Java的安全性特點。面向網(wǎng)絡(luò)、分布式的Java語言,對非法入侵的防范是非常重要的,Java語言提供充分的安全保障,在運行程序時,有嚴(yán)格的訪問權(quán)限檢查。對字節(jié)代碼執(zhí)行前要檢查,不允許使用指針,可防止對內(nèi)存的非法入侵,它是目前安全性最佳的語言。但是Java并不是對程序執(zhí)行前檢查,而是對字節(jié)代碼進行檢查,Java編寫好的程序首先由編譯器轉(zhuǎn)換為標(biāo)準(zhǔn)字節(jié)代碼,然后由Java虛擬機去解釋執(zhí)行。
20.B。解析:本題考查考生對Java語言概念的理解。屬于考試重點內(nèi)容,考生應(yīng)注意理解這些基本概念?忌鷳(yīng)該明確,Java語言中可以有package語句,用來指定源文件存入所指定的包中,只能有0或1個,所以選項A說法錯誤;可以有0或多個以上import語句,但必須在所有類定義之前引入標(biāo)準(zhǔn)類,所以選項B說法正確;源文件中最多只能有一個public類,其他類的個數(shù)不限,所以選項C和選項D說法錯誤。
21.D。解析:本題考查類的聲明。選項A錯誤,abstract用來聲明抽象類,final用來聲明最終類。這兩個修飾詞不能同時出現(xiàn)在類聲明中;選項B錯誤,缺少class關(guān)鍵字;選項C錯誤,類不能聲明為protected和private屬性,且不以”;”結(jié)尾,也缺少class關(guān)鍵字;選項D正確,聲明了一個可以公有繼承的抽象類。
22.C。解析:本題考查考生對Java語言中的類和接口的理解。java.lang包提供了構(gòu)成Java語言、Java虛擬機核心的類和接口。例如,類object、類String和類Thread等。對任何一個Java程序來說,這些類幾乎都是必不可少的。java.lang還包含了許多由Java虛擬機發(fā)出的異常,這些異常也是”類”的一種。另外,java.lang包還包含一些用于訪問系統(tǒng)資源的類,如ClassLoader等。java.lang包具有極其重要的作用,在程序開頭可以不必明文編寫裝載它的代碼。
23.C。解析:本題考查JDK目錄結(jié)構(gòu)。bin目錄下有編譯器、解釋器和各種工具,如服務(wù)器工具、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āng)從標(biāo)準(zhǔn)輸入流讀取數(shù)據(jù)時,從鍵盤輸入的數(shù)據(jù)被緩沖,按鍵時,程序才會得到輸入數(shù)據(jù),選項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類實現(xiàn)ZIP數(shù)據(jù)壓縮方式。ZIP壓縮文件結(jié)構(gòu):一個ZIP文件由多個Entry組成,每個Entry有一個唯一的名稱,Entry的數(shù)據(jù)項存儲壓縮數(shù)據(jù)。ZiplnputStream實現(xiàn)了ZIP壓縮文件的讀輸入流,支持壓縮和非壓縮Entry.題目程序中FileInputStreallD_fis=new FilelnputStream("test/file.zip")構(gòu)造了一個文件輸入 流,ZiplnputStream zis=new ZiplnputStream(fis)語句利用文件輸入流fis構(gòu)造了一個ZIP輸入流,zis.getNextEntry()語句返回ZIP文件中的下一個Entry,并將輸出流定位在此entry數(shù)據(jù)項的起始位置.
27.B。解析:本題考查容器的嵌套。將一個容器Panel1放到容器framel中的方法和在容器上添加部件是一樣的,使用add()方法即可。
28.C。解析:本題考查Java中的運算符。首先要清楚程序里面涉及的運算符的含義。"<<"是按位左移運算符,”&”是按位與運算符,"|"是按位或運算符,"^"是按位異或運算符。題目中整型變量n=7相當(dāng)于二進制中的111,n<<=3語句執(zhí)行后,n值為lll000。相當(dāng)于十進制的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。解析:本題考查壓縮文件流的概念。當(dāng)輸入一個ZIP文件時要將ZIP文件作為FilelnputStream構(gòu)造方法的參數(shù),所以選項B正確。而FilelnputStream對象又作為ZiplnputStream構(gòu)造方法的參數(shù)出現(xiàn)。這里的ZipInputStream對象在將壓縮文件內(nèi)的輸入項作為字符文本讀出時即作為InputStreamReader的構(gòu)造方法參數(shù)出現(xiàn)。最后,InputStreamReader對象作為BufferedReader的構(gòu)造方法的參數(shù),并且使用readLine()方法將壓縮文件輸入項作為文本讀出。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |