第 1 頁:模擬試題 |
第 7 頁:參考答案及解析 |
一、選擇題
1.D。解析:線性表可以為空表;第一個元素沒有直接前驅(qū),最后一個元素沒有直接后繼;線性表的定義中,元素的排列并沒有規(guī)定大小順序。
2.B。解析:滿二叉樹指除最后一層外,每一層上所有結(jié)點都有兩個子結(jié)點的二叉樹。完全二叉樹指除最后一層外,每一層上的結(jié)點數(shù)均達到最大值,在最后一層上只缺少右邊的若干葉子結(jié)點的二叉樹。由定義可知,滿二叉樹肯定是完全二叉樹,而完全二叉樹一般不是滿二叉樹。
3.C。解析:對線性表進行順序查找時,最壞情況下,要查找的元素是表的最后一個元素或查找失敗,這兩種情況都需要將這個元素與表中的所有元素進行比較,因此比較次數(shù)為n。
4.D。解析:結(jié)構(gòu)化程序設計的主要原則概括為自頂向下,逐步求精,模塊化。
5.B。解析:需求分析是軟件定義時期的最后一個階段。可以概括為四個方面:需求獲取;需求分析;編寫需求規(guī)格說明書;需求評審。
6.C。解析:軟件測試的目標是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯誤,給出程序可靠性的鑒定。軟件測試有3個重要特征:測試的挑剔性、完全測試的不可能性及測試的經(jīng)濟性。
7.C。解析:模塊的獨立性是評價設計好壞的重要度量標準。衡量軟件的模塊獨立性使用耦合性和內(nèi)聚性兩個定性的度量標準。
8.C。解析:軟件測試是為了盡可能多地發(fā)現(xiàn)程序中的錯誤,尤其是至今尚未發(fā)現(xiàn)的錯誤。
9.D。解析:需求分析常用工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。問題分析圖(PAD)、程序流程圖(PFD)、金式圖(N-S)都是詳細設計的常用工具,不是需求分析的工具。
10.D。解析:模塊化是結(jié)構(gòu)化程序設計的特點。面向?qū)ο笤O計方法使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。他的特點包括:分類性、封裝性、模塊獨立性、繼承和多態(tài)性等。
11.B。解析:數(shù)據(jù)元素是數(shù)據(jù)的基本單位,即數(shù)據(jù)集合中的個體。有些情況下也把數(shù)據(jù)元素稱為結(jié)點、記錄、表目等。一個數(shù)據(jù)元素可由一個或多個數(shù)據(jù)項組成,數(shù)據(jù)項是有獨立含義的數(shù)據(jù)最小單位,其值能唯一確定一個數(shù)據(jù)元素的數(shù)據(jù)項。
12.D。解析:棧的特性為后進先出,而棧S只能容納4個元素。當F進棧時,說明棧中有已有B、C、D、E四個元素,所以F無法進棧。
13.D。解析:在電子郵件程序向郵件服務器中發(fā)送郵件時,使用的是簡單郵件傳輸協(xié)議(SMTP),而在電子郵件程序從郵件服務器中讀取郵件時,可以使用郵局協(xié)議(POP3)。
14.C。解析:直接選擇排序第一遍掃描就可以把最大的關鍵碼找出來(不必等到排序結(jié)束),而其他幾種排序方法都必須等到排序完成才能找到最大關鍵碼。
15.A。解析:二分法查找是一種效率較高的線性表查找方法。要進行二分法查找,則線性表結(jié)點必須是按關鍵碼值排好序的,且線性表以順序方式存儲。
16.A。解析:Java的核心包一共有l(wèi)2個,其中:java.lan9包中封裝了所有編程應用的基本類;java.util包提供實用程序類和集合類,如系統(tǒng)特性定義和使用、日期函數(shù)類、 集合等常用工具;java.applet包為Applet提供執(zhí)行需要的所有類,主要是訪問Applet內(nèi)容的通信類;java.rmi包提供程序遠程方法調(diào)用所需的類。因此,本題的正確答案是A。
17.C。解析:Java程序中使用import關鍵字導入一個包中的類。在一個Java源程序中,可以有0個或多個import語句,但是必須在所有類定義之前引入標準類。因此,本題中選項C的說法是錯誤的。
18.B。解析:javac.exe是Java編譯器,能將源程序代碼編譯成字節(jié)碼,以.class擴展名存入Java工作目錄中。它的命令格式為:javac[選項]文件名。其中[選項]包括以下幾個:-g。輸出文件中加行號以及局部變量信息,為調(diào)試程序時用。-o對類文件進行優(yōu)化編譯。-nowarn 關閉警告信息,只顯示錯誤信息。-verbose 顯示源代碼文件和字節(jié)碼文件的相關信息。-d<目錄> 指定存放生成的類(.class)文件的位置根據(jù)上述介紹可知,在編譯Java程序時,可以通過選項-d來指定生成的.class文件的位置。因此,本題的正確答案是B。
19.D。解析:WindowListener接口包含的方法是:①Window Activated(WindowEvent);②WindowOlpened(WindowEvent);③WindowClosed(WindowEvent);④WindowClosing(WindowEvent);⑤WindowDeactivated(WindowEvent);⑥WindowDeiconified(WindowEvent)⑦windowlconified(WindowEvent)。所以D選項錯誤。
20.A。解析:運行Java的JDK一共包含五個目錄,分別是:bin目錄,該目錄包含Java編譯器、解釋器和許多工具(如服務器工具、IDL、package工具等);lib目錄,該目錄包含Java庫文件;jre目錄,該目錄是Java程序運行環(huán)境的根目錄,它下面包含bin子目錄,包括平臺所用工具和庫的可執(zhí)行文件以及DLL文件;demo目錄,該目錄包含源代碼的程序示例;include目錄,該目錄包含Win32子目錄,都是本地方法的文件。
21.A。解析:Java是新一代編程語言,具有很多特點:簡單易學;利用面向?qū)ο蠹夹g(shù);分布式計算;健壯性(魯棒性);安全性;跨平臺(即體系結(jié)構(gòu)中立);可移植性;解釋執(zhí)行;高性能;多線程;動態(tài)性。因此,本題的正確答案是A。
22.C。解析:本題考查線程的基本控制。Thread類提供的基本線程控制方法包括:sleep()——使比其低的優(yōu)先級線程運行,可以讓一個線程暫停運行一段固定的時間;yield()——使具有與當前線程相同優(yōu)先級的線程有運行的機會;join()——使當前線‘程暫停執(zhí)行,等待調(diào)用該方法的線程結(jié)束后,再恢復執(zhí)行;interrupt()——中斷線程的阻塞狀態(tài),并且線程接收到InterruptException異常。根據(jù)上述介紹可知,只有yield()方法可以使當前同級線程重新獲得運行機會。因此,本題的正確答案是C。
23.C。解析:do while語句和for語句是循環(huán)語句;it語句和switch語句是分支語句。而if語句稱為條件語句, switch語句稱為多分支語句。
24.D。解析:本題考查switch語句的用法。switch語句是多分支語句,即根據(jù)表達式的值來執(zhí)行多個操作中的一個。在switch語句中,”表達式”的返回值類型必須是這幾種類型
之一:int、byte、char、short。本題中,switch的表達式s是一個字符串Strin9類型的值,它不是int、byte、char、short中的任意一個。因此表達式s的類型不對,編譯時出錯。
25.A。解析:FileReader、BufferedReader是字符類輸入流。FileInputStream是字節(jié)輸入流。對象串行化時,需要使用ObjectlnputStream類中提供的方法從對象流中讀取對象。所以,在程序讀入字符文件時,要使用字符流FileReader或BufferedReader。但是FileReader的參數(shù)是讀入的文件,而BufferedReader的參數(shù)是FileReader流的一個對象。因此,本題的正確答案是A。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |