- 相關(guān)推薦
最新計(jì)算機(jī)二級(jí)考試JAVA押密試題
為了幫助大家提高計(jì)算機(jī)二級(jí)考試成績(jī),下面百分網(wǎng)小編為你整理匯總了2017年計(jì)算機(jī)二級(jí)考試JAVA押密試題及答案,希望對(duì)你有幫助。
一、選擇題(每小題1分,共40小題,共40分)
1.常采用的兩種存儲(chǔ)結(jié)構(gòu)是( )。
A.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
B.散列方法和索引方式
C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組
D.線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)
2.在深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為( )。
A.32
B.31
C.16
D.15
3.下列敘述中錯(cuò)誤的是( )。
A.線性表是由n個(gè)元素組成的一個(gè)有限序列
B.線性表是一種線性結(jié)構(gòu)
C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件
D.線性表可以是空表
4.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的( )。
A.存儲(chǔ)問(wèn)題
B.共享問(wèn)題
C.安全問(wèn)題
D.保護(hù)問(wèn)題
5.在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是( )。
A.不限制goto語(yǔ)句的使用
B.減少或取消注解行
C.程序越短越好
D.程序結(jié)構(gòu)應(yīng)有助于讀者理解
6.結(jié)構(gòu)化程序設(shè)計(jì)的核心和基礎(chǔ)是( )。
A.結(jié)構(gòu)化分析方法
B.結(jié)構(gòu)化設(shè)計(jì)方法
C.結(jié)構(gòu)化設(shè)計(jì)理論
D.結(jié)構(gòu)化編程方法
7.對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果是( )。
A.ACBDFEG
B.ACBDFGE
C.ABDCGEF
D.FCADBEG
8.軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是( )。
A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
9.算法的有窮性是指( )。
A.算法程序的運(yùn)行時(shí)間是有限的
B.算法程序所處理的數(shù)據(jù)量是有限的
C.算法程序的長(zhǎng)度是有限的
D.算法只能被有限的用戶使用
10.有3個(gè)關(guān)系R、S和T如下:
由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所用的運(yùn)算為( )。
A.并
B.自然連接
C.笛卡兒積
D.交
11.破壞死鎖的4個(gè)必要條件之一就可以預(yù)防死鎖。假如規(guī)定一個(gè)進(jìn)程在請(qǐng)求新資源之前首先釋放已占有的資源則是破壞了( )條件。
A.互斥使用
B.部分分配
C.不可剝奪
D.環(huán)路等待
12.設(shè)有字符序列(Q,H,C,Y,P,A,M,S,R,D,F(xiàn),X),則新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)是下列( )排序算法一趟掃描的結(jié)果。
A.起泡排序
B.初始步長(zhǎng)為4的希爾排序
C.二路歸并排序
D.以第一個(gè)元素為分界元素的快速排序
13.下列與算法有關(guān)的敘述中,不正確的是( )。
A.運(yùn)算是數(shù)據(jù)結(jié)構(gòu)的一個(gè)重要方面,運(yùn)算的實(shí)現(xiàn)步驟用算法來(lái)描述
B.算法是精確定義的一系列規(guī)則,它指出怎樣從給定的輸入信息經(jīng)過(guò)有限步驟產(chǎn)生所求的輸出信息
C.算法的設(shè)計(jì)采用由粗到細(xì),由抽象到具體的逐步求精的方法
D.對(duì)于算法的分析,指的是分析算法運(yùn)行所要占用的機(jī)器時(shí)間,即算法的時(shí)間代價(jià)
14.下列關(guān)于數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)的敘述中,正確的是( )。
A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是數(shù)據(jù)間關(guān)系的抽象描述
B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器中的實(shí)現(xiàn)
C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)
D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)對(duì)數(shù)據(jù)的具體實(shí)現(xiàn)沒(méi)有影響
15.設(shè)有一個(gè)已按各元素的值排好序的順序表(長(zhǎng)度大于2),現(xiàn)分別用順序查找法和二分查找法查找與給定值k相等的元素,比較的次數(shù)分別是s和b,在查找不成功情況下s和b的關(guān)系是( )。
A.s=b
B.s>b
C.s D.s>=b
16.下列不屬于虛擬機(jī)執(zhí)行過(guò)程的特點(diǎn)的是( )。
A.多線程
B.動(dòng)態(tài)連接
C.異常處理
D.代碼安全檢查
17.下列說(shuō)法中,正確的一項(xiàng)是( )。
A.Java語(yǔ)言是以類為程序的基本單位的
B.Java語(yǔ)言是不分大小寫的
C.多行注釋語(yǔ)句必須以//開(kāi)始
D.在Java語(yǔ)言中,類的源文件名和該類名可以不相同
18.下列關(guān)于實(shí)型變量書寫正確的是( )。
A.E3
B.2e0.3
C.1.2e3
D.1.2E0.3
19.下列與其他選項(xiàng)不相等的是( )。
A.15
B.0xF
C.015
D.0XF
20.設(shè)a=8,則表達(dá)式a>>>1的值是( )。
A.1
B.2
C.3
D.4
一、選擇題
1.A!窘馕觥烤性表的存儲(chǔ)結(jié)構(gòu)有順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
2.C!窘馕觥扛鶕(jù)滿二叉樹(shù)的定義,一棵深度為k且有
2k-1個(gè)結(jié)點(diǎn)的二叉樹(shù)為滿二叉樹(shù)。滿二叉樹(shù)的葉子結(jié)點(diǎn)為最后一層的結(jié)點(diǎn)數(shù)。根據(jù)滿二叉樹(shù)的性質(zhì),在滿二叉樹(shù)的第i層上至多有2i-1個(gè)結(jié)點(diǎn)。因此深度為5的滿二叉樹(shù)的葉子結(jié)點(diǎn)數(shù)為25-1=16個(gè)。
3.C。【解析】線性表是一種線性結(jié)構(gòu),由n(n≥0)個(gè)元素組成,所以線性表可以是空表。但是在線性表中,第一個(gè)結(jié)點(diǎn)沒(méi)有前驅(qū),最后一個(gè)結(jié)點(diǎn)沒(méi)有后繼,其他結(jié)點(diǎn)有且只有一個(gè)前驅(qū)和后繼,所以選項(xiàng)C是錯(cuò)誤的。
4.B!窘馕觥吭跀(shù)據(jù)庫(kù)系統(tǒng)中,需要對(duì)數(shù)據(jù)進(jìn)行集合、統(tǒng)一的管理,以達(dá)到被多個(gè)應(yīng)用程序共享的目標(biāo)。
5.D!窘馕觥砍绦蛟O(shè)計(jì)中,程序不要求長(zhǎng)度,以結(jié)構(gòu)清晰、易于理解為標(biāo)準(zhǔn),程序員可以添加注釋來(lái)助于理解,同時(shí)要盡量少用goto語(yǔ)句,否則會(huì)破壞程序的結(jié)構(gòu)。
6.C!窘馕觥拷Y(jié)構(gòu)化程序設(shè)計(jì)的核心和基礎(chǔ)是結(jié)構(gòu)化設(shè)計(jì)理論,其中包括:結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化編程方法。
7.A!窘馕觥慷鏄(shù)的遍歷有3種:前序、中序和后序。中序遍歷首先遍歷左子樹(shù)或左子結(jié)點(diǎn),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)或右子結(jié)點(diǎn)。分析本題二叉樹(shù),對(duì)其進(jìn)行中序遍歷,結(jié)果為ACBDFEG。
8.B。【解析】耦合性和內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),軟件設(shè)計(jì)應(yīng)該遵循高內(nèi)聚低耦合的準(zhǔn)則。
9.A。【解析】算法的有窮性是指算法必須在執(zhí)行有限的步驟后終止。
10.D。【解析】關(guān)系R與S經(jīng)過(guò)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的有序組組成的。記作R∩S。
11.B!窘馕觥咳粢粋(gè)進(jìn)程請(qǐng)求新資源之前首先釋放已占有的資源,這破壞了部分分配條件。
12.D。【解析】根據(jù)快速排序的算法,新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)為字符序列(Q,H,C,Y,P,A,M,s,R,D,F(xiàn),x)經(jīng)過(guò)快速排序的算法第一趟掃描后的結(jié)果。
13.D!窘馕觥克惴ㄊ且幌盗薪鉀Q問(wèn)題的清晰指令,也就是說(shuō),能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時(shí)間內(nèi)獲得所要求的輸出。算法常常含有重復(fù)的步驟和一些比較或邏輯判斷。如果一個(gè)算法有缺陷,或不適合于某個(gè)問(wèn)題,執(zhí)行這個(gè)算法將不會(huì)解決這個(gè)問(wèn)題。不同的算法可能用不同的時(shí)間、空間或效率來(lái)完成同樣的任務(wù)。一個(gè)算法的優(yōu)劣可以用空間復(fù)雜度與時(shí)間復(fù)雜度來(lái)衡量,也就是算法分析,因此選項(xiàng)D錯(cuò)誤。算法設(shè)計(jì)一般采用由粗到細(xì)、由抽象到具體的初步求精的方法。
14.B。【解析】數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器中的實(shí)現(xiàn)。為了全面表示一個(gè)邏輯結(jié)構(gòu),它在存儲(chǔ)器中的影響包括數(shù)據(jù)元素自身值的表示和數(shù)據(jù)元素的表示兩方面。
15.B。【解析】順序查找的基本思想是:從表的一端開(kāi)始,順序掃描線性表,依次將掃描到結(jié)點(diǎn)的關(guān)鍵字和給定值k進(jìn)行比較,若當(dāng)前掃描到結(jié)點(diǎn)的關(guān)鍵字與k相等,則查找成功;若掃描結(jié)束后,仍未找到關(guān)鍵字等于k的結(jié)點(diǎn),則查找失敗。二分查找法是一種效率較高的查找方法,要求線性表是有序表。基本思想是:首先將待查的k值和有序表R[0]~R[n-1]的中間位置mid上的結(jié)點(diǎn)的關(guān)鍵字進(jìn)行比較,若相等,則查找完成;否則,若R[mid].key>k,則說(shuō)明待查找的結(jié)點(diǎn)只可能在左子表R[0]~R[mid-1]中,我們只需在左子表中繼續(xù)進(jìn)行折半查找,若R[mid].key 16.D!窘馕觥勘绢}考查虛擬機(jī)執(zhí)行過(guò)程的特點(diǎn)。Java虛擬機(jī)是編譯器生成的字節(jié)碼,不用考慮具體的硬件環(huán)境,實(shí)現(xiàn)一次編寫,隨處運(yùn)行,實(shí)現(xiàn)其可移植性。虛擬機(jī)執(zhí)行過(guò)程的特點(diǎn)有:多線程、動(dòng)態(tài)連接、異常處理。代碼安全檢查是Java語(yǔ)言的一個(gè)突出特點(diǎn),但不屬于虛擬機(jī)執(zhí)行過(guò)程特點(diǎn)。
17.A。【解析】本題考查考生對(duì)Java語(yǔ)言概念的理解,屬于考試重點(diǎn)內(nèi)容,歷次考試都有相關(guān)內(nèi)容,應(yīng)該理解這些基本概念。Java語(yǔ)言是分大小寫的,這一點(diǎn)在初學(xué)Java時(shí)需要特別注意,這一點(diǎn)與C語(yǔ)言有所不同,B選項(xiàng)錯(cuò)誤。以//開(kāi)始的應(yīng)該是單行的注釋語(yǔ)句,因此選項(xiàng)C錯(cuò)誤。Java中有三類注釋語(yǔ)句:文檔注釋/**…*/,被javadoc處理,可以建立類的一個(gè)外部說(shuō)明性文件;C語(yǔ)言注釋風(fēng)格/*…*/,用于去掉當(dāng)前不再使用但仍想保留的代碼等;單行注釋//,格式上要求注釋符//后必須緊跟一個(gè)空格,然后才是注釋信患。Java程序源文件名必須和public類名相同,否則編譯出錯(cuò),因此選項(xiàng)D錯(cuò)誤。只有選項(xiàng)A說(shuō)法正確。
18.C。【解析】本題考查實(shí)型變量科學(xué)計(jì)算格式的書寫。在科學(xué)計(jì)算格式中,e或E是指數(shù)符,要求在e/E之前必須有數(shù)字,選項(xiàng)A錯(cuò)誤。同時(shí)還要求在e/E之后必須是整數(shù),選項(xiàng)B和選項(xiàng)D錯(cuò)誤。雖然題目非常簡(jiǎn)單,但是不容易正確回答。正確答案為選項(xiàng)C。
19.C。【解析】本題考查Java語(yǔ)言中的進(jìn)制換算?忌紫纫宄鞣N進(jìn)制的表示方法,整型常量有3種書寫格式:十進(jìn)制整數(shù),如156,-230,345;八進(jìn)制整數(shù):以0開(kāi)頭,如012表示十進(jìn)制的l0;十六進(jìn)制整數(shù):以0x或0X開(kāi)頭,如0X123表示十進(jìn)制數(shù)291。選項(xiàng)A是十進(jìn)制的15,選項(xiàng)B和選項(xiàng)D都是十六進(jìn)制中的F相當(dāng)于十進(jìn)制的15,選項(xiàng)C為八進(jìn)制,以0開(kāi)頭,此處Ol5相當(dāng)于十進(jìn)制的13,與其他選項(xiàng)不同。
20.D!窘馕觥勘绢}考查考生對(duì)位運(yùn)算符中無(wú)符號(hào)右移運(yùn)算符的掌握。無(wú)符號(hào)右移運(yùn)算符>>>,也叫邏輯右移,用于將一個(gè)數(shù)的各二進(jìn)制位全部無(wú)符號(hào)右移若干位,與運(yùn)算符>>不同的是左補(bǔ)0,而>>則是最高位移入原來(lái)高位的值。在本題中,8的二進(jìn)制表示是1000,右移一位后變成了0100,對(duì)應(yīng)的十進(jìn)制數(shù)是4?梢(jiàn),正確答案為選項(xiàng)D。二、基本操作題(共18分)
本題定義了一個(gè)方法add(),用于求兩個(gè)整形數(shù)的和。方法中有兩個(gè)整形參數(shù)a和b,方法體中計(jì)算a和b的和sum,并將結(jié)果返回。程序中調(diào)用add()方法求整數(shù)24和34的和,并將結(jié)果打印輸出。
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;
;
}
}
三、簡(jiǎn)單應(yīng)用題(共24分)
本題中,主窗口有一個(gè)按鈕“顯示Dial09”,單擊該按鈕后顯示一個(gè)對(duì)話框,對(duì)話框的標(biāo)題是“Dial09”,其上有一個(gè)文字標(biāo)簽“歡迎學(xué)習(xí)Java.”,此時(shí)仍允許對(duì)原來(lái)窗口進(jìn)行操作,當(dāng)關(guān)閉新生成的對(duì)話框時(shí)退出程序。
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("歡迎學(xué)習(xí)Ja-
va."));
setVisible(true);
}
public void actionPerformed(ActionEvent e){
dig.setVisible(true);
}
private Dialog dig;
private Button but;
} 四、綜合應(yīng)用題(共18分)
本題的功能是監(jiān)聽(tīng)鼠標(biāo)的拖曳操作。窗口中有一個(gè)列表框,列表框中列出了當(dāng)前目錄的所有文件,鼠標(biāo)選中一個(gè)或多個(gè)文件后拖曳出窗口,此操作的功能是將拖曳的文件復(fù)制一份在拖曳的目的目錄下。
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;
四、綜合應(yīng)用題
第1處:File f—new File(".").getAbsoluteFile()
第2處:int i=0;i 第3處:private class FileListDragSoureeListener ex-
tends DragSourceAdapter
【解析】第1處是通過(guò)絕對(duì)路徑創(chuàng)建一個(gè)File對(duì)象f;第2處是files中f文件所在目錄下的所有文件名列表,此處就是遍歷這些文件名;第3處是定義了一個(gè)FileListDragSoureeListener類繼承用于接收拖動(dòng)源事件的抽象適配器類 DragSoureeAdapter。
【最新計(jì)算機(jī)二級(jí)考試JAVA押密試題】相關(guān)文章:
2016年計(jì)算機(jī)二級(jí)考試JAVA考前押密試卷07-25
計(jì)算機(jī)二級(jí)考試JAVA試題08-04
計(jì)算機(jī)等級(jí)考試二級(jí)java精選試題05-28
計(jì)算機(jī)二級(jí)考試Java試題及答案05-21
計(jì)算機(jī)二級(jí)考試《Java》試題及答案12-18
計(jì)算機(jī)二級(jí)考試JAVA模擬試題02-05
計(jì)算機(jī)二級(jí)JAVA考試精選模擬試題08-12