歷年計算機(jī)等級考試二級Java筆試真題

字號:

一、選擇題(每小題2分,共70分)
    下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應(yīng)位置上,答在試卷上不得分。
    (1)下列敘述中正確的是
    A)對長度為n的有序鏈表進(jìn)行查找,壞情況下需要的比較次數(shù)為n
    B)對長度為n的有序鏈表進(jìn)行對分查找,壞情況下需要的比較次數(shù)為(n/2)
    C)對長度為n的有序鏈表進(jìn)行對分查找,壞情況下需要的比較次數(shù)為(log2n)
    D)對長度為n的有序鏈表進(jìn)行對分查找,壞情況下需要的比較次數(shù)為(n log2n)
    (2)算法的時間復(fù)雜度是指
    A)算法的執(zhí)行時間
    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)診斷和改正程序中的錯誤
    B)盡可能多地發(fā)現(xiàn)程序中的錯誤
    C)發(fā)現(xiàn)并改正程序中的所有錯誤
    D)確定程序中錯誤的性質(zhì)
    (5)數(shù)據(jù)流程圖(DFD圖)是
    A)軟件概要設(shè)計的工具
    B)軟件詳細(xì)設(shè)計的工具
    C)結(jié)構(gòu)化方法的需求分析工具
    D)面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?BR>    (6)軟件生命周期可分為定義階段,開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計屬于
    A)定義階段
    B)開發(fā)階段
    C)維護(hù)階段
    D)上述三個階段
    (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ù)庫中,存取一個學(xué)生信息的數(shù)據(jù)單位是
    A)文件
    B)數(shù)據(jù)庫
    C)字段
    D)記錄
    (9)數(shù)據(jù)庫設(shè)計中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計的
    A)需求分析階段
    B)邏輯設(shè)計階段
    C)概念設(shè)計階段
    D)物理設(shè)計階段
    (10)有兩個關(guān)系R和T如下:
    
    則由關(guān)系R得到關(guān)系T的操作是
    A)選擇
    B)投影
    C)交
    D)并
    (11)Java中定義常量的保留字是
    A)const
    B)final
    C)finally
    D)native
    (12)下列有關(guān)Java布爾類型的描述中,正確的是
    A)一種基本的數(shù)據(jù)類型,它的類型名稱為boolean
    B)用int表示類型
    C)其值可以賦給int類型的變量
    D)有兩個值,1代表真,0代表假
    (13)Java中所有類的父類是
    A)Father
    B)Lang
    C)Exception
    D)Object
    (14)下列程序段的輸出結(jié)果是
    int data=0;
    char k='a',p='f';
    data=p-k;
    system.out.println(data);
    A)0
    B)a
    C)f
    D)5
    (15)下列數(shù)中為八進(jìn)制的是
    A)27
    B)0x25
    C)026
    D)028
    (16)下列方法中,不屬于Throwable類的方法是
    A)printMessage
    B)getMessage
    C)toString
    D)fillStackTrace
    (17)下列程序的輸出結(jié)果是
    public class Test{
    public static void main(String[] args){
    int [] array={2,4,6,8,10};
    int size=6;
    int result=-1;
    try{
    for{int i=0;i
    if(array[i]==20) result=i;
    }
    catch(ArithmeticException e){
    System.out.println("Catch---1");
    catch(ArrayIndexOutOfBoundsException e){
    System.out.println("Catch---2");
    catch(Exception e){
    System.out.println("Catch---3");
    }
    }
    A)Catch---1
    B)Catch---2
    C)Catch---3
    D)以上都不對
    (18)下列包中,包含JOptionPane類的是
    A)javax.swing
    B)java.lang
    C)java.util
    D)java.applet
    (19)下列選項中,與成員變量共同構(gòu)成一個類的是
    A)關(guān)鍵字
    B)方法
    C)運(yùn)算符
    D)表達(dá)式
    (20)下列程序的功能是將一個整數(shù)數(shù)組寫入二進(jìn)制文件。在程序的下劃線處應(yī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 FileOutputStream("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 Exception");}
    }
    }
    A)writeArray
    B)writeByte
    C)writeInt
    D)writeDouble
    (21)Java中的抽象類Reader和Writer所處理的流是
    A)圖像流
    B)對象流
    C)字節(jié)流
    D)字符流
    (22)下列敘述中,錯誤的是
    A)內(nèi)部類的名稱與定義它的類的名稱可以相同
    B)內(nèi)部類可用abstract修飾
    C)內(nèi)部類可作為其他類的成員
    D)內(nèi)部類可訪問它所在類的成員
    (23)用于在子類中調(diào)用被重寫父類方法的關(guān)鍵字是
    A)this
    B)super
    C)This
    D)Super
    (24)下列Java語句從指定網(wǎng)址讀取html文件,在下劃線處應(yīng)填上的選項是
    Reader in=new____(new URL(urlString).openStrream());
    A)Reader
    B)DataOutputStream
    C)ByteArrayInputStream
    D)InputStreamReader
    (25)下列不屬于表達(dá)式語句的是
    A)++i;
    B)--j;
    C)b#a;
    D)b*=a;
    (26)下列為窗口事件的是
    A)MouseEvent
    B)WindowEvent
    C)ActionEvent
    D)KeyEvent
    (27)用鼠標(biāo)點(diǎn)擊菜單項(MenuItem)產(chǎn)生的事件是
    A)MenuEvent
    B)ActionEvent
    C)KeyEvent
    D)MouseEvent
    (28)下列不屬于邏輯運(yùn)算符的是
    A)!
    B)||
    C)&&
    D)|
    (29)當(dāng)使用SomeThread t=new SomeThread()創(chuàng)建一個線程時,下列敘述中正確的是
    A)SomeThread類是包含run()方法的任意java類
    B)SomeThread類一定要實(shí)現(xiàn)Runnable接口
    C)SomeThread類是Thread類的子類
    D)SomeThread類是Thread類的子類并且要實(shí)現(xiàn)Runnable接口
    (30)在程序的下劃線處應(yī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
    (31)為了支持壓棧線程與彈棧線程之間的交互與同步,在程序的下劃線處依次填入的語句是
    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)synchronized()
    sleep()
    (32)如果線程正處于阻塞狀態(tài),不能夠使線程直接進(jìn)入可運(yùn)行狀態(tài)的情況是
    A)sleep()方法的時間到
    B)獲得了對象的鎖
    C)線程在調(diào)用t.join()方法后,線程t結(jié)束
    D)wait()方法結(jié)束
    (33)當(dāng)一個Applet被加載,后續(xù)對Applet生命周期方法的調(diào)用中,可能存在的次序是
    A)start(),stop(),destroy()
    B)init(),start(),stop(),start(),stop(),destroy()
    C)start(),init(),stop(),destroy()
    D)init(),start(),destroy()
    (34)在HTML文件的標(biāo)志中作為可選屬性的是
    A)Applet主類的文件名
    B)Applet顯示區(qū)域的寬度
    C)Applet主類的路徑
    D)Applet顯示區(qū)域的高度
    (35)如果應(yīng)用程序要在Applet上顯示輸出,則必須重寫的方法是
    A)Graphics.drawString()
    B)repaint()
    C)paint()
    D)update()
    二、填空題(每空2分,共30分)
    請將每一個空的正確答案寫在答題卡【l】~【15】序號的橫線上,答在試卷上不得分。
    (1)一個隊列的初始狀態(tài)為空。現(xiàn)將元素A,B,C,D,E,F,5,4,3,2,1依次入隊,然后再依次退隊,則元素退隊的順序為 【1】 。
    (2)設(shè)某循環(huán)隊列的容量為50,如果頭指針front=45(指向隊頭元素的前一位置),尾指針rear=10(指向隊尾元素),則該循環(huán)隊列中共有 【2】 個元素。
    (3)設(shè)二叉樹如下:
    
    對該二叉樹進(jìn)行后序遍歷的結(jié)果為 【3】 。
    (4)軟件是 【4】 、數(shù)據(jù)和文檔的集合。
    (5)有一個學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生(學(xué)號,姓名,班級,年齡),課程的關(guān)系模式為:課程(課號,課程名,學(xué)時),其中兩個關(guān)系模式的鍵分別是學(xué)號和課號,則關(guān)系模式選課可定義為:選課(學(xué)號, 【5】 ,成績)。
    (6)C語言是面向過程的語言,Java語言是面向 【6】 的語言。
    (7)Java字節(jié)碼文件的擴(kuò)展名是 【7】 。
    (8)JDBC是Java程序與 【8】 連接的一種機(jī)制。
    (9)能夠用于創(chuàng)建可變字符串對象的類是 【9】 。
    (10) 【10】 類在定義數(shù)組時,不必限定數(shù)組的大小。
    (11)下列程序的功能是統(tǒng)計命令行參數(shù)的個數(shù),請在下劃線處填上適當(dāng)?shù)拇a。
    public class Length{
    public static void main(String args[]){
    System.out.println("number of String args:"+args. 【11】 );
    }
    }
    (12)Java中的返回語句是 【12】 語句。
    (13)Java中,線程必須屬于一個進(jìn)程。線程是程序運(yùn)行中的一個 【13】 。
    (14)線程由于調(diào)用sleep()方法進(jìn)入阻塞狀態(tài),當(dāng)睡眠結(jié)束時,該線程將進(jìn)入 【14】 狀態(tài)。
    (15)在下列Java Applet程序的下劃線處填入代碼,使程序完整并能夠正確運(yùn)行。
    import java.applet.*;
    import java.awt.*;
    public class HelloWorld 【15】 {
    public void paint(Graphics g){
    g.drawString("Hello World!",25,25);
    }
    }