當前位置:才華齋>計算機>計算機二級>

最新計算機二級考試JAVA押密試題

計算機二級 閱讀(6.21K)

為了幫助大家提高計算機二級考試成績,下面本站小編為你整理彙總了2017年計算機二級考試JAVA押密試題及答案,希望對你有幫助。

最新計算機二級考試JAVA押密試題

一、選擇題(每小題1分,共40小題,共40分)

1.常採用的兩種儲存結構是( )。

A.順序儲存結構和鏈式儲存結構

B.雜湊方法和索引方式

C.連結串列儲存結構和陣列

D.線性儲存結構和非線性儲存結構

2.在深度為5的滿二叉樹中,葉子結點的個數為( )。

A.32

B.31

C.16

D.15

3.下列敘述中錯誤的是( )。

A.線性表是由n個元素組成的一個有限序列

B.線性表是一種線性結構

C.線性表的所有結點有且僅有一個前件和後件

D.線性表可以是空表

4.資料庫技術的根本目標是要解決資料的( )。

A.儲存問題

B.共享問題

C.安全問題

D.保護問題

5.在設計程式時,應採納的原則之一是( )。

A.不限制goto語句的使用

B.減少或取消註解行

C.程式越短越好

D.程式結構應有助於讀者理解

6.結構化程式設計的核心和基礎是( )。

A.結構化分析方法

B.結構化設計方法

C.結構化設計理論

D.結構化程式設計方法

7.對下列二叉樹進行中序遍歷的結果是( )。

FEG

FGE

GEF

BEG

8.軟體設計中模組劃分應遵循的準則是( )。

A.低內聚低耦合

B.高內聚低耦合

C.低內聚高耦合

D.高內聚高耦合

9.演算法的有窮性是指( )。

A.演算法程式的執行時間是有限的

B.演算法程式所處理的資料量是有限的

C.演算法程式的長度是有限的

D.演算法只能被有限的使用者使用

10.有3個關係R、S和T如下:

由關係R和S通過運算得到關係T,則所用的運算為( )。

A.並

B.自然連線

C.笛卡兒積

D.交

11.破壞死鎖的4個必要條件之一就可以預防死鎖。假如規定一個程序在請求新資源之前首先釋放已佔有的資源則是破壞了( )條件。

A.互斥使用

B.部分分配

C.不可剝奪

D.環路等待

12.設有字元序列(Q,H,C,Y,P,A,M,S,R,D,F,X),則新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)是下列( )排序演算法一趟掃描的結果。

A.起泡排序

B.初始步長為4的希爾排序

C.二路歸併排序

D.以第一個元素為分界元素的快速排序

13.下列與演算法有關的敘述中,不正確的是( )。

A.運算是資料結構的一個重要方面,運算的實現步驟用演算法來描述

B.演算法是精確定義的一系列規則,它指出怎樣從給定的輸入資訊經過有限步驟產生所求的輸出資訊

C.演算法的設計採用由粗到細,由抽象到具體的逐步求精的方法

D.對於演算法的分析,指的是分析演算法執行所要佔用的機器時間,即演算法的時間代價

14.下列關於資料的儲存結構的敘述中,正確的是( )。

A.資料的儲存結構是資料間關係的抽象描述

B.資料的儲存結構是邏輯結構在計算機儲存器中的實現

C.資料的儲存結構分為線性結構和非線性結構

D.資料的儲存結構對資料的具體實現沒有影響

15.設有一個已按各元素的值排好序的順序表(長度大於2),現分別用順序查詢法和二分查詢法查詢與給定值k相等的元素,比較的次數分別是s和b,在查詢不成功情況下s和b的關係是( )。

A.s=b

B.s>b

C.s  D.s>=b

16.下列不屬於虛擬機器執行過程的特點的是( )。

A.多執行緒

B.動態連線

C.異常處理

D.程式碼安全檢查

17.下列說法中,正確的一項是( )。

語言是以類為程式的基本單位的

語言是不分大小寫的

C.多行註釋語句必須以//開始

D.在Java語言中,類的原始檔名和該類名可以不相同

18.下列關於實型變數書寫正確的是( )。

A.E3

B.2e0.3

C.1.2e3

D.1.2E0.3

19.下列與其他選項不相等的是( )。

A.15

B.0xF

C.015

D.0XF

20.設a=8,則表示式a>>>1的值是( )。

A.1

B.2

C.3

D.4

一、選擇題

1.A。【解析】線性表的儲存結構有順序儲存結構和鏈式儲存結構。

2.C。【解析】根據滿二叉樹的定義,一棵深度為k且有

2k-1個結點的二叉樹為滿二叉樹。滿二叉樹的葉子結點為最後一層的結點數。根據滿二叉樹的性質,在滿二叉樹的第i層上至多有2i-1個結點。因此深度為5的滿二叉樹的`葉子結點數為25-1=16個。

3.C。【解析】線性表是一種線性結構,由n(n≥0)個元素組成,所以線性表可以是空表。但是線上性表中,第一個結點沒有前驅,最後一個結點沒有後繼,其他結點有且只有一個前驅和後繼,所以選項C是錯誤的。

4.B。【解析】在資料庫系統中,需要對資料進行集合、統一的管理,以達到被多個應用程式共享的目標。

5.D。【解析】程式設計中,程式不要求長度,以結構清晰、易於理解為標準,程式設計師可以添加註釋來助於理解,同時要儘量少用goto語句,否則會破壞程式的結構。

6.C。【解析】結構化程式設計的核心和基礎是結構化設計理論,其中包括:結構化分析方法、結構化設計方法和結構化程式設計方法。

7.A。【解析】二叉樹的遍歷有3種:前序、中序和後序。中序遍歷首先遍歷左子樹或左子結點,然後訪問根結點,最後遍歷右子樹或右子結點。分析本題二叉樹,對其進行中序遍歷,結果為ACBDFEG。

8.B。【解析】耦合性和內聚性是模組獨立性的兩個定性標準,軟體設計應該遵循高內聚低耦合的準則。

9.A。【解析】演算法的有窮性是指演算法必須在執行有限的步驟後終止。

10.D。【解析】關係R與S經過交運算後所得到的關係是由那些既在R內又在S內的有序組組成的。記作R∩S。

11.B。【解析】若一個程序請求新資源之前首先釋放已佔有的資源,這破壞了部分分配條件。

12.D。【解析】根據快速排序的演算法,新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)為字元序列(Q,H,C,Y,P,A,M,s,R,D,F,x)經過快速排序的演算法第一趟掃描後的結果。

13.D。【解析】演算法是一系列解決問題的清晰指令,也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。演算法常常含有重複的步驟和一些比較或邏輯判斷。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量,也就是演算法分析,因此選項D錯誤。演算法設計一般採用由粗到細、由抽象到具體的初步求精的方法。

14.B。【解析】資料的儲存結構是邏輯結構在計算機儲存器中的實現。為了全面表示一個邏輯結構,它在儲存器中的影響包括資料元素自身值的表示和資料元素的表示兩方面。

15.B。【解析】順序查詢的基本思想是:從表的一端開始,順序掃描線性表,依次將掃描到結點的關鍵字和給定值k進行比較,若當前掃描到結點的關鍵字與k相等,則查詢成功;若掃描結束後,仍未找到關鍵字等於k的結點,則查詢失敗。二分查詢法是一種效率較高的查詢方法,要求線性表是有序表。基本思想是:首先將待查的k值和有序表R[0]~R[n-1]的中間位置mid上的結點的關鍵字進行比較,若相等,則查詢完成;否則,若R[mid]>k,則說明待查詢的結點只可能在左子表R[0]~R[mid-1]中,我們只需在左子表中繼續進行折半查詢,若R[mid]  16.D。【解析】本題考查虛擬機器執行過程的特點。Java虛擬機器是編譯器生成的位元組碼,不用考慮具體的硬體環境,實現一次編寫,隨處執行,實現其可移植性。虛擬機器執行過程的特點有:多執行緒、動態連線、異常處理。程式碼安全檢查是Java語言的一個突出特點,但不屬於虛擬機器執行過程特點。

17.A。【解析】本題考查考生對Java語言概念的理解,屬於考試重點內容,歷次考試都有相關內容,應該理解這些基本概念。Java語言是分大小寫的,這一點在初學Java時需要特別注意,這一點與C語言有所不同,B選項錯誤。以//開始的應該是單行的註釋語句,因此選項C錯誤。Java中有三類註釋語句:文件註釋/**…*/,被javadoc處理,可以建立類的一個外部說明性檔案;C語言註釋風格/*…*/,用於去掉當前不再使用但仍想保留的程式碼等;單行註釋//,格式上要求註釋符//後必須緊跟一個空格,然後才是註釋信患。Java程式原始檔名必須和public類名相同,否則編譯出錯,因此選項D錯誤。只有選項A說法正確。

18.C。【解析】本題考查實型變數科學計算格式的書寫。在科學計算格式中,e或E是指數符,要求在e/E之前必須有數字,選項A錯誤。同時還要求在e/E之後必須是整數,選項B和選項D錯誤。雖然題目非常簡單,但是不容易正確回答。正確答案為選項C。

19.C。【解析】本題考查Java語言中的進位制換算。考生首先要清楚各種進位制的表示方法,整型常量有3種書寫格式:十進位制整數,如156,-230,345;八進位制整數:以0開頭,如012表示十進位制的l0;十六進位制整數:以0x或0X開頭,如0X123表示十進位制數291。選項A是十進位制的15,選項B和選項D都是十六進位制中的F相當於十進位制的15,選項C為八進位制,以0開頭,此處Ol5相當於十進位制的13,與其他選項不同。

20.D。【解析】本題考查考生對位運算子中無符號右移運算子的掌握。無符號右移運算子>>>,也叫邏輯右移,用於將一個數的各二進位制位全部無符號右移若干位,與運算子>>不同的是左補0,而>>則是最高位移入原來高位的值。在本題中,8的二進位制表示是1000,右移一位後變成了0100,對應的十進位制數是4。可見,正確答案為選項D。二、基本操作題(共18分)

本題定義了一個方法add(),用於求兩個整形數的和。方法中有兩個整形引數a和b,方法體中計算a和b的和sum,並將結果返回。程式中呼叫add()方法求整數24和34的和,並將結果列印輸出。

public class javal{

public static void main(String[]args){

int a=24,b=34;

tln(add(a,b));

}

public static int add( ){

;

sum—a+b;

;

}

}

三、簡單應用題(共24分)

本題中,主視窗有一個按鈕“顯示Dial09”,單擊該按鈕後顯示一個對話方塊,對話方塊的標題是“Dial09”,其上有一個文字標籤“歡迎學習Java.”,此時仍允許對原來視窗進行操作,當關閉新生成的對話方塊時退出程式。

import .*;

import t.*;

import g.*;

public class java2 extends Frame implements ActionLis-

tener{

public static void main(String args[]){

java2 f=new java2("java2");

Panel pan=new Panel();

();

}

public java2(String str){

super(str);

}

public void init(){

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

(0);

}

});

setSize(200,200);

setLayout(new FlowLayout());

but=new Button("顯示Dialog");

add(but);

ctionListener(this);

dig=new Dialog(this,"Dialog", );

ize(100,50);

indowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

;

}

});

("Center",new Label("歡迎學習Ja-

va."));

setVisible(true);

}

public void actionPerformed(ActionEvent e){

isible(true);

}

private Dialog dig;

private Button but;

} 四、綜合應用題(共18分)

本題的功能是監聽滑鼠的拖曳操作。視窗中有一個列表框,列表框中列出了當前目錄的所有檔案,滑鼠選中一個或多個檔案後拖曳出視窗,此操作的功能是將拖曳的檔案複製一份在拖曳的目的目錄下。

import .*;

import transfer.*;

import .*;

import t.*;

import .*;

import .*;

import g.*;

public class java3

{

public static void main(String[]args)

{

JFrame frame=new DragSourceFrame();

efauhCloseOperation(_

0N_CLoSE);

();

}

}

class DragSoureeFrame extends JFrame

{

public DragSourceFrame()

{

setTitle("java3");

setSize(WlDTH,HElGHT);

Container contentPane=getContentPane();

File f=new File(".")bsoluteFile();

File[]files=Files();

model=new DefaultListModel();

for(int i=0;i  try

{

lement(files[i]anonicalFile());

}

catch(IOException exception)

{

MessageDialog(this,exeep-

tion);

}

fileList=new JList(model);

(new JScrollPane(fileList),

ER);

(new JLabel("從列表中拖曳出文

件"),

H);

DragSource dragSource=efauh-

DragSource();

teDefaultDragGestureRecognizer

(fileList,

DnDConstants. ACTION_COPY_0R_

MOVE,new

DragGestureListener()

{

public void dragGestureRecognized(

DragGestureEvent event)

{

draggedValues=electedValues();

Transferable transferable

=new FiteListTransferable(draggedValues);

tDrag(null,transferable,

new FileListDragSourceListener());

}

});

}

private class FileListDragSourceListener imple-

ments DragSourceAdapter

{

public void dragDropEnd(DragSourceDropEvent e-

vent)

{

if(ropSuccess())

{

int action=ropAction();

if(action= =0N MOVE)

{

for(int i=0;i  veElement(draggedValues[i]);

}

}

}

}

private JList fileList;

private DefauhListModel model;

private Object[]draggedValues;

private static final int WIDTH=300;

private static final int HEIGHT=200;

}

class FileListTransferable implements Transferable

{

public FileListTransferable(Object[]files)

{

fileList=new ArrayList(st(files));

}

public DataFlavor[]getTransferDataFlavors()

{

return flavors;

public boolean isDataFlavorSupported(DataFlavor

flavor)

{

return Arrays. asList(flavors), contains(flavor) ;

}

public Object getTransferData(DataFlavor flavor)

throws UnsupportedFlavorException

if(flavor, equals(DataFlavor, javaFileListFlavor) )

return fileList;

else if(flavor, equals(DataFlavor, stringFlavor))

return fileList, toString() ;

else

throw new UnsupportedFlavorException(flavor) ;

}

private static DataFlavor[] flavors =

{

DataFlavor. j avaFileListFlavor,

DataFlavor. stringFlavor

};

private java. util. List fileList;

四、綜合應用題

第1處:File f—new File(".")bsoluteFile()

第2處:int i=0;i  第3處:private class FileListDragSoureeListener ex-

tends DragSourceAdapter

【解析】第1處是通過絕對路徑建立一個File物件f;第2處是files中f檔案所在目錄下的所有檔名列表,此處就是遍歷這些檔名;第3處是定義了一個FileListDragSoureeListener類繼承用於接收拖動源事件的抽象介面卡類 DragSoureeAdapter。