全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試樣卷Java語言程序設(shè)計(jì)

字號(hào):


    一、選擇題((1)~(35)每小題2分,共70分)
    下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
     
    (1)下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是
        A)源程序要文檔化       B)數(shù)據(jù)說明的次序要規(guī)范化
        C)避免濫用goto語句    D)模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚
     
    (2)從工程管理角度,軟件設(shè)計(jì)一般分為兩步完成,它們是
        A)概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)   B)數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì)
        C)軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)   D)過程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)
     
    (3)下列選項(xiàng)中不屬于軟件生命周期開發(fā)階段任務(wù)的是
        A)軟件測(cè)試     B)概要設(shè)計(jì) C)軟件維護(hù) D)詳細(xì)設(shè)計(jì)
     
    (4)在數(shù)據(jù)庫系統(tǒng)中,用戶所見的數(shù)據(jù)模式為
        A)概念模式 B)外模式   C)內(nèi)模式   D)物理模式
     
    (5)數(shù)據(jù)庫設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和
        A)編碼設(shè)計(jì) B)測(cè)試階段 C)運(yùn)行階段 D)物理設(shè)計(jì)
     
    (6)設(shè)有如下三個(gè)關(guān)系表
    

      
    

    R
    

     
    

    S
    

     
    

     
    

    T
    

     
    

     
    

     
    

    A
    

     
    

    B
    

    C
    

     
    

    A
    

    B
    

    C
    

     
    

     
    

    m
    

     
    

    1
    

    3
    

     
    

    m
    

    1
    

    3
    

     
    

     
    

    n
    

     
    

     
    

     
    

     
    

    n
    

    1
    

    3
    

     
    

     
    

     
    

     
    

     
    

     
    

     
    

     
    

     
    

     
    

     
    

    下列操作中正確的是
        A)T=R∩S      B)T=R∪S
    C)T=R×S      D)T=R/S
     
    (7)下列敘述中正確的是
        A)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
        B)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
        C)一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小
    D)上述三種說法都不對(duì)
     
    (8)在長(zhǎng)度為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為
        A)63   B)64   C)6    D)7
     
    (9)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的
        A)存儲(chǔ)問題 B)共享問題 C)安全問題        D)保護(hù)問題
     
    (10)對(duì)下列二叉樹
    進(jìn)行中序遍歷的結(jié)果是
        A)ACBDFEG  B)ACBDFGE  C)ABDCGEF  D)FCADBEG
     
    (11)運(yùn)行Java程序需要的工具軟件所在的目錄是
        A)JDK的bin目錄        B)JDK的demo目錄
        C)JDK的lib目錄        D)JDK的jre目錄
     
    (12)下列關(guān)于Java語言特點(diǎn)的敘述中,錯(cuò)誤的是
        A)Java是面向過程的編程語言
        B)Java支持分布式計(jì)算
        C)Java是跨平臺(tái)的編程語言  
        D)Java支持多線程
     
    (13)Java的核心包中,提供編程應(yīng)用的基本類的包是
        A)java.lang    B)java.util    C)java.applet  D)java.rmi
     
    (14)下列關(guān)于Java對(duì)import語句規(guī)定的敘述中,錯(cuò)誤的是
        A)在Java程序中import語句可以有多個(gè)
        B)在Java程序中import語句可以沒有
        C)在Java程序中import語句必須有一個(gè)
        D)在Java程序中import語句必須引入在所有類定義之前
     
    (15)在編譯Java程序時(shí),用于指定生成.class文件位置的選項(xiàng)是
       A)-g   B)-d   C)-verbose D)-nowarn         
    (16)閱讀下面程序
    import  java.io.*;
    public class TypeTransition{
    public static void main(String args[]){
    char a = 'h';
    int i = 100;
    int j = 97;
    int aa = a + i;
    System.out.println("aa="+aa);
    char bb = (char)j;
    System.out.println("bb="+bb);
    }
    }
    如果輸出結(jié)果的第二行為bb=a,那么第一行的輸出是
        A)aa=I B)aa=204   C)aa=v D)aa=156      
     
    (17)閱讀下面程序
    public class OperatorsAndExpressions {
    void equalsMethod1(){
    String s1=new String("how are you");
    String s2=new String("how are you");
    System.out.println(s1==s2);
    }
    public static void main(String args[]){
             OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions();
    //用于復(fù)合類型數(shù)據(jù)的“==”運(yùn)算符
    OperAndExp. equalsMethod1();
    }
    }
    程序運(yùn)行結(jié)果是
        A)==   B)true C)false    D)equal
     
    (18)閱讀下面代碼
    if(x==0){System.out.println("冠軍");}
       else if (x>-3){System.out.println("亞軍");}
          else { System.out.println("季軍");}
    若要求打印字符串“季軍”,則變量x的取值范圍是
        A)x=0 & x<=-3  B)x>0 C)x>-3 D)x<=-3   
     
    (19)下列關(guān)于構(gòu)造方法的敘述中,錯(cuò)誤的是
        A)Java語言規(guī)定構(gòu)造方法名與類名必須相同
        B)Java語言規(guī)定構(gòu)造方法沒有返回值,但不用void聲明 
        C)Java語言規(guī)定構(gòu)造方法不可以重載
        D)Java語言規(guī)定構(gòu)造方法只能通過new自動(dòng)調(diào)用
     
    (20)閱讀下面程序
    import javax.swing.JOptionPane;
    public class Comparison {
    public static void main( String args[] ){
    String firstNumber,    //用戶輸入第1個(gè)數(shù)據(jù)變量
    secondNumber,  //用戶輸入第2個(gè)數(shù)據(jù)變量
    result;         //輸出結(jié)果變量
    int number1,         //用于比較的第1個(gè)數(shù)
    number2;         //用于比較的第2個(gè)數(shù)
    //用戶輸入第1個(gè)數(shù)據(jù)的字符串
    firstNumber = JOptionPane.showInputDialog( "輸入第1個(gè)整數(shù):" );
    //用戶輸入第2個(gè)數(shù)據(jù)的字符串
    secondNumber = JOptionPane.showInputDialog( "輸入第2個(gè)整數(shù):" );         
    //將字符串轉(zhuǎn)換為整數(shù)類型
    number1 = Integer.parseInt( firstNumber );
    number2 = Integer.parseInt( secondNumber );
    //初始化結(jié)果變量
    ______________________;
    //比較兩個(gè)數(shù)據(jù)
    if ( number1 == number2 )
    result += number1 + " == " + number2;
    if ( number1 != number2 )
    result += number1 + " != " + number2;
    if ( number1 < number2 )
              result = result + "\n" + number1 + " < " + number2;
           if ( number1 > number2 )
              result = result + "\n" + number1 + " > " + number2;
           if ( number1 <= number2 )
              result = result + "\n" + number1 + " <= " + number2;
           if ( number1 >= number2 )
              result = result + "\n" + number1 + " >= " + number2;
    //顯示結(jié)果
    JOptionPane.showMessageDialog(null,result,"比較結(jié)果",
             JOptionPane.INFORMATION_MESSAGE );
    System.exit( 0 );
    }
    }
    為使程序能正確運(yùn)行并得到合理的輸出結(jié)果,初始化結(jié)果變量語句(下劃線處)應(yīng)是
        A)result = ""      B)result = null   
        C)result = number1     D)result = number2 
     
    (21)閱讀下面程序
    public class Increment {
         public static void main( String args[] ){
            int c;
            c = 5;
            System.out.println( c );  
            System.out.println( c++ );
            System.out.println( c );  
         }
    }
    程序運(yùn)行結(jié)果是
      A)5  B)5    C)6    D)6
    6   5                  7         6
            6   6   7        6
     
    (22)下列敘述中,錯(cuò)誤的是
        A)Java Application與Applet所用編譯命令相同
        B)通常情況下Java Application只能有一個(gè)main()方法
            C)Java Applet必須有HTML文件才能運(yùn)行
        D)Java Applet程序的.class文件可用java命令運(yùn)行    
     
    (23)下列關(guān)于Java語言中線程的敘述中,正確的是
       A)線程是由代碼、數(shù)據(jù)、內(nèi)核狀態(tài)和一組寄存器組成
        B)線程間的數(shù)據(jù)是不共享的
        C)用戶只能通過創(chuàng)建Thread類的實(shí)例或定義、創(chuàng)建Thread子類的實(shí)例建立和控制自己的線程
        D)因多線程并發(fā)執(zhí)行而引起的執(zhí)行順序的不確定性可能造成執(zhí)行結(jié)果的不確定
     
    (24)閱讀下面程序
    import javax.swing.JOptionPane;
    public class BreakLabelTest {
          public static void main( String args[] ){
             String output = "";
             stop: {  
                for ( int row = 1; row <= 10; row++ ) {
                   for ( int column = 1; column <= 5 ; column++ ) {
                      if ( row == 5 )
                         break stop;
                      output += "*  ";
                   }
                   output += "\n";
                }
                output += "\nLoops terminated normally";
             } 
            JOptionPane.showMessageDialog(
               null, output,"用一個(gè)標(biāo)志測(cè)試break語句",
               JOptionPane.INFORMATION_MESSAGE );
            System.exit( 0 );
         }
    }
    程序運(yùn)行結(jié)果是
        A)窗口中有5行* * * * *   
        B)窗口中有5行* * * * 
        C)窗口中有4行* * * * *   
        D)窗口中有6行* * * * *
     
    (25)處理對(duì)象傳輸?shù)慕涌谑?BR>        A)Serializable B)Cloneable    C)ItemListener D)ActionListener
     
    (26)在讀取二進(jìn)制數(shù)據(jù)文件的記錄時(shí),為了提高效率常常使用一種輔助類
        A)InputStream      B)FileInputStream  C)StringBuffer D)BufferedReader
     
    (27)可以使當(dāng)前同級(jí)線程重新獲得運(yùn)行機(jī)會(huì)的方法是
        A)sleep()  B)join()   C)yield()  D)interrupt()
     
    (28)閱讀下面程序
    1  public class Try extends Thread{
    2      public static void main(String args[ ]){
    3       Try t = new Try( );
    4       t.start( );
    5  }
    6
    7     public void run( int j){
    8        int i = 0;
    9       while(i<5){
    10          System.out.println("祝你成功!");
    11              i++;
    12      }
    13    }
    14  }
    該程序要求打印5行“祝你成功!”,必須改正程序中的某行代碼,程序才能完成。選擇正確的修改是
        A)將第1行的extends Thread改為implements Runnable
            B)將第3行的new Try()改為new Thread()
        C)將第4行t.start()改為start(t)
        D)將第7行的public void  run( int j) 改為public void  run()
     
    (29)下列事件監(jiān)聽器中,無法對(duì)TextField對(duì)象進(jìn)行事件監(jiān)聽和處理的是
        A)ActionListener       B)FocusListener
        C)MouseMotionListener  D)ChangeListener
     
    (30)Swing的選項(xiàng)面板是
        A)JTabbedPane  B)JLayeredPane C)JScrollPane  D)JSplitPane
     
    (31)每個(gè)Java小應(yīng)用程序必須定義為
    A)Applet類或JApplet類的子類   B)JFrame類的子類
        C)Frame的子類      D)Window的子類
     
    (32)在Applet的init()方法被調(diào)用后,接下來最先被調(diào)用的方法是
        A)run()    B)start()  C)stop()   D)destroy()
     
    (33)下列關(guān)于Applet的安全限制的敘述中,錯(cuò)誤的是
        A)通常情況下,禁止Applet讀、寫本地文件系統(tǒng)       
        B)通常情況下,禁止Applet向Applet源主機(jī)之外的任何主機(jī)建立網(wǎng)絡(luò)連接
        C)通常情況下,禁止Applet讀取系統(tǒng)信息
            D)通常情況下,禁止Applet加載本地庫或方法
     
    (34)下列標(biāo)識(shí)符(名字)命名原則中,正確的是
        A)類名的首字母小寫 B)變量和方法名的首字母大寫
        C)接口名的首字母小寫   D)常量完全大寫
     
    (35)提供showDocument()方法,使Applet能夠請(qǐng)求瀏覽器訪問特定URL的類是
        A)Applet   B)AppletContext    C)JApplet  D)URL
     
    二、填空題(每空2分,共30分)
        請(qǐng)將每一個(gè)空的正確答案寫在答題卡【1】~【15】序號(hào)的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。
     
    (1)下列軟件系統(tǒng)結(jié)構(gòu)圖
    的寬度為  【1】 
     
    (2)  【2】  的任務(wù)是診斷和改正程序中的錯(cuò)誤。
     
    (3)一個(gè)關(guān)系表的行稱為   【3】    。
     
    (4)按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是   【4】   。
     
    (5)數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于  【5】   。
     
    (6)若想在程序中使用JLabel類,則該程序可以使用import   【6】  .JLabel;語句引入JLabel類。
     
    (7)在Java中,3.14156D表示的是  【7】  數(shù)。
     
    (8)閱讀下列代碼
    public class Test2{
          public static void main(String args[]){
              System.out.println(5/2);}}
    其執(zhí)行結(jié)果是  【8】  。
     
    (9)閱讀下列代碼段
        int x=3;
        while (x<9)
            x+=2;
        x++;
    while語句成功執(zhí)行的次數(shù)是  【9】 
     
    (10)Java不直接支持多繼承,但可以通過  【10】  實(shí)現(xiàn)多繼承。
     
    (11)在下列程序的下劃線處,填入適當(dāng)語句使程序能正確執(zhí)行并輸出異常棧信息。
    public class ThrowableException{
         public static void main(String args[]){
           try{
               throw new Throwable("這里是本人定義的異常");
            }catch(Throwable e){
            System.out.println("Caught Throwable");
            System.out.println("e.getMessage(): "+e.getMessage());
            System.out.println("e.toString(): "+e.toString());
            System.out.println("e.printStackTrace(): ");
              【11】  ;}}}  
     
    (12)在java.io包中有某個(gè)類同時(shí)實(shí)現(xiàn)了DataInput接口和DataOutput接口,這個(gè)類
    是  【12】  。
     
    (13)在Java程序中,主線程一般具有  【13】  優(yōu)先級(jí)。
     
    (14)當(dāng)實(shí)現(xiàn)Runnable接口時(shí),要實(shí)現(xiàn)的方法是  【14】 
     
    (15)mouseDragged()方法是MouseMotionListener接口中的抽象方法,該方法的參數(shù)
    是  【15】  類。