2007年9月全國計(jì)算機(jī)等級(jí)考試二級(jí)JAVA筆試試題及答案

字號(hào):

為大家收集整理了《2007年9月全國計(jì)算機(jī)等級(jí)考試二級(jí)JAVA筆試試題及答案》供大家參考,希望對(duì)大家有所幫助?。。?BR>    一、選擇題
    (1)已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為
    A.GEDHFBCA
    B.DGEBHFCA
    C.ABCDEFGH
    D.ACBFEDHG
    (2)樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是
    A.有且只有1
    B.1或多于1
    C.0或1
    D.至少2
    (3)如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是
    A.e3,e1,e4,e2
    B.e2,e4,e3,e1
    C.e3,e4,e1,e2
    D.任意順序
    (4)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是
    A.不限制goto語句的使用
    B.減少或取消注解行
    C.程序越短越好
    D.程序結(jié)構(gòu)應(yīng)有助于讀者理解
    (5)程序設(shè)計(jì)語言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和
    A.對(duì)象成分
    B.變量成分
    C.語句成分
    D.傳輸成分
    (6)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是
    A.便于用戶、開發(fā)人員進(jìn)行理解和交流
    B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
    C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
    D.便于開發(fā)人員進(jìn)行需求分析
    (7)下列不屬于軟件工程的3個(gè)要素的是
    A)工具
    B.過程
    C.方法
    D.環(huán)境
    (8)單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為
    A.外模式
    B.概念模式
    C.內(nèi)模式
    D.存儲(chǔ)模式
    (9)將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成
    A.屬性
    B.關(guān)系
    C.鍵
    D.域
    (10)SQL語言又稱為
    A.結(jié)構(gòu)化定義語言
    B.結(jié)構(gòu)化控制語言
    C.結(jié)構(gòu)化查詢語言
    D.結(jié)構(gòu)化操縱語言
    (11)下列哪個(gè)選項(xiàng)是合法的標(biāo)識(shí)符?
    A.123
    B._name
    C.class
    D.1first
    (12)下列哪個(gè)選項(xiàng)是Java調(diào)試器,如果編譯器返回程序代碼的錯(cuò)誤,可以用它對(duì)程序進(jìn)行調(diào)試?
    A.java.exe
    B.javadoc.exe
    C.jdb.exe
    D.javaprof.exe
    (13)下列的哪個(gè)選項(xiàng)可以正確用以表示八進(jìn)制值8?
    A.0x8
    B.0x10
    C.08
    D.010
    (14)下列的哪個(gè)賦值語句是不正確的?
    A.float f = 11.1;
    B.double d = 5.3E12;
    C.float d = 3.14f ;
    D.double f=11.1E10f;
    (15)下列的哪個(gè)賦值語句是正確的?
    A.char a=12;
    B.int a=12.0;
    C.int a=12.0f;
    D.int a=(int)12.0;
    (16)給出下列的代碼,哪行在編譯時(shí)可能會(huì)有錯(cuò)誤?
    ① public void modify(){
    ② int i, j, k;
    ③ i = 100;
    ④ while ( i > 0 ){
    ⑤ j = i * 2;
    ⑥ System.out.println (" The value of j is " + j );
    ⑦ k = k + 1;
    ⑧ }
    ⑨ }
    A.line 4
    B.line 6
    C.line 7
    D.line 8
    (17)下列關(guān)于繼承的哪項(xiàng)敘述是正確的?
    A.在java中允許多重繼承
    B.在java中一個(gè)類只能實(shí)現(xiàn)一個(gè)接口
    C.在java中一個(gè)類不能同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口
    D.java的單一繼承使代碼更可靠
    (18)下列哪個(gè)修飾符可以使在一個(gè)類中定義的成員變量只能被同一包中的類訪問?
    A.private
    B.無修飾符
    C.public
    D.protected
    (19)給出下列代碼,如何使成員變量m 被方法fun()直接訪問?
    class Test
    {
    private int m;
    public static void fun()
    {
    ...
    }
    }
    A.將private int m 改為protected int m
    B.將private int m 改為 public int m
    C.將private int m 改為 static int m
    D.將private int m 改為 int m
    (20)已知有下列類的說明,則下列哪個(gè)語句是正確的?
    public class Test
    {
    private float f = 1.0f;
    int m = 12;
    static int n=1;
    public static void main(String arg[])
    {
    Test t = new Test();
    }
    }
    A.t.f;
    B.this.n;
    C.Test.m;
    D.Test.f;
    (21)給出下列代碼,則數(shù)組初始化中哪項(xiàng)是不正確的?
    byte[] array1,array2[];
    byte array3[][];
    byte [][] array4;
    A.a(chǎn)rray2 = array1
    B.a(chǎn)rray2=array3
    C.a(chǎn)rray2=array4
    D.a(chǎn)rray3=array4
    (22)下列代碼的執(zhí)行結(jié)果是
    public class Test
    {
    public int aMethod()
    {
    static int i=0;
    i++;
    System.out.println(i);
    }
    public static void main(String args[])
    {
    Test test = new Test();
    test.aMethod();
    }
    }
    A.編譯錯(cuò)誤
    B.0
    C.1
    D.運(yùn)行成功,但不輸出
    (23)下列關(guān)于內(nèi)部類的說法不正確的是
    A.內(nèi)部類的類名只能在定義它的類或程序段中或在表達(dá)式內(nèi)部匿名使用
    B.內(nèi)部類可以使用它所在類的靜態(tài)成員變量和實(shí)例成員變量
    C.內(nèi)部類不可以用abstract修飾符定義為抽象類
    D.內(nèi)部類可作為其他類的成員,而且可訪問它所在類的成員
    (24)順序執(zhí)行下列程序語句后,則b的值是
    String a="Hello";
    String b=a.substring(0,2);
    A.Hello
    B.hello
    C.Hel
    D.null
    (25)在oneMethod()方法運(yùn)行正常的情況下,程序段將輸出什么?
    public void test()
    {
    try { oneMethod();
    System.out.println("condition 1");
    } catch (ArrayIndexOutOfBoundsException e)
    {
    System.out.println("condition 2");
    } catch(Exception e)
    {
    System.out.println("condition 3");
    } finally
    {
    System.out.println("finally");
    }
    }
    A.condition 1
    B.condition 2
    C.condition 3
    D.condition 1
    finally
    (26)下列常見的系統(tǒng)定義的異常中,哪個(gè)是輸入、輸出異常?
    A.ClassNotFoundException
    B.IOException
    C.FileNotFoundException
    D.UnknownHostException
    (27)下列哪個(gè)不是nio包的新特點(diǎn)?
    A.內(nèi)存映射技術(shù)
    B.文件鎖定
    C.字符及編碼
    D.阻塞I/O
    (28)下列哪個(gè)選項(xiàng)是正確計(jì)算42度(角度)的余弦值?
    A.double d=Math.cos(42);
    B.double d=Math.cosine(42);
    C.double d=Math.cos(Math.toRadians(42));
    D.double d=Math.cos(Math.toDegrees(42));
    (29)下列InputStream類中哪個(gè)方法可以用于關(guān)閉流?
    A.skip()
    B.close()
    C.mark()
    D.reset()
    (30)下列方法中哪個(gè)是執(zhí)行線程的方法?
    A.run()
    B.start()
    C.sleep()
    D.suspend()
    (31)下列關(guān)于Frame類的說法不正確的是
    A.Frame是Window類的直接子類
    B.Frame對(duì)象顯示的效果是一個(gè)窗口
    C.Frame被默認(rèn)初始化為可見
    D.Frame的默認(rèn)布局管理器為BorderLayout
    (32)下列Java常見事件類中哪個(gè)是鼠標(biāo)事件類?
    A.InputEvent
    B.KeyEvent
    C.MouseEvent
    D.WindowEvent
    (33)在Applet的關(guān)鍵方法中,下列哪個(gè)方法是關(guān)閉瀏覽器以釋放Applet占用的所有資源?
    A.init()
    B.start()
    C.paint()
    D.destroy()
    (34)下列哪個(gè)是面向大型企業(yè)級(jí)用容器管理專用構(gòu)件的應(yīng)用平臺(tái)?
    A.J2EE
    B.J2ME
    C.J2SE
    D.J2DE
    (35)下列哪個(gè)選項(xiàng)的java源文件代碼片段是不正確的?
    A.package testpackage;
    public class Test{ }
    B.import java.io.*;
    package testpackage;
    public class Test{ }
    C.import java.io.*;
    class Person{ }
    public class Test{ }
    D.import java.io.*;
    import java.awt.*;
    public class Test{ }
    二、填空題
    (1)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于 。
    (2)在面向?qū)ο蠓椒ㄖ校愔g共享屬性和操作的機(jī)制稱為 。
    (3)耦合和內(nèi)聚是評(píng)價(jià)模塊獨(dú)立性的兩個(gè)主要標(biāo)準(zhǔn),其中 反映了模塊內(nèi)各成分之間的聯(lián)系。
    (4)一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于 的聯(lián)系。
    (5)數(shù)據(jù)庫設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、 、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
    (6)Java語言用 進(jìn)行解釋執(zhí)行。
    (7)在一個(gè)類的內(nèi)部嵌套定義的類稱為 。
    (8)設(shè)有數(shù)組定義:int a[ ] = { 11 , 22 , 33 , 44 , 55 , 66 , 77 , 88 , 99 }; 則執(zhí)行下列幾個(gè)語句后的輸出結(jié)果是 。
    for ( int i = 0 ; i < a.length ; i ++ )
    if( a[i]%3==0 )System.out.println(a[i]+" ");
    (9)下面程序的運(yùn)行結(jié)果是 。
    import java.io.* ;
    public class ABC
    {
    public static void main(String args[ ])
    { int i ;
    int a [ ] = { 11,22,33,44,55,66,77,88,99 };
    for ( i = 0 ; i <= a.length / 2 ; i ++ )
    System.out.print( a[i]+a[a.length-i-1]+" ");
    System.out.println( );
    }
    }
    解析: 題中a.length / 2的值應(yīng)為4,所以for循環(huán)執(zhí)行了5次。第一次輸出的是元素a[0]與a[8]的和;第二次輸出的是元素a[1]與a[7] 的和; 第三次輸出的是元素a[2] 與a[6] 的和; 第四次輸出的是元素a[3] 與a[5] 的和; 第五次輸出的是元素a[4] 與a[4]的和。所以結(jié)果是5個(gè)110。
    (10)URL是 的縮寫。
    (11) 日歷類提供日期和時(shí)間的表示,它以格里歷(即陽歷)來計(jì)算。
    (12)若x = 5,y = 10,則 x > y && x++ == y --的邏輯值為 。
    (13)設(shè) a = 8,則表達(dá)式 a >>> 2 的值是 。
    (14)Java中訪問限定符有 ,protected,private和default等。
    (15)凡生成StringBuffer一個(gè)對(duì)象后,還可用 方法或ensureCapacity()方法來設(shè)定緩存大小。
    一、選擇題
    01-05 B A B D D
    06-10 D D A B C
    11-15 B C D A D
    16-20 C D B C A
    21-25 A A C C D
    26-30 B D C B A
    31-35 C C D A B
    二、填空題
    1、63
    2、黑河
    3、BDSM
    4、開發(fā)
    5、DD
    6、J2ME
    7、換行
    8、passed
    9、3and3
    10、方法
    11、Error
    12、Writer
    13、transient
    14、操作
    15、java.applet
    解析:
    (1)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式。在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅要存放各數(shù)據(jù)元素的信息,還需要存放各數(shù)據(jù)元素之間的前后件關(guān)系的信息。
    (2)解析:類是面向?qū)ο笳Z言中必備的程序語言結(jié)構(gòu),用來實(shí)現(xiàn)抽象數(shù)據(jù)類型。類與類之間的繼承關(guān)系實(shí)現(xiàn)了類之間的共享屬性和操作,一個(gè)類可以在另一個(gè)已定義的類的基礎(chǔ)上定義,這樣使該類型繼承了其超類的屬性和方法,當(dāng)然,也可以定義自己的屬性和方法。
    (3)解析:內(nèi)聚性是一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量,內(nèi)聚是從功能角度來度量模塊內(nèi)的聯(lián)系;耦合性是模塊間互相連接的緊密程度的度量。
    (4)解析:兩個(gè)實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對(duì)一(1∶1)的聯(lián)系、一對(duì)多(1∶N)或多對(duì)一(N∶1)的聯(lián)系和多對(duì)多(N∶N)的聯(lián)系。
    (5)解析:數(shù)據(jù)庫設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段及數(shù)據(jù)庫運(yùn)行和維護(hù)階段。
    (6)解析:Java語言是用字節(jié)碼進(jìn)行解釋執(zhí)行,它本身帶有許多編譯時(shí)產(chǎn)生的信息,可使其連接過程更簡(jiǎn)單。
    (7)解析:內(nèi)部類是嵌套在一個(gè)類的內(nèi)部使用的,與普通類一樣,內(nèi)部類也具有自己的成員變量和成員方法。
    (8)解析:此題是輸出數(shù)組中能被3整除的元素。a.length可以求出數(shù)組a的元素個(gè)數(shù)。
    (9)解析:題中a.length / 2的值應(yīng)為4,所以for循環(huán)執(zhí)行了5次。第一次輸出的是元素a[0]與a[8]的和;第二次輸出的是元素a[1]與a[7] 的和; 第三次輸出的是元素a[2] 與a[6] 的和; 第四次輸出的是元素a[3] 與a[5] 的和; 第五次輸出的是元素a[4] 與a[4]的和。所以結(jié)果是5個(gè)110。
    (10)解析:URL 是統(tǒng)一資源定位器--Uniform Resource Locator的簡(jiǎn)稱,它表示Internet上某一資源的地址。
    (11)解析:GregorianCalendar是以格里歷(即陽歷)來計(jì)算的日歷類。
    (12)解析:此題主要是考查運(yùn)算符的優(yōu)先級(jí),首先運(yùn)算的是++和-兩個(gè)運(yùn)算符,然后是>運(yùn)算符,接著是==運(yùn)算符,最后是&&運(yùn)算符。x > y && x++== y -等于(x > y) && ((x++)==( y --))。
    (13)解析:>>>為不帶符號(hào)的右移,8的各比特位右移2位,左邊的空位填0。此題將8(1000)變?yōu)榱?(0010)。
    (14)解析:修飾符可分為訪問限定符和非訪問限定符兩類。訪問限定符有public,protected,private和default等。其他都屬于非訪問限定符,有static,final,abstract和syncronized等。
    (15)解析:此題考查StringBuffer字符串的知識(shí),生成StringBuffer一個(gè)對(duì)象后可用setLength()或ensureCapacity()方法設(shè)定緩存大小,并保證其數(shù)組元素的初值都為0。