一、選擇題(每小題1分,共40小題,共40分)
1.下列敘述中正確的是( )。
A.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n/Z)
C.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(log2n)
D.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(nlog2n)
2.算法的時(shí)間復(fù)雜度是指( )。
A.算法的執(zhí)行時(shí)間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語句或指令條數(shù)
D.算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
3.軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于系統(tǒng)軟件的是( )。
A.編輯軟件
B.操作系統(tǒng)
C.教務(wù)管理系統(tǒng)
D.瀏覽器
4.軟件(程序)調(diào)試的任務(wù)是( )。
A.診斷和改正程序中的錯(cuò)誤
B.盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
C.發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤
D.確定程序中錯(cuò)誤的性質(zhì)
5.數(shù)據(jù)流程圖(DFD圖)是( )。
A.軟件概要設(shè)計(jì)的工具
B.軟件詳細(xì)設(shè)計(jì)的工具
C.結(jié)構(gòu)化方法的需求分析工具
D.面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?BR> 6.軟件生命周期可分為定義階段,開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于( )。
A.定義階段
B.開發(fā)階段
C.維護(hù)階段
D.上述三個(gè)階段
7.數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是( )。
A.數(shù)據(jù)定義語言
B.數(shù)據(jù)管理語言
C.數(shù)據(jù)操縱語言
D.數(shù)據(jù)控制語言
8.在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是( )。
A.文件
B.數(shù)據(jù)庫
C.字段
D.記錄
9.數(shù)據(jù)庫設(shè)計(jì)中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計(jì)的( )。
A.需求分析階段
B.邏輯設(shè)計(jì)階段
C.概念設(shè)計(jì)階段
D.物理設(shè)計(jì)階段
11.破壞死鎖的4個(gè)必要條件之一就可以預(yù)防死鎖。假如規(guī)定一個(gè)進(jìn)程在請(qǐng)求新資源之前首先釋放已占有的資源,則是破壞了哪個(gè)條件?( )
A.互斥使用
B.部分分配
C.不可剝奪
D.環(huán)路等待
12.下列關(guān)于數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的敘述中,不正確的是( )。
A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器中的實(shí)現(xiàn)
B.數(shù)據(jù)的運(yùn)算是在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)的
C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)即是數(shù)據(jù)在計(jì)算機(jī)內(nèi)的物理結(jié)構(gòu)
D.數(shù)據(jù)運(yùn)算是定義在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)上的
13.對(duì)一組記錄的關(guān)鍵碼(25,38,48,52,63,74)采用二分法查找52時(shí),第( )次會(huì)查找成功。
A.4
B.3
C.2
D.1
14.在一個(gè)單鏈表中,若要?jiǎng)h除P結(jié)點(diǎn)的后續(xù)結(jié)點(diǎn),則執(zhí)行( )。
A.P↑.next:=P↑.next↑.next;
B.P:=P↑.next;P↑.next:=P↑.next↑.next;
C.free(P↑.next);
D.P:=P↑.next↑.next;
15.下列關(guān)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的敘述中,不正確的是( )。
A.結(jié)點(diǎn)除自身信息外還包括指針域,因此存儲(chǔ)密度小于順序存儲(chǔ)結(jié)構(gòu)
B.邏輯上相鄰的結(jié)點(diǎn)物理上不必相鄰
C.可以通過計(jì)算確定第i個(gè)結(jié)點(diǎn)的存儲(chǔ)地址
D.插入、刪除運(yùn)算操作方便,不必移動(dòng)結(jié)點(diǎn)
16.Java中定義常量的保留字是( )。
A.const
B.final
C.finally
D.native
17.下列關(guān)于Java布爾類型的描述中,正確的是( )。
A.一種基本的數(shù)據(jù)類型,它的類型名稱為boolean
B.用int表示類型
C.其值可以賦給int類型的變量
D.有兩個(gè)值,1代表真,0代表假
18.Java中所有類的父類是( )。
A.Father
B.Dang
C.Exception
D.Object
19.下列程序段的輸出結(jié)果是( )。
int data=0 ;
char k=’a’,P=’f ’;
data=P-k:
System.OUt.println(data);
A.0
B.a
C.f
D.5
20.下列數(shù)中為八進(jìn)制的是( )。
A.27
B.0x25
C.026
D.028
21.下列方法中,不屬于Throwable類的方法是( )。
A.printMessage
B.getMessage
C.toString
D.fillStackTrace
22.下列程序的輸出結(jié)果是( )。
public class Test{
public static void main(String[]args){
int[]array=(2,4,6,8,lO);
int size=6;
int result =-1:
try{
for(int i=0;i(size 8L&result= = -1;)
if(array[i]= =20)result=i:
}
catch(ArithmeticException e){
System.out.println("Catch- - -l");
}
catch(ArraylndexOutOfBoundsException e){
System.out.println("Catch- - -2");
}
catch(Exception e){
System.out.println("Catch- - -3");)
}
}
A.Catch- - -1
B.Catch- - -2
C.Catch- - -3
D.以上都不對(duì)
23.下列包中,包含JOptionPane類的是( )。
A.javax.swing
B.java.lang
C.java.util
D.java.applet
24.下列選項(xiàng)中,與成員變量共同構(gòu)成一個(gè)類的是( )。
A.關(guān)鍵字
B.方法
C.運(yùn)算符
D.表達(dá)式
25.下列程序的功能是將一個(gè)整數(shù)數(shù)組寫入二進(jìn)制文件,在程序的下畫線處應(yīng)填入的選項(xiàng)是( )。
import java.io.*;
public class XieShuzu{
public static void main(String[]a){
int[]myArray=(10,20,30,40);
try{
DataOutputStream dos=
new DataOutputStream(new
FileOutput Stream("ints.dat"));
for(int i=0;i dos. (myArray[i]);
dos.close();
System.OUt.println("已經(jīng)將整數(shù)數(shù)組寫入二進(jìn)
制文件:ints.dat");
}catch(IOException ioe)
{System.OUt.println("IO Exeepr_on");)
}
}
A.writeArray B.writeByte
C.writeInt D.writeDouble
26.Java中的抽象類Reader和Writer所處理的流是( )。
A.圖像流
B.對(duì)象流
C.字節(jié)流
D.字符流
27.下列敘述中,錯(cuò)誤的是( )。
A.內(nèi)部類的名稱與定義它的類的名稱可以相同
B.內(nèi)部類可用abstract修飾
C.內(nèi)部類可作為其他類的成員
D.內(nèi)部類可訪問它所在類的成員
28.用于在子類中調(diào)用被重寫父類方法的關(guān)鍵字是( )。
A.this
B.super
C.This
D.Super
29.下列Java語句從指定網(wǎng)址讀取html文件,在下畫線處應(yīng)填上的選項(xiàng)是( )。
Reader in=new——(new URL(urlString).
openStream());
A.Reader
B.DataOutputStream
C.ByteArray InputStream
D.InputStreamReader
30.下列不屬于表達(dá)式語句的是( )。
A.++i;
B.--j;
C.b#a;
D.b*=a;
31.下列為窗口事件的是( )。 ,
A.MouseEvent
B.WindowEvent
C.ActionEvent
D.KeyEvent
32.用鼠標(biāo)點(diǎn)擊菜單項(xiàng)(Menultem)產(chǎn)生的事件是( )。
A.MenuEvent
B.ActionEvent
C.KeyEvent
D.MouseEvent
33.下列不屬于邏輯運(yùn)算符的是( )。
A.!
B.||
C.&&
D.|
34.當(dāng)使用SomeThread t=new SomeThread()創(chuàng)建一個(gè)線程時(shí),下列敘述中正確的是( )。
A.SomeThread類是包含run()方法的任意Java類
B.SomeThread類一定要實(shí)現(xiàn)Runnable接口
C.SomeThread類是Thread類的子類
D.SomeThread類是Thread類的子類并且要實(shí)現(xiàn)Run-
nable接口
35.在程序的下畫線處應(yīng)填入的選項(xiàng)是( )。
public class Test {:
public static void main(String args[]){
Test t=new Test();
Thread tt=new Thread(t);
tt.start();
}
public void run(){
for(int i=0;i<5;i++){
System.out.println("i="+i);
}
}
}
A.implements Runnable
B.extends Thread
C.implements Thread
D.extends Runnable
36.為了支持壓棧線程與彈棧線程之間的交互與同步,
在程序的下畫線處依次填入的語句是( )。
public class IntStack{
private int idx=0;
private int[]data=new int[8];
public void push(int i){
data[idx]=i;
idx++;
… …
}
A.synchronized()
notify()
B.synchronized
this.wait()
C.synchronized
this.notify()
D.Serializable
sleep()
37.如果線程正處于阻塞狀態(tài),不能夠使線程直接進(jìn)入可運(yùn)行狀態(tài)的情況是( )。
A.sleep()方法的時(shí)間到
B.獲得了對(duì)象的鎖
C.線程在調(diào)t.join()方法后,線程t結(jié)果
D.wait()方法結(jié)束
38.當(dāng)一個(gè)Applet被加載,后續(xù)對(duì)Applet生命周期方法的調(diào)用中,可能存在的次序是( )。
A.start(),stop(),destroy()
B.init(),start(),stop(),start(),stop(),destroy()
C.start(),init(),stop(),destroy()
D.init(),start(),destroy()
39.在HTML文件的標(biāo)志中作為可選屬性的是( )。
A.Applet主類的文件名
B.Applet顯示區(qū)域的寬度
C.Applet主類的路徑
D.Applet顯示區(qū)域的高度
40.如果應(yīng)用程序要在Applet上顯示輸出,則必須重寫的方法是( )。
A.Graphics.drawString()
B.repaint()
C.paint()
D.update()
1.下列敘述中正確的是( )。
A.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n/Z)
C.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(log2n)
D.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(nlog2n)
2.算法的時(shí)間復(fù)雜度是指( )。
A.算法的執(zhí)行時(shí)間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語句或指令條數(shù)
D.算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
3.軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于系統(tǒng)軟件的是( )。
A.編輯軟件
B.操作系統(tǒng)
C.教務(wù)管理系統(tǒng)
D.瀏覽器
4.軟件(程序)調(diào)試的任務(wù)是( )。
A.診斷和改正程序中的錯(cuò)誤
B.盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
C.發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤
D.確定程序中錯(cuò)誤的性質(zhì)
5.數(shù)據(jù)流程圖(DFD圖)是( )。
A.軟件概要設(shè)計(jì)的工具
B.軟件詳細(xì)設(shè)計(jì)的工具
C.結(jié)構(gòu)化方法的需求分析工具
D.面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?BR> 6.軟件生命周期可分為定義階段,開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于( )。
A.定義階段
B.開發(fā)階段
C.維護(hù)階段
D.上述三個(gè)階段
7.數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是( )。
A.數(shù)據(jù)定義語言
B.數(shù)據(jù)管理語言
C.數(shù)據(jù)操縱語言
D.數(shù)據(jù)控制語言
8.在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是( )。
A.文件
B.數(shù)據(jù)庫
C.字段
D.記錄
9.數(shù)據(jù)庫設(shè)計(jì)中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計(jì)的( )。
A.需求分析階段
B.邏輯設(shè)計(jì)階段
C.概念設(shè)計(jì)階段
D.物理設(shè)計(jì)階段
11.破壞死鎖的4個(gè)必要條件之一就可以預(yù)防死鎖。假如規(guī)定一個(gè)進(jìn)程在請(qǐng)求新資源之前首先釋放已占有的資源,則是破壞了哪個(gè)條件?( )
A.互斥使用
B.部分分配
C.不可剝奪
D.環(huán)路等待
12.下列關(guān)于數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的敘述中,不正確的是( )。
A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器中的實(shí)現(xiàn)
B.數(shù)據(jù)的運(yùn)算是在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)的
C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)即是數(shù)據(jù)在計(jì)算機(jī)內(nèi)的物理結(jié)構(gòu)
D.數(shù)據(jù)運(yùn)算是定義在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)上的
13.對(duì)一組記錄的關(guān)鍵碼(25,38,48,52,63,74)采用二分法查找52時(shí),第( )次會(huì)查找成功。
A.4
B.3
C.2
D.1
14.在一個(gè)單鏈表中,若要?jiǎng)h除P結(jié)點(diǎn)的后續(xù)結(jié)點(diǎn),則執(zhí)行( )。
A.P↑.next:=P↑.next↑.next;
B.P:=P↑.next;P↑.next:=P↑.next↑.next;
C.free(P↑.next);
D.P:=P↑.next↑.next;
15.下列關(guān)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的敘述中,不正確的是( )。
A.結(jié)點(diǎn)除自身信息外還包括指針域,因此存儲(chǔ)密度小于順序存儲(chǔ)結(jié)構(gòu)
B.邏輯上相鄰的結(jié)點(diǎn)物理上不必相鄰
C.可以通過計(jì)算確定第i個(gè)結(jié)點(diǎn)的存儲(chǔ)地址
D.插入、刪除運(yùn)算操作方便,不必移動(dòng)結(jié)點(diǎn)
16.Java中定義常量的保留字是( )。
A.const
B.final
C.finally
D.native
17.下列關(guān)于Java布爾類型的描述中,正確的是( )。
A.一種基本的數(shù)據(jù)類型,它的類型名稱為boolean
B.用int表示類型
C.其值可以賦給int類型的變量
D.有兩個(gè)值,1代表真,0代表假
18.Java中所有類的父類是( )。
A.Father
B.Dang
C.Exception
D.Object
19.下列程序段的輸出結(jié)果是( )。
int data=0 ;
char k=’a’,P=’f ’;
data=P-k:
System.OUt.println(data);
A.0
B.a
C.f
D.5
20.下列數(shù)中為八進(jìn)制的是( )。
A.27
B.0x25
C.026
D.028
21.下列方法中,不屬于Throwable類的方法是( )。
A.printMessage
B.getMessage
C.toString
D.fillStackTrace
22.下列程序的輸出結(jié)果是( )。
public class Test{
public static void main(String[]args){
int[]array=(2,4,6,8,lO);
int size=6;
int result =-1:
try{
for(int i=0;i(size 8L&result= = -1;)
if(array[i]= =20)result=i:
}
catch(ArithmeticException e){
System.out.println("Catch- - -l");
}
catch(ArraylndexOutOfBoundsException e){
System.out.println("Catch- - -2");
}
catch(Exception e){
System.out.println("Catch- - -3");)
}
}
A.Catch- - -1
B.Catch- - -2
C.Catch- - -3
D.以上都不對(duì)
23.下列包中,包含JOptionPane類的是( )。
A.javax.swing
B.java.lang
C.java.util
D.java.applet
24.下列選項(xiàng)中,與成員變量共同構(gòu)成一個(gè)類的是( )。
A.關(guān)鍵字
B.方法
C.運(yùn)算符
D.表達(dá)式
25.下列程序的功能是將一個(gè)整數(shù)數(shù)組寫入二進(jìn)制文件,在程序的下畫線處應(yīng)填入的選項(xiàng)是( )。
import java.io.*;
public class XieShuzu{
public static void main(String[]a){
int[]myArray=(10,20,30,40);
try{
DataOutputStream dos=
new DataOutputStream(new
FileOutput Stream("ints.dat"));
for(int i=0;i dos. (myArray[i]);
dos.close();
System.OUt.println("已經(jīng)將整數(shù)數(shù)組寫入二進(jìn)
制文件:ints.dat");
}catch(IOException ioe)
{System.OUt.println("IO Exeepr_on");)
}
}
A.writeArray B.writeByte
C.writeInt D.writeDouble
26.Java中的抽象類Reader和Writer所處理的流是( )。
A.圖像流
B.對(duì)象流
C.字節(jié)流
D.字符流
27.下列敘述中,錯(cuò)誤的是( )。
A.內(nèi)部類的名稱與定義它的類的名稱可以相同
B.內(nèi)部類可用abstract修飾
C.內(nèi)部類可作為其他類的成員
D.內(nèi)部類可訪問它所在類的成員
28.用于在子類中調(diào)用被重寫父類方法的關(guān)鍵字是( )。
A.this
B.super
C.This
D.Super
29.下列Java語句從指定網(wǎng)址讀取html文件,在下畫線處應(yīng)填上的選項(xiàng)是( )。
Reader in=new——(new URL(urlString).
openStream());
A.Reader
B.DataOutputStream
C.ByteArray InputStream
D.InputStreamReader
30.下列不屬于表達(dá)式語句的是( )。
A.++i;
B.--j;
C.b#a;
D.b*=a;
31.下列為窗口事件的是( )。 ,
A.MouseEvent
B.WindowEvent
C.ActionEvent
D.KeyEvent
32.用鼠標(biāo)點(diǎn)擊菜單項(xiàng)(Menultem)產(chǎn)生的事件是( )。
A.MenuEvent
B.ActionEvent
C.KeyEvent
D.MouseEvent
33.下列不屬于邏輯運(yùn)算符的是( )。
A.!
B.||
C.&&
D.|
34.當(dāng)使用SomeThread t=new SomeThread()創(chuàng)建一個(gè)線程時(shí),下列敘述中正確的是( )。
A.SomeThread類是包含run()方法的任意Java類
B.SomeThread類一定要實(shí)現(xiàn)Runnable接口
C.SomeThread類是Thread類的子類
D.SomeThread類是Thread類的子類并且要實(shí)現(xiàn)Run-
nable接口
35.在程序的下畫線處應(yīng)填入的選項(xiàng)是( )。
public class Test {:
public static void main(String args[]){
Test t=new Test();
Thread tt=new Thread(t);
tt.start();
}
public void run(){
for(int i=0;i<5;i++){
System.out.println("i="+i);
}
}
}
A.implements Runnable
B.extends Thread
C.implements Thread
D.extends Runnable
36.為了支持壓棧線程與彈棧線程之間的交互與同步,
在程序的下畫線處依次填入的語句是( )。
public class IntStack{
private int idx=0;
private int[]data=new int[8];
public void push(int i){
data[idx]=i;
idx++;
… …
}
A.synchronized()
notify()
B.synchronized
this.wait()
C.synchronized
this.notify()
D.Serializable
sleep()
37.如果線程正處于阻塞狀態(tài),不能夠使線程直接進(jìn)入可運(yùn)行狀態(tài)的情況是( )。
A.sleep()方法的時(shí)間到
B.獲得了對(duì)象的鎖
C.線程在調(diào)t.join()方法后,線程t結(jié)果
D.wait()方法結(jié)束
38.當(dāng)一個(gè)Applet被加載,后續(xù)對(duì)Applet生命周期方法的調(diào)用中,可能存在的次序是( )。
A.start(),stop(),destroy()
B.init(),start(),stop(),start(),stop(),destroy()
C.start(),init(),stop(),destroy()
D.init(),start(),destroy()
39.在HTML文件的標(biāo)志中作為可選屬性的是( )。
A.Applet主類的文件名
B.Applet顯示區(qū)域的寬度
C.Applet主類的路徑
D.Applet顯示區(qū)域的高度
40.如果應(yīng)用程序要在Applet上顯示輸出,則必須重寫的方法是( )。
A.Graphics.drawString()
B.repaint()
C.paint()
D.update()