全國計算機等級考試二級Java語言程序設(shè)計試題及答案(二)_第1頁
全國計算機等級考試二級Java語言程序設(shè)計試題及答案(二)_第2頁
全國計算機等級考試二級Java語言程序設(shè)計試題及答案(二)_第3頁
全國計算機等級考試二級Java語言程序設(shè)計試題及答案(二)_第4頁
全國計算機等級考試二級Java語言程序設(shè)計試題及答案(二)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、一、選擇題(每小題1分,共40小題,共40分) 1下列敘述中正確的是( )。 A對長度為n的有序鏈表進行查找,最壞情況下需要的比較次數(shù)為n B對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(nZ) C對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(log2n) D對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(nlog2n) C?!窘馕觥慷址ú檎抑贿m用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次。2算法的時間復(fù)雜度是指( )。 A算法的執(zhí)行時間 B算法所處理的數(shù)據(jù)量 C算法程序中的語句或指令條數(shù) D算法在執(zhí)行過程中所需要

2、的基本運算次數(shù) D?!窘馕觥克惴ǖ臅r間復(fù)雜度是指算法需要消耗的時間資源。一般來說,計算機算法是問題規(guī)模n的函數(shù)f(n),算法的時間復(fù)雜度也因此記做T(n)=O(f(n)因此,問題的規(guī)模n越大,算法執(zhí)行的時間的增長率與f(n)的增長率正相關(guān),稱作漸進時間復(fù)雜度(Asymptotic Time Cornplexity)。簡單來說就是算法在執(zhí)行過程中所需要的基本運算次數(shù)。 3軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于系統(tǒng)軟件的是( )。 A編輯軟件 B操作系統(tǒng) C教務(wù)管理系統(tǒng) D瀏覽器 B。【解析】編輯軟件和瀏覽器屬于工具軟件,教務(wù)系統(tǒng)是應(yīng)用軟件。4軟件(程序)調(diào)試的任

3、務(wù)是( )。 A診斷和改正程序中的錯誤 B盡可能多地發(fā)現(xiàn)程序中的錯誤 C發(fā)現(xiàn)并改正程序中的所有錯誤 D確定程序中錯誤的性質(zhì) A?!窘馕觥空{(diào)試的目的是發(fā)現(xiàn)錯誤或?qū)е鲁绦蚴У腻e誤原因,并修改程序以修正錯誤。調(diào)試是測試之后的活動 5數(shù)據(jù)流程圖(DFD圖)是( )。 A軟件概要設(shè)計的工具 B軟件詳細(xì)設(shè)計的工具 C結(jié)構(gòu)化方法的需求分析工具 D面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?C。【解析】數(shù)據(jù)流程圖是一種結(jié)構(gòu)化分析描述模型,用來對系統(tǒng)的功能需求進行建模。6軟件生命周期可分為定義階段,開發(fā)階段和維護階段。詳細(xì)設(shè)計屬于( )。 A定義階段 B開發(fā)階段 C維護階段 D上述三個階段 B?!窘馕觥块_發(fā)階段在開發(fā)初期分為

4、需求分析、總體設(shè)計、詳細(xì)設(shè)計3個階段了,在開發(fā)后期分為編碼、測試兩個子階段。 7數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是( )。 A數(shù)據(jù)定義語言 B數(shù)據(jù)管理語言 C數(shù)據(jù)操縱語言 D數(shù)據(jù)控制語言 A?!窘馕觥繑?shù)據(jù)模式是由數(shù)據(jù)定義語言(Data Deftnition Language,DDL)來描述、定義的,體現(xiàn)、反映了數(shù)據(jù)庫系統(tǒng)的整體觀。8在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個學(xué)生信息的數(shù)據(jù)單位是( )。 A文件 B數(shù)據(jù)庫 C字段 D記錄 D?!窘馕觥恳粋€數(shù)據(jù)庫由一個文件或文件集合組成。這些文件中的信息可分解成一個個記錄。9數(shù)據(jù)庫設(shè)計中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計算機中的表示,它屬于數(shù)

5、據(jù)庫設(shè)計的( )。 A需求分析階段 B邏輯設(shè)計階段 C概念設(shè)計階段 D物理設(shè)計階段 C。【解析】E-R(Entity-Relationship)圖為實體一聯(lián)系圖,提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。10有兩個關(guān)系R和T如下: 則由關(guān)系R得到關(guān)系T的操作是( )。 A選擇 B投影 C交 D并A?!窘馕觥窟x擇是建立一個含有與原始關(guān)系相同列數(shù)的新表,但是行只包括那些滿足某些特定標(biāo)準(zhǔn)的原始關(guān)系行。11破壞死鎖的4個必要條件之一就可以預(yù)防死鎖。假如規(guī)定一個進程在請求新資源之前首先釋放已占有的資源,則是破壞了哪個條件?( ) A互斥使用 B部分分配 C不可剝奪 D環(huán)路等待 B。

6、【解析】若一個進程請求新資源之前首先釋放已占有的資源,這破壞了部分分配條件。 12下列關(guān)于數(shù)據(jù)存儲結(jié)構(gòu)的敘述中,不正確的是( )。 A數(shù)據(jù)的存儲結(jié)構(gòu)是邏輯結(jié)構(gòu)在計算機存儲器中的實現(xiàn) B數(shù)據(jù)的運算是在數(shù)據(jù)的存儲結(jié)構(gòu)實現(xiàn)的 C數(shù)據(jù)的存儲結(jié)構(gòu)即是數(shù)據(jù)在計算機內(nèi)的物理結(jié)構(gòu) D數(shù)據(jù)運算是定義在數(shù)據(jù)的存儲結(jié)構(gòu)上的 D。【解析】數(shù)據(jù)的存儲結(jié)構(gòu)是邏輯結(jié)構(gòu)在計算機存儲器中的實現(xiàn),又稱為物理結(jié)構(gòu)。數(shù)據(jù)運算是定義在數(shù)據(jù)的邏輯結(jié)構(gòu)上的,在存儲結(jié)構(gòu)上實現(xiàn)。 13對一組記錄的關(guān)鍵碼(25,38,48,52,63,74)采用二分法查找52時,第( )次會查找成功。 A4 B3 C2 D1 B?!窘馕觥扛鶕?jù)二分查找法的基本思

7、想,第一次找到的是48,52大于48,再向右查找,第二次找到的是63,第三次找到的是52,至此查找完成。14在一個單鏈表中,若要刪除P結(jié)點的后續(xù)結(jié)點,則執(zhí)行( )。 APnext:=Pnextnext; BP:=Pnext;Pnext:=Pnextnext; Cfree(Pnext); DP:=Pnextnext; A?!窘馕觥吭谝粋€單鏈表中,若要刪除P結(jié)點的后續(xù)結(jié)點,只要將P的指針域指向P的后繼的后繼即可,即 Pnext=Pnextnext。15下列關(guān)于鏈?zhǔn)酱鎯Y(jié)構(gòu)的敘述中,不正確的是( )。 A結(jié)點除自身信息外還包括指針域,因此存儲密度小于順序存儲結(jié)構(gòu) B邏輯上相鄰的結(jié)點物理上不必相鄰 C

8、可以通過計算確定第i個結(jié)點的存儲地址 D插入、刪除運算操作方便,不必移動結(jié)點 C?!窘馕觥挎?zhǔn)酱鎯Y(jié)構(gòu)的主要特點有:結(jié)點中除自身信息外,還有表示鏈接信息的指針域,因此存儲密度小、存儲空間利用率低;邏輯上相鄰的結(jié)點物理上不必相鄰;插入、刪除操作靈活方便。線性存儲結(jié)構(gòu)可以通過計算確定第i個結(jié)點的存儲地址,但鏈?zhǔn)酱鎯Y(jié)構(gòu)不能。 16Java中定義常量的保留字是( )。 Aconst Bfinal Cfinally Dnative B?!窘馕觥縡inal是最終的修飾符,其修飾的是常量。17下列關(guān)于Java布爾類型的描述中,正確的是( )。 A一種基本的數(shù)據(jù)類型,它的類型名稱為boolean B用int

9、表示類型 C其值可以賦給int類型的變量 D有兩個值,1代表真,0代表假 A?!窘馕觥坎紶栴愋蛿?shù)據(jù)只有兩個值:true(真)、false(假),不對應(yīng)任何數(shù)字,不能與數(shù)字進行轉(zhuǎn)換,布爾類型數(shù)據(jù)一般用于邏輯判別。 18Java中所有類的父類是( )。 AFather BDang CException DObject D?!窘馕觥縊bject是所有類的根。19下列程序段的輸出結(jié)果是( )。 int data=0 ; char k=a,P=f ; data=P-k: SystemOUtprintln(data); A0 Ba Cf D5 D。【解析】a和f的ASCIl值相差5。20下列數(shù)中為八進制的

10、是( )。 A27 B0x25 C026 D028 C。【解析】采用0,1,2,3,4,5,6,7八個數(shù)碼,逢八進位,并且開頭一定要以數(shù)字0開頭的為八進制。21下列方法中,不屬于Throwable類的方法是( )。 AprintMessage BgetMessage CtoString DfillStackTrace C?!窘馕觥縯oString是Object類的方法,所有類都從Object類繼承。22下列程序的輸出結(jié)果是( )。 public class Test public static void main(Stringargs) intarray=(2,4,6,8,lO); int s

11、ize=6; int result =-1: try for(int i=0;i(size 8L&result= = -1;) if(arrayi= =20)result=i: catch(ArithmeticException e) Systemoutprintln("Catch- - -l"); catch(ArraylndexOutOfBoundsException e) Systemoutprintln("Catch- - -2"); catch(Exception e) Systemoutprintln("Catch- - -

12、3");) ACatch- - -1 BCatch- - -2 CCatch- - -3 D以上都不對 B?!窘馕觥坑深}可知先判斷i20,并且i從0開始一直到i=5時發(fā)生越界,則輸出Cateh= =-2,結(jié)果為B。23下列包中,包含JOptionPane類的是( )。 Ajavaxswing Bjavalang Cjavautil Djavaapplet A?!窘馕觥縎wing中提供了JOptionPane類來實現(xiàn)類似Windows平臺下的MessageBox的功能,利用JOptionPane類中的各個static方法來生成各種標(biāo)準(zhǔn)的對話框,實現(xiàn)顯示出信息、提出問題、警告、用戶輸入?yún)?/p>

13、數(shù)等功能,且這些對話框都是模式對話框。24下列選項中,與成員變量共同構(gòu)成一個類的是( )。 A關(guān)鍵字 B方法 C運算符 D表達式 B?!窘馕觥吭陬愺w中定義的兩種成員,數(shù)據(jù)成員和成員函數(shù),其中數(shù)據(jù)成員就是成員變量,而成員函數(shù)就是通常說的方法。25下列程序的功能是將一個整數(shù)數(shù)組寫入二進制文件,在程序的下畫線處應(yīng)填入的選項是( )。 import javaio*; public class XieShuzu public static void main(Stringa) intmyArray=(10,20,30,40); try DataOutputStream dos= new DataOutp

14、utStream(new FileOutput Stream("intsdat"); for(int i=0;idos (myArrayi); dosclose(); SystemOUtprintln("已經(jīng)將整數(shù)數(shù)組寫入二進 制文件:intsdat"); catch(IOException ioe) SystemOUtprintln("IO Exeepr_on");) AwriteArray BwriteByte CwriteInt DwriteDouble C?!窘馕觥肯蛄髦袑懭胝麛?shù)數(shù)組,用writeInt方法。26Java中的抽

15、象類Reader和Writer所處理的流是( )。 A圖像流 B對象流 C字節(jié)流 D字符流 D?!窘馕鯮eaderWriter所處理的流是字符流,InputStreamOutputStream的處理對象是字節(jié)流。27下列敘述中,錯誤的是( )。 A內(nèi)部類的名稱與定義它的類的名稱可以相同 B內(nèi)部類可用abstract修飾 C內(nèi)部類可作為其他類的成員 D內(nèi)部類可訪問它所在類的成員 A?!窘馕觥績?nèi)部類與外部類的名稱不能相同。28用于在子類中調(diào)用被重寫父類方法的關(guān)鍵字是( )。 Athis Bsuper CThis DSuper B?!窘馕鰏uper可用于調(diào)用被重寫的父類方法,此題須注意Java對大小

16、寫敏感。29下列Java語句從指定網(wǎng)址讀取html文件,在下畫線處應(yīng)填上的選項是( )。 Reader in=new(new URL(urlString) openStream(); AReader BDataOutputStream CByteArray InputStream DInputStreamReader A。【解析】創(chuàng)建一個Reader流的對象in。30下列不屬于表達式語句的是( )。 A+i; B-j; Cb#a; Db*=a; C?!窘馕觥壳皟身検亲约訙p運算,最后一項是b=b* a。31下列為窗口事件的是( )。 , AMouseEvent BWindowEvent CAct

17、ionEvent DKeyEvent B?!窘馕觥縈ouseEvent是鼠標(biāo)事件,ActionEvent是組件事件,KeyEvent是鍵盤事件。32用鼠標(biāo)點擊菜單項(Menultem)產(chǎn)生的事件是( )。 AMenuEvent BActionEvent CKeyEvent DMouseEvent B?!窘馕觥緼ctionEvent組件事件,當(dāng)特定于組件的動作(比如被按下)發(fā)生時,由組件(比如Button)生成此高級別事件。事件被傳遞給每一個ActionListener對象,這些對象是使用組件的addActionListener方法注冊的,用以接收這類事件。33下列不屬于邏輯運算符的是( )。

18、A! B| C&& D D?!窘馕觥?是邏輯非,是邏輯或,&&是邏輯與,是按位或。34當(dāng)使用SomeThread t=new SomeThread()創(chuàng)建一個線程時,下列敘述中正確的是( )。 ASomeThread類是包含run()方法的任意Java類 BSomeThread類一定要實現(xiàn)Runnable接口 CSomeThread類是Thread類的子類 DSomeThread類是Thread類的子類并且要實現(xiàn)Run- nable接口 C?!窘馕觥坑蒘omeThread t=new SomeThread()可知此題是通過繼承Thread類來創(chuàng)建線程的。 35在

19、程序的下畫線處應(yīng)填入的選項是( )。 public class Test : public static void main(String args) Test t=new Test(); Thread tt=new Thread(t); ttstart(); public void run() for(int i=0;i<5;i+) Systemoutprintln("i="+i); Aimplements Runnable Bextends Thread Cimplements Thread Dextends Runnable B?!窘馕觥縤mplements是實

20、現(xiàn)接口,extends是繼承類。Thread是類,Runnable是 接口,所以只有A、B選項語法是正確的。而Runnable是不能返回Static值,所以答案選擇B。36為了支持壓棧線程與彈棧線程之間的交互與同步, 在程序的下畫線處依次填入的語句是( )。 public class IntStack private int idx=0; private intdata=new int8; public void push(int i) dataidx=i; idx+; Asynchronized() notify() Bsynchronized thiswait() Csynchronize

21、d thisnotify() DSerializable sleep() B。【解析】在Synchronized塊中等待共享數(shù)據(jù)的狀態(tài)改變時調(diào)用wait()方法,這樣該線程進入等待狀態(tài)暫時釋放共享數(shù)據(jù)對象的鎖。37如果線程正處于阻塞狀態(tài),不能夠使線程直接進入可運行狀態(tài)的情況是( )。 Asleep()方法的時間到 B獲得了對象的鎖 C線程在調(diào)tjoin()方法后,線程t結(jié)果 Dwait()方法結(jié)束 D?!窘馕觥縲ait()方法會使線程放棄對象鎖,進入等待此對象的等待鎖定池。 38當(dāng)一個Applet被加載,后續(xù)對Applet生命周期方法的調(diào)用中,可能存在的次序是( )。 Astart(),sto

22、p(),destroy() Binit(),start(),stop(),start(),stop(),destroy() Cstart(),init(),stop(),destroy() Dinit(),start(),destroy() B?!窘馕觥縤nit()一般用來完成所有必需的初始化操作,start()是在初始化之后Applet被加載時調(diào)用,stop()在Applet停止執(zhí)行時調(diào)用,destory()是Applet從系統(tǒng)中撤出時調(diào)用。39在HTML文件的標(biāo)志中作為可選屬性的是( )。 AApplet主類的文件名 BApplet顯示區(qū)域的寬度 CApplet主類的路徑 DApplet顯

23、示區(qū)域的高度 C?!窘馕觥恐锌墒褂脧?fù)了標(biāo)志,其中的CODEBASE標(biāo)志(指定URL地址),如果HTML不指定,瀏覽器使用和HTML文件相同的URL,所以答案選擇C。 40如果應(yīng)用程序要在Applet上顯示輸出,則必須重寫的方法是( )。 AGraphicsdrawString() Brepaint() Cpaint() Dupdate() C?!窘馕觥縫aint()是繪制Applet界面的基本方法。二、基本操作題(共18分) 本題的功能是計算二維數(shù)組各個元素的和。程序中定義了二維數(shù)組arr,arr有3行4列共l2個元素,程序中采用for循環(huán)語句的嵌套來計算數(shù)組中各個元素的和,并將結(jié)果保存在su

24、m變量中,最后打印輸出結(jié)果。 public class javal public static void main(String args) int arr=l,2,3,4,5,6,7,8,9,10,11,12; int sum=0; int i=0,j=0; for(i=0; ) for( ) ; SystemOUtprintln("sum="+sum); 第1處:i<3;i+或i<=2;i+ 第2處:j=O;j<4;j+或j=0;j<=3;j+ 第3處:sum=sum+arrij 【解析】第1處、第2處是由該數(shù)組是3行4列的數(shù)組而得出的遍歷數(shù)組的

25、循環(huán)條件;第3處是將數(shù)組元素累加并將最終累加結(jié)果賦給sum。三、簡單應(yīng)用題(共24分) 本題是設(shè)計一個窗體,窗口的背景色為系統(tǒng)桌面的顏 色,在窗口中分別畫了空心和實心的黑色矩形、深灰色圓角 矩形和淺灰色橢圓形,并且畫了白色粗體的“Java二級考 試!”字符串。 Import javaawt*; Import javaxswing*; Public class java2 Public static void main(stringargs) Fillframe frame=new fillframe(); Frame setdefaultcloseoperatio (jframe exit_o

26、n_ close); Frameshow(); Class fillframe extends jframe Public fillframe() Settitle("simple"); Setsize(width,height); Fillpanel panel=new fillpanel(); Panelsetbackground(systemcolordesktop); Container contentpane=getcontentpane(); Contentpaneadd(panel); Public static final int width=400; Pu

27、blic static final int width=250; Class fillpanel extends jpanel Public void paintcomponent(graphics g) ; gsetcolor(new color(10,10,10); gdrawrect(10,10,100,30); gseteolor(new color(100,100,l00); gdrawroundrect(150,10,100,30,15,15); gsetcolor(new color(150,150,150); gdrawoval(280,10,80,30); gsetcolor

28、(new color(10,10,10); gfillreet(10,110,100,30); gsetcolor(new color(100,100,100); gdrawroundreet(150,110,100,30,15,15); gseteolor(new color(150,150,150); gfilloval(280,110,80,30); gsetcolor(colorwhite); font f=new font("宋體",_ _,20); gsetfont(f); gdrawstring("java二級考試!",l50,200);

29、第l處:superpaintComponent(g); 第2處:FontBOLD 【解析】第1處是通過super語句調(diào)用父類的構(gòu)造方法paintComponent(g)。第2處是通過字體對象的構(gòu)造函數(shù),設(shè)置“Java二級考試!”格式,題目要求是粗體,所以大FontBOLD。四、綜合應(yīng)用題(共18分) 本題的功能是監(jiān)聽鼠標(biāo)的操作。鼠標(biāo)置于窗口中單擊時(左鍵或右鍵),在單擊的地方會畫一個小矩形,如果將鼠標(biāo)置于小矩形上,則鼠標(biāo)光標(biāo)狀態(tài)改為小十字,按下鼠標(biāo)左鍵可拖曳,雙擊鼠標(biāo)左鍵(或右鍵)時,小矩形消失。 import javaawt*; import javaawtevent*; import ja

30、vautil*; import javaawtgeom*; import javaxswing*; public class java3 public static void main(Stringargs) MouseFrame frame=new MouseFrame(): framesetDefaultCloseOperation(JFrameEXIT_ oN_CLOSE); frameshow(); class MouseFrame extends JFrame public MouseFrame() setTitle("java3"); setSize(DEFAU

31、LT WIDTH, DEFAULT HEIGHT): MousePanel panel=new MousePanel(); Container contentPane=getContentPane(); contentPaneadd(panel); public static final int DEFAULT_WIDTH=300; public static final int DEFAULT_HEIGHT=200; class MousePanel extends JPanel public MousePanel() squares=new ArrayList(); current=nul

32、l: addMouseListener(new MouseHandler(); addMouseMotionListener(new MouseMotionHan- dler(); public void paintComponent(Graphics g) superpaintComponent(g); Graphics2D g2=(Graphics2D)g; for(int i=0;ig2draw(Rectangle2D)squaresget(i); public void find(Point2D p) for(int i=0;i Rectangle2D r=(Rectangle2D)s

33、quaresget(i); if(rcontains(p)return r; return null: public void add(Point2D p) double x=PgetX(); double Y=PgetY(): current=new Rectangle2DDouble( x-SIDELENGTH2 y-SlDELENGTH2 S1DELENGTH, SIDELENGTH); squaresadd(current); repaint(); public void remove(Rectangle2D s) if(S= =null)return: if(S= =current)current=n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論