- 相關推薦
最新計算機二級考試JAVA押密試題
為了幫助大家提高計算機二級考試成績,下面百分網小編為你整理匯總了2017年計算機二級考試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.對下列二叉樹進行中序遍歷的結果是( )。
A.ACBDFEG
B.ACBDFGE
C.ABDCGEF
D.FCADBEG
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.下列說法中,正確的一項是( )。
A.Java語言是以類為程序的基本單位的
B.Java語言是不分大小寫的
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].key>k,則說明待查找的結點只可能在左子表R[0]~R[mid-1]中,我們只需在左子表中繼續進行折半查找,若R[mid].key 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;
System.out.println(add(a,b));
}
public static int add( ){
;
sum—a+b;
;
}
}
三、簡單應用題(共24分)
本題中,主窗口有一個按鈕“顯示Dial09”,單擊該按鈕后顯示一個對話框,對話框的標題是“Dial09”,其上有一個文字標簽“歡迎學習Java.”,此時仍允許對原來窗口進行操作,當關閉新生成的對話框時退出程序。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class java2 extends Frame implements ActionLis-
tener{
public static void main(String args[]){
java2 f=new java2("java2");
Panel pan=new Panel();
f.init();
}
public java2(String str){
super(str);
}
public void init(){
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setSize(200,200);
setLayout(new FlowLayout());
but=new Button("顯示Dialog");
add(but);
but.addActionListener(this);
dig=new Dialog(this,"Dialog", );
dig.setSize(100,50);
dig.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
;
}
});
dig.add("Center",new Label("歡迎學習Ja-
va."));
setVisible(true);
}
public void actionPerformed(ActionEvent e){
dig.setVisible(true);
}
private Dialog dig;
private Button but;
} 四、綜合應用題(共18分)
本題的功能是監聽鼠標的拖曳操作。窗口中有一個列表框,列表框中列出了當前目錄的所有文件,鼠標選中一個或多個文件后拖曳出窗口,此操作的功能是將拖曳的文件復制一份在拖曳的目的目錄下。
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class java3
{
public static void main(String[]args)
{
JFrame frame=new DragSourceFrame();
frame.setDefauhCloseOperation(JFrame.EXIT_
0N_CLoSE);
frame.show();
}
}
class DragSoureeFrame extends JFrame
{
public DragSourceFrame()
{
setTitle("java3");
setSize(WlDTH,HElGHT);
Container contentPane=getContentPane();
File f=new File(".").getabsoluteFile();
File[]files=f.listFiles();
model=new DefaultListModel();
for(int i=0;i try
{
model.addElement(files[i].getCanonicalFile());
}
catch(IOException exception)
{
JOptionPane.showMessageDialog(this,exeep-
tion);
}
fileList=new JList(model);
contentPane.add(new JScrollPane(fileList),
BorderLayout.CENTER);
contentPane.add(new JLabel("從列表中拖曳出文
件"),
BorderLayout.NoRTH);
DragSource dragSource=DragSource.getDefauh-
DragSource();
dragSource.createDefaultDragGestureRecognizer
(fileList,
DnDConstants. ACTION_COPY_0R_
MOVE,new
DragGestureListener()
{
public void dragGestureRecognized(
DragGestureEvent event)
{
draggedValues=fileList.getSelectedValues();
Transferable transferable
=new FiteListTransferable(draggedValues);
evenr.startDrag(null,transferable,
new FileListDragSourceListener());
}
});
}
private class FileListDragSourceListener imple-
ments DragSourceAdapter
{
public void dragDropEnd(DragSourceDropEvent e-
vent)
{
if(event.getDropSuccess())
{
int action=event.getDropAction();
if(action= =DnDConstants.ACTl0N MOVE)
{
for(int i=0;i model.removeElement(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(Arrays.asList(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(".").getAbsoluteFile()
第2處:int i=0;i 第3處:private class FileListDragSoureeListener ex-
tends DragSourceAdapter
【解析】第1處是通過絕對路徑創建一個File對象f;第2處是files中f文件所在目錄下的所有文件名列表,此處就是遍歷這些文件名;第3處是定義了一個FileListDragSoureeListener類繼承用于接收拖動源事件的抽象適配器類 DragSoureeAdapter。
【最新計算機二級考試JAVA押密試題】相關文章:
計算機二級考試Java試題及答案10-24
計算機二級考試JAVA模擬試題10-12
計算機二級考試《Java》試題及答案09-04
計算機二級JAVA考試精選模擬試題08-12
證券從業考試市場基礎知識押密試題08-01
2016計算機二級考試Java試題及答案06-24
計算機二級Java考試鞏固試題及答案08-03
2017公共營養師二級考試臨考押密卷09-26
9月計算機等級考試二級Java試題10-29