數(shù)據(jù)結(jié)構(gòu)測(cè)試題及答案解析_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)測(cè)試題及答案解析_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)測(cè)試題及答案解析_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)測(cè)試題及答案解析_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)測(cè)試題及答案解析_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java數(shù)據(jù)結(jié)構(gòu)試題及解析1 下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是_A_。 A、順序存儲(chǔ)的有序線性表 B、線性鏈表 C、二叉鏈表 D、有序線性鏈表解析:二分法查找只適用于順序存儲(chǔ)的有序表。在此所說(shuō)的有序表是指線性表中的元素按值非遞減排列(即從小到大,但允許相鄰元素值相等)。2 在軟件設(shè)計(jì)中,不屬于過(guò)程設(shè)計(jì)工具的是_D_。A、PDL(過(guò)程設(shè)計(jì)語(yǔ)言) B、PAD圖 C、N-S圖 D、DFD圖解析:軟件設(shè)計(jì)工具包括:程序流程圖、N-S、PAD、HIPO,判定表,PDL(偽碼)。而DFD(數(shù)據(jù)流圖)屬于結(jié)構(gòu)化分析工具。3 在switch(expression)語(yǔ)句中,expression的數(shù)據(jù)類型不

2、能是_A_。A、double B、char C、byte D、short解析:表達(dá)式expression只能返回這個(gè)幾種類型的值:int、byte、short和char。多分支語(yǔ)句把表達(dá)式返回的值依次與每個(gè)case子句中的值相比較,如果遇到匹配的值,則執(zhí)行該case子句后的語(yǔ)句序列。4 下列敘述中,錯(cuò)誤的是_D_。A、父類不能替代子類 B、子類能夠替代父類 C、子類繼承父類 D、父類包含子類5 通過(guò)繼承實(shí)現(xiàn)代碼復(fù)用:Java中所有的類都是通過(guò)直接或間接地繼承java.lang.Object類得到的。繼承而得到的類稱為子類,被繼承的類稱為父類。子類不能繼承父類中訪問(wèn)權(quán)限為private的成員變量

3、和方法,子類可以重寫(xiě)父類的方法,及命名與父類同名的成員變量。子類通過(guò)隱藏父類的成員變量和重寫(xiě)父類的方法,把父類的狀態(tài)和行為改變?yōu)樽陨淼臓顟B(tài)和行為。注意:子類中重寫(xiě)的方法和父類中被重寫(xiě)的方法要具有相同的名字,相同的參數(shù)表和相同的返回類型,只是函數(shù)體不同。由于子類繼承了父類所有的屬性(私有的除外),所以子類對(duì)象可以作為父類對(duì)象使用。程序中凡是使用父類對(duì)象的地方,都可以用子類對(duì)象來(lái)代替。一個(gè)對(duì)象可以通過(guò)引用子類的實(shí)例來(lái)調(diào)用子類的方法。java運(yùn)行時(shí)系統(tǒng)根據(jù)調(diào)用該方法的實(shí)例,來(lái)決定調(diào)用哪個(gè)方法。對(duì)子類的一個(gè)實(shí)例,如果子類重寫(xiě)了父類的方法,則運(yùn)行時(shí)系統(tǒng)調(diào)用子類的方法;如果子類繼承了父類的方法(未重寫(xiě)),

4、則運(yùn)行時(shí)系統(tǒng)調(diào)用父類的方法。6 自定義表格類中的model部分應(yīng)實(shí)現(xiàn)的接口是_A_。A、AbstractTableModel B、JTable C、TableModel D、TableModelable7 下列代碼中,將引起編譯錯(cuò)誤的行是_B_。1)public class Exercise2) public static void main(String args)3) float f=0.0;4) f+=1.0;5) 6) A、第2行 B、第3行 C、第4行 D、第6行解析:float定義變量賦值時(shí),需要在數(shù)值后面加f以標(biāo)識(shí)它為浮點(diǎn)型,讓系統(tǒng)知道該給它精確到多少位。8 下列關(guān)于Java多線

5、程并發(fā)控制機(jī)制的敘述中,錯(cuò)誤的是_B_。A、Java中對(duì)共享數(shù)據(jù)操作的并發(fā)控制是采用加鎖技術(shù)B、線程之間的交互,提倡采用suspend()/resume()方法C、共享數(shù)據(jù)的訪問(wèn)權(quán)限都必須定義為privateD、Java中沒(méi)有提供檢測(cè)與避免死鎖的專門機(jī)制,但應(yīng)用程序員可以采用某些策略防止死鎖的發(fā)生解析: 1)Java中對(duì)共享數(shù)據(jù)操作的并發(fā)控制是采用傳統(tǒng)的封鎖技術(shù)。一個(gè)程序中單獨(dú)的、并發(fā)的線程對(duì)同一個(gè)對(duì)象進(jìn)行訪問(wèn)的代碼段,稱為臨界區(qū)。在Java語(yǔ)言中,臨界區(qū)可以是一個(gè)語(yǔ)句塊或是一個(gè)方法,并且用"synchronized"關(guān)鍵字標(biāo)識(shí)。Java平臺(tái)將每個(gè)由synchronized

6、(Object)語(yǔ)句指定的對(duì)象設(shè)置一個(gè)鎖,稱為對(duì)象鎖。2)共享數(shù)據(jù)的所有訪問(wèn)都必須作為臨界區(qū),使用"synchronized"進(jìn)行加鎖控制。用"synchronized"保護(hù)的數(shù)據(jù)也必須是私有的,使線程不能直接訪問(wèn)這些數(shù)據(jù),必須通過(guò)對(duì)象的方法。3)Java中沒(méi)有檢測(cè)與避免死鎖的專門機(jī)制,因此完全由程序進(jìn)行控制,防止死鎖的發(fā)生。4)有時(shí),某個(gè)線程進(jìn)入"synchronized"塊后,共享數(shù)據(jù)的狀態(tài)并不一定滿足線程的需要,它要等待其他線程將共享數(shù)據(jù)改變?yōu)樗枰臓顟B(tài)后才能繼續(xù)執(zhí)行,但由于此時(shí)它占有了該對(duì)象的鎖,其他線程無(wú)法對(duì)共享數(shù)據(jù)進(jìn)行操

7、作,為此Java引入wait()和notify(),這兩個(gè)方法使java.lang.object類的方法,使實(shí)現(xiàn)線程通信的兩個(gè)方法。9 下列操作中,不屬于Applet安全限制的是_D_。A、加載本 B、讀寫(xiě)本地文件系統(tǒng) C、運(yùn)行本地可執(zhí)行程序 D、與同一個(gè)頁(yè)面中的Applet通信10 在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊)。其中,驅(qū)動(dòng)模塊相當(dāng)于被測(cè)試模塊的主程序,它接收測(cè)試數(shù)據(jù),并傳給被測(cè)試模塊,輸出實(shí)際測(cè)試結(jié)果。承接模塊通常用于代替被測(cè)試模塊調(diào)用的其他模塊,其作用僅做少量的數(shù)據(jù)操作,是一個(gè)模擬子程序,不必將子模塊的所有功能帶入。11 Java語(yǔ)言

8、具有可移植性、高性能、健壯性、安全性和獨(dú)立于體系結(jié)構(gòu)的_跨平臺(tái)_特點(diǎn)。解析:Java語(yǔ)言是一種跨平臺(tái),適合于分布式計(jì)算環(huán)境的面向?qū)ο蟮木幊陶Z(yǔ)言。具體來(lái)說(shuō),它具有如下特性:簡(jiǎn)單性、面向?qū)ο?、分布式、解釋型、可靠、安全、平臺(tái)無(wú)關(guān)、可移植、高性能、多線程、動(dòng)態(tài)性等。12 在運(yùn)行時(shí),由Java解釋器自動(dòng)導(dǎo)入,而不用import語(yǔ)句引入的包是_java.lang_。解析:因?yàn)榘黬ava.lang所包含的類和接口對(duì)所有實(shí)際的Java程序都是必要的,所以,它被自動(dòng)導(dǎo)入所有的程序且它是Java最廣泛使用的包。13 下列程序的功能是創(chuàng)建了一個(gè)顯示5個(gè)"Hello!"的線程并啟動(dòng)運(yùn)行,請(qǐng)將程序

9、補(bǔ)充完整。public class ThreadTest extends Threadpublic static void main(String args)ThreadTest t=new _ThreadTest()_;t.start();public void run()int i=0;while(true)System.out.println("Hello!");if (i+=4) break;解析:ThreadTest繼承java.lang.Thread類,重寫(xiě)了run()方法,實(shí)現(xiàn)了Java中的線程。ThreadTest t定義了空的線程對(duì)象,下面t.start(

10、)啟動(dòng)了這個(gè)線程,因此ThreadTest t=new _;就應(yīng)該是實(shí)例化該線程對(duì)象,所以空格中應(yīng)填ThreadTest()。Swing的頂層容器有:JApplet、JWindow、JDialog和_JFrame_。頂層容器:JFrame、JApplet、JDialog和JWindow共4個(gè)。中間容器:JPanel、JScrollPane、JSplitPane、JToolBar。特殊容器:JInternalFrame、JLayeredPane、JRootPane?;究丶篔Button、JComboBox、JList、JMenu、JSlider、JTextField。不可編輯信息的構(gòu)件:JL

11、abel、JProgressBar、ToolTip、可編輯信息的構(gòu)件:JColorChooser、JFileChooser、JFileChooser、JTable、JTextArea所有的這些構(gòu)件的分類都是按功能來(lái)劃分的。14 下列敘述中正確的是_D_。 A、一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)B、數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)C、一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)不影響數(shù)據(jù)處理的效率D、一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存儲(chǔ)結(jié)構(gòu)影響數(shù)據(jù)處理的效率解析:一般來(lái)說(shuō),一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),常用的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引等存儲(chǔ)結(jié)

12、構(gòu)。而采用不同的存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的。15 Java的圖形用戶界面的最基本的組成部分就是構(gòu)件(Component),構(gòu)件是一個(gè)可以以圖形化的方式顯示在屏幕上并能與用戶交互的對(duì)象,但構(gòu)件不能獨(dú)立地顯示出來(lái),必須將構(gòu)件放在一定的容器中才可以顯示出來(lái)。解析:容器Container是一個(gè)類,因?yàn)槿萜鞅旧硪彩且粋€(gè)構(gòu)件,具有構(gòu)件的所有性質(zhì),因此繼承之Component類。16 下列敘述中,錯(cuò)誤的是_A_。A、File類能夠存儲(chǔ)文件 B、File類能夠讀寫(xiě)文件C、File類能夠建立文件D、File類能夠獲取文件目錄信息解析:文件類File是java.io包中的一個(gè)重要的非流類,它以一種與系統(tǒng)無(wú)

13、關(guān)的方式表示一個(gè)文件對(duì)象的屬性。而目錄在Java中作為一種特殊文件,即文件名的列表,通過(guò)類File所提供的方法,可得到文件或目錄的描述信息(包括名字、路徑、長(zhǎng)度、可讀、可寫(xiě)等),也可以生成新文件、目錄、修改文件和目錄,查詢文件屬性,重命名文件或者刪除文件。17 下列敘述中,正確的是_C_。A、Reader是一個(gè)讀取字符文件的接口 B、Reader是一個(gè)讀取數(shù)據(jù)文件的抽象類C、Reader是一個(gè)讀取字符文件的抽象類 D、Reader是一個(gè)讀取字節(jié)文件的一般類解析:Java中的流分為兩種,一種是字節(jié)流,另一種是字符流,分別由四個(gè)抽象類來(lái)表示(每種流包括輸入和輸出兩種,所以一共四個(gè)):InputSt

14、ream,OutputStream,Reader,Writer。Java中其他多種多樣變化的流均是由它們派生出來(lái)的。在這其中InputStream和OutputStream在早期的Java版本中就已經(jīng)存在了,它們是基于字節(jié)流的,而基于字符流的Reader和Writer是后來(lái)加入作為補(bǔ)充的。在這四個(gè)抽象類中,InputStream和Reader定義了完全相同的接口:int read()int read(char cbuf)int read(char cbuf, int offset, int length)而OutputStream和Writer也是如此:int write(int c)int

15、write(char cbuf)int write(char cbuf, int offset, int length)18 用于輸入壓縮文件格式的ZipInputStream類所屬包是_D_。解析:ZipInputStream該對(duì)象用于從ZIP壓縮文件中創(chuàng)建輸入流對(duì)象。靜態(tài)成員變量:CENATT、CENATX、CENCRC,這些靜態(tài)成員變量用于定義在壓縮過(guò)程中采用的壓縮算法。構(gòu)造方法:ZipInputStream(InputStream in)應(yīng)用輸入流對(duì)象創(chuàng)建從ZIP文件中讀取數(shù)據(jù)的輸入流對(duì)象。-成員方法: int available() 判斷當(dāng)前入口指定的壓縮原始文件中是否還有未讀數(shù)據(jù)。

16、void close() 關(guān)閉ZIP輸入流對(duì)象。void closeEntry() 關(guān)閉被讀取的ZIP入口,并移動(dòng)到下一壓縮原始文件入口。protectedZipEntry createZipEntry(String name) 利用指定的名稱創(chuàng)建ZipEntry對(duì)象實(shí)例。ZipEntry getNextEntry() 將輸入流對(duì)象移動(dòng)到下一入口對(duì)象。int read(byte b, int off, int len) 從當(dāng)前ZipEntry中讀取字節(jié)數(shù)組。long skip(long n) 將輸入流指定的讀取數(shù)據(jù)位置移動(dòng)n個(gè)字節(jié)。在Swing中用輕量級(jí)的構(gòu)件替代了AWT中的重量級(jí)的構(gòu)件,而且

17、Swing的替代構(gòu)件中都包含有一些其他的特性。與AWT構(gòu)件不同,Swing構(gòu)件不能直接添加到頂層容器中,它必須添加到一個(gè)與Swing頂層容器相關(guān)聯(lián)的內(nèi)容面板(contentPane)上。19 查找隨機(jī)文件的記錄時(shí),應(yīng)使用的方法是_C_。A、readInt() B、readBytes(int n) C、seek(long l) D、readDouble()文件操作中經(jīng)常需要的是隨機(jī)訪問(wèn),Java中的RandomAccessFile類提供隨機(jī)訪問(wèn)文件的功能,其中的seek方法實(shí)現(xiàn)了查找隨機(jī)文件記錄的功能,格式如下:void seek( long pos ); /用于移動(dòng)文件指針到指定的位置20 下

18、列關(guān)于棧的描述中錯(cuò)誤的是_B_。 A、棧是先進(jìn)后出的線性表 B、棧只能順序存儲(chǔ) C、棧具有記憶作用D、對(duì)棧的插入與刪除操作中,不需要改變棧底指針21 對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是_D_。A、冒泡排序?yàn)閚/2 B、冒泡排序?yàn)閚 C、快速排序?yàn)閚 D、快速排序?yàn)閚(n-1)22 對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為_(kāi)C_。A、 B、n/2 C、n D、n+123 在進(jìn)行順序查找過(guò)程中,如果線性表中的第一個(gè)元素就是被查找元素,則只需做一次比較就查找成功,查找效率最高;但如果被查找的元素是線性表中的最后一個(gè)元素,或者被查找的元素根

19、本就不在線性表中,則為了查找這個(gè)元素需要與線性表中所有的元素進(jìn)行比較,這是順序查找的最壞情況。所以對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較n次。24 模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。 25 計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件具有以下特點(diǎn):軟件是

20、一種邏輯實(shí)體,而不是物理實(shí)體,具有抽象性;軟件的生產(chǎn)過(guò)程與硬件不同,它沒(méi)有明顯的制作過(guò)程;軟件在運(yùn)行、使用期間不存在磨損、老化問(wèn)題;軟件的開(kāi)發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性,受計(jì)算機(jī)系統(tǒng)的限制,這導(dǎo)致軟件移植的問(wèn)題;軟件復(fù)雜性高,成本昂貴;軟件開(kāi)發(fā)涉及諸多的社會(huì)因素。 26 數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫(kù)技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指_D_。A、數(shù)據(jù)與程序獨(dú)立存放 B、不同的數(shù)據(jù)被存放在不同的文件中C、不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用 D、以上三種說(shuō)法都不對(duì) 27 在讀字符文件Employee.dat時(shí),使用該文件作為參數(shù)的類是_D_。A、BufferedReader B、DataInputSt

21、ream C、DataOutputStream D、FileInputStream10 下列不是InputStream子類的是_C_。A、文件輸入流FileInputStream B、對(duì)象輸入流ObjectInputStreamC、字符輸入流CharInputStream D、壓縮文件輸入流ZipInputStream28 Java中沒(méi)有CharInputStream流。 下列方法中可以用來(lái)創(chuàng)建一個(gè)新線程的是_C_。A、實(shí)現(xiàn)java.lang.Runnable接口并重寫(xiě)start()方法B、實(shí)現(xiàn)java.lang.Runnable接口并重寫(xiě)run()方法C、繼承java.lang.Thread

22、類并重寫(xiě)run()方法D、繼承java.lang.Thread類并重寫(xiě)start()方法29 下列關(guān)于線程優(yōu)先級(jí)的說(shuō)法中,正確的是_C_。A、線程的優(yōu)先級(jí)是不能改變的 B、線程的優(yōu)先級(jí)是在創(chuàng)建線程時(shí)設(shè)置的C、在創(chuàng)建線程后的任何時(shí)候都可以設(shè)置 D、B和C30 下列代碼中,將引起一個(gè)編譯錯(cuò)誤的行是_D_。1)public class Test2) int m,n;3) public Test()4) public Test(int a)m=a;5) public static void main(String args)6) Test t1,t2;7) int j,k;8) j=0;k=0;9)

23、t1=new Test();10) t2=new Test(j,k);11) 12) A、第3行 B、第5行 C、第6行 D、第10行31 閱讀下列代碼后 public class Personint arr=new int10;public static void main(String args)System.out.println(arr1); 正確的說(shuō)法是_A_。A、編譯時(shí)將產(chǎn)生錯(cuò)誤 B、編譯時(shí)正確,運(yùn)行時(shí)將產(chǎn)生錯(cuò)誤 C、輸出為零 D、輸出為空32請(qǐng)閱讀下列程序代碼,然后將程序的執(zhí)行結(jié)果補(bǔ)充完整。程序代碼:class throwsExceptionstatic void Proc(int sel) throws ArithmeticException,ArrayIndexOutOfBoundsExceptionSystem.out.println("In Situation"+sel);if(sel=0)Syste

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論