(考試時間90分鐘,滿分100分)
壹,選擇題(每小題2分,***70分)
下列各題A),B),C),D)四個選項中,只有壹個選項是正確的,請將正確選項塗寫
在答題卡相應位置上,答在試卷上不得分.
(1)數據的存儲結構是指______.
A )存儲在外存中的數據 B)數據所占的存儲空間量
C )數據在計算機中的順序存儲方式 D)數據的邏輯結構在計算機中的表示
答案:D
(2)下列關於棧的描述中錯誤的是______.
A) 棧是先進後出的線性表
B ) 棧只能順序存儲
C ) 棧具有記憶作用
D ) 對棧的插入與刪除操作中,不需要改變棧底指針
答案:B
(3)對於長度為n的線性表,在最壞情況下,下列各排序法所對應的比較次數中正確的是______.
A )冒泡排序為n/2 B)冒泡排序為n
C )快速排序為n D)快速排序為n(n-1)/2
答案:D
(4)對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數為______.
A )log2n B)n/2 C)n D)n+1
答案:C
(5)下列對於線性鏈表的描述中正確的是______.
A ) 存儲空間不壹定是連續,且各元素的存儲順序是任意的
B ) 存儲空間不壹定是連續,且前件元素壹定存儲在後件元素的前面
C ) 存儲空間必須連續,且前件元素壹定存儲在後件元素的前面
D ) 存儲空間必須連續,且各元素的存儲順序是任意的
答案:A
(6)下列對於軟件測試的描述中正確的是______.
A ) 軟件測試的目的是證明程序是否正確
B ) 軟件測試的目的是使程序運行結果正確
C ) 軟件測試的目的是盡可能多地發現程序中的錯誤
D ) 軟件測試的目的是使程序符合結構化原則
答案:C
(7)為了使模塊盡可能獨立,要求______.
A ) 模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量強
B ) 模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C ) 模塊的內聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D ) 模塊的內聚程度要盡量低,且各模塊間的耦合程度要盡量強
答案:B
(8)下列描述中正確的是______.
A )程序就是軟件
B )軟件開發不受計算機系統的限制
C )軟件既是邏輯實體,又是物理實體
D )軟件是程序,數據與相關文檔的集合
答案:D
(9)數據獨立性是數據庫技術的重要特點之壹,所謂數據獨立性是指______.
A )數據與程序獨立存放
B )不同的數據被存放在不同的文件中
C )不同的數據只能被對應的應用程序所使用
D )以上三種說法都不對
答案:D
(10)用樹形結構表示實體之間聯系的模型是______.
A )關系模型 B)網狀模型 C)層次模型 D)以上三個都是
答案:C
(11)在Java中,負責對字節代碼解釋執行的是______.
A)垃圾回收器 B)虛擬機 C)編譯器 D)多線程機制
答案:B
(12)下列敘述中,正確的是
A)Java語言的標識符是區分大小寫的 B)源文件名與public類名可以不相同
C)源文件擴展名為.jar D)源文件中public類的數目不限
答案:A
(13)下列屬於合法的Java標識符是
A)_cat B)5books C)+static D)-3.14159
答案:A
(14)在Java中,表示換行符的轉義字符是
A)\n B)\f C)'n' D)\dd
答案:A
(15)在Java中,由Java編譯器自動導入,而無需在程序中用import導入的包是
A)java.applet B)java.awt C)java.util D)java.lang
答案:D
(16)在Java中,所有類的根類是
A)java.lang.Object B)java.lang.Class
C)java.applet.Applet D)java.awt.Frame
答案:A
(17)在Java中,用Package語句說明壹個包時,該包的層次結構必須是
A)與文件的結構相同 B)與文件目錄的層次相同
C)與文件類型相同 D)與文件大小相同
答案:B
(18)在讀字符文件Employee.dat時,使用該文件作為參數的類是
A)BufferReader B)DataInputStream
C)DataOutoutStream D)FileInputStream
答案:D
(19)下列構造方法的調用方式中,正確的是
A)按照壹般方法調用
B)由用戶直接調用
C)只能通過new自動調用
D)被系統調用
答案:C
(20)類Panel默認的布局管理器是
A)GridLayout B)BorderLayout C)FlowLayout D)CardLayout
答案:C
(21)在Java中,能實現多重繼承效果的方式是
A)內部類 B)適配器
C)接口 D)同步
答案:C
(22)char類型的取值範圍是
A)2-7 ~27 -1 B)0~216-1
C)-215 ~215 -1 D)0~28-1
答案:B
(23)能夠支持javadoc命令的註釋語句是
A)/**...// B)/*...*/ C)// D)/**...*/
答案:D
(24)十進制數16的16進制表示格式是
A)0x10 B)0x16 C)0xA D)16
答案:A
(25)int型public成員變量MAX_LENGTH,該值保持為常數100,則定義這個變量的語句是
A)public int MAX_LENGTH=100 B)final int MAX_LENGTH=100
C)public const int MAX_LENGTH=100 D)public final int MAX_LENGTH=100
答案:D
(26)下列不是InputStream子類的是
A)文件輸入流FileInputStream B)final int MAX_LENGTH=100
C)public const int MAX_LENGTH=100 D)public final int MAX_LENGTH=100
答案:C
(27)下列方法中可以用來創建壹個新線程的是
A)實現java.lang.Runnable接口並重寫start()方法
B)實現java.lang.Runnable接口並重寫run()方法
C)實現java.lang.Thread類並重寫run()方法
D)實現java.lang.Thread類並重寫start()方法
答案:C
(28)下列關於Java Application與Applet的說法中,正確的是
A)都包含main()方法
B)都通過"appletviewer"命令執行
C)都通過"javac"命令編譯
D)都嵌入在HTML文件中執行
答案:C
(29)當啟動Applet程序時,首先調用的方法是
A)stop() B)init() C)start() D)destroy()
答案:B
(30)下列關於線程優先級的說法中,正確的是
A)線程的優先級是不能改變的
B)線程的優先級是在創建線程時設置的
C)在創建線程後的任何時候都可以設置
D)B和C
答案:C
(31)當瀏覽器重新返回Applet所在頁面時,將調用Applet類的方法是
A)start() B)init() C)stop() D)destroy()
答案:A
(32)按照Java的標識符命名規範,下列表示壹個類的標識符正確的是
A)Helloworld B)HelloWorld C)helloworld D)helloWorld
答案:B
(33)下列代碼中,將引起壹個編譯錯誤的行是
1)public class Test{
2) 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) t1=new Test();
10) t2=new Test(j,k);
11) }
12)}
A)第3行 B)第5行 C)第6行 D)第10行
答案:D
(34)下列程序的功能是在監控臺上每隔壹秒鐘顯示壹個字符串"Hello",能夠填寫在程序中下劃線位
置,使程序完整並能正確運行的語句是
public class Test implements Runnable{
public static void main(String args[]){
Test t=new Test();
Thread tt=new Thread(t);
tt.start();
}
public void run(){
for(;;){
try{
;
}catch( e){}
System.put.println("Hello");
}
}
}
A) sleep(1000)
InterruptedException
B) sleep(1000)
InterruptedException
C) Thread.sleep(1000)
RuntimeException
D) Thread.sleep(1000)
InterruptedException
答案:D
(35)閱讀下列代碼後
public class Person{
int arr[]=new int[10];
public static void main(String args[]){
System.out.println(arr[1]);
}
}
正確的說法是
A) 編譯時將產生錯誤 B) 編譯時正確,運行時將產生錯誤
C) 輸出零 D) 輸出空
答案:A
二,填空題(每空2分,***40分)
請將每空的正確答案寫在1至20序號的橫線上,答在試卷上不得分.
(1)某二叉樹中度為2的結點有18個,則該二叉樹中有 1 個葉子結點.
答案:19
(2)在面向對象方法中,類的實例稱為 2 .
答案:對象
(3)診斷和改正程序中錯誤的工作通常稱為 3 .
答案:調試或程序調試或軟件調試或Debug(英文字母大小寫均可)或調試程序或調試軟件
(4)在關系數據庫中,把數據表示成二維表,每壹個二維表稱為 4 .
答案:關系或關系表
(5)問題處理方案的正確而完整的描述稱為 5 .
答案:算法或程序或流程圖
(6)面向對象的語言將客觀世界都看成由各種對象組成,***同特征和行為的對象組成類,類是變量和
6 的集合體.
答案:方法
(7)Java源文件中最多只能有壹個 7 類,其它類的個數不限.
答案:public
(8)在Java中所實現的多維數組,實際上是由壹維數組構成的 8 .
答案:數組的數組
(9)StringBuffer類提供 9 字符串對象的表示.
答案:可變或可編輯
(10)每個Applet程序必須有壹個類是 10 類的子類.
答案:Applet
(11)線程在生命期中要經歷5種狀態,分別是新建狀態,可運行狀態,運行狀態, 11 狀態和
終止狀態.
答案:阻塞
(12)FileInputStream是字節流;BufferedWriter是字符流;ObjectOutputStream是 12 .
答案:對象流或對象輸出流
(13)break語句最常見的用法是在switch語句中,通過break語句退出switch語句,使程序從整個switch
語句後面的 13 開始執行.
答案:第壹條語句
(14)請閱讀下列程序代碼,然後將程序的執行結果補充完整.
public class throwsException {
static void Proc(int sel)
throws ArithmeticException,ArrayIndexOutOfBoundsException{
System.out.println("In Situation"+sel);
if(sel==0){
System.out.println("no Exception caught");
return;
}else if(sel==1){
int iArray[]=new int[4];
iArray[1]=3;
}
}
public static void main(String args[]){
try{
Proc(0);
Proc(1);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Catch"+e);
}finally{
System.out.println("in Proc finally");
}
}
執行結果:
In.Situation()
no Exception caught
14
in Proc finally
答案:In Situation 1
(15)當使用Thread t=new Thread(r)創建壹個線程時,表達式:r instanceof Thread的值為 15 .
答案:false