全國(guó)計(jì)算機(jī)二級(jí)考試Java模擬試題
點(diǎn)擊查看試題答案及解析
一、選擇題(每小題1分,共40小題,共40分)
1.算法的空間復(fù)雜度是指( )。
A.算法程序的長(zhǎng)度
B.算法程序中的指令條數(shù)
C.算法程序所占的存儲(chǔ)空間
D.算法執(zhí)行過程中所需要的存儲(chǔ)空間
2.用鏈表表示線性表的優(yōu)點(diǎn)是( )。
A.便于隨機(jī)存取
B.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少
C.便于插入和刪除操作
D.數(shù)據(jù)元素的物理順序與邏輯順序相同
3.已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為( )。
A.GEDHFBCA
B.DGEBHFCA
C.ABCDEFGH
D.ACBFEDHG
4.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是( )。
A.順序存儲(chǔ)的有序線性表
B.線性鏈表
C.二叉鏈表
D.有序線性鏈表
5.結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是( )。
A.過程、子程序和分程序
B.順序、選擇和重復(fù)
C.遞歸、堆棧和隊(duì)列
D.調(diào)用、返回和轉(zhuǎn)移
6.下列敘述中正確的是( )。
A.在模塊化程序設(shè)計(jì)中,一個(gè)模塊應(yīng)該盡量多的包括與其他模塊聯(lián)系的信息
B.在自頂向下、逐步細(xì)化的設(shè)計(jì)過程中,首先應(yīng)設(shè)計(jì)解決問題的第一個(gè)細(xì)節(jié)
C.在模塊化程序設(shè)計(jì)中,一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則
D.在程序設(shè)計(jì)過程中,不能同時(shí)采用結(jié)構(gòu)化程序設(shè)計(jì)
方法與模塊化程序設(shè)計(jì)方法
7.設(shè)計(jì)軟件結(jié)構(gòu)是在軟件生命周期的( )。
A.軟件定義期
B.軟件開發(fā)期
C.軟件維護(hù)期
D.以上3個(gè)都不是
8.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的( )。
A.存儲(chǔ)問題
B.共享問題
C.安全問題
D.保護(hù)問題
9.設(shè)計(jì)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)屬于( )階段。
A.需求分析
B.概念設(shè)計(jì)
C.邏輯設(shè)計(jì)
D.物理設(shè)計(jì)
10.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)依賴、數(shù)據(jù)不一致性和( )。
A.可重用性差
B.安全性差
C.非持久性
D.冗余性
11.如果要求一個(gè)線性表既能較快地查找,又能適應(yīng)動(dòng)態(tài)變化的要求,則可采用的方法是( )。
A.分塊法
B.順序法
C.二分法
D.散列法
12.順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)是( )。
A.刪除運(yùn)算方便
B.存儲(chǔ)空間利用率高
C.插入運(yùn)算方便
D.可以方便地運(yùn)用到各種邏輯結(jié)構(gòu)的存儲(chǔ)表中
13.用下列4種排序方法,對(duì)一個(gè)已排好序(由小到大)的序列進(jìn)行由小到大排序時(shí),選擇( )方法最好。
A.冒泡排序
B.直接選擇排序
C.直接插入排序
D.歸并排序
14.按層次次序?qū)⒁豢糜衝-個(gè)結(jié)點(diǎn)的完全二叉樹的所有結(jié)點(diǎn)從l~n編號(hào),當(dāng)i≤n/2時(shí),編號(hào)為i的結(jié)點(diǎn)的左子樹的編號(hào)是( )。
A.2i-1
B.2i
C.2i+1
D.不確定
15.對(duì)于給出的一組權(quán)w={10,12,16,21,30},通過霍夫曼算法求出的擴(kuò)充二叉樹的帶權(quán)外部路徑長(zhǎng)度為( )。
A.89
B.189
C.200
D.300
16.JDK中,用( )命令對(duì)其源文件進(jìn)行編譯,生成字節(jié)碼文件。
A.java.exe
B.javac.exe
C.javadoc.exe
D.javap.exe
17.以下敘述中不屬于Java語言特點(diǎn)的是( )。
A.面向?qū)ο?/p>
B.可移植性
C.多線程
D.宏定義
18.在Java語言中,封閉是借助于( )實(shí)現(xiàn)酊。
A.對(duì)象
B.類
C.數(shù)組
D.成員
19.Java對(duì)文件類提供了許多操作方法,能獲得文件對(duì)象父路徑名的方法是( )。
A.getAbsolutePath()
B.getParentFile()
C.getAbsoluteFile()
D.getName()
20.下列各項(xiàng)中屬于合法標(biāo)識(shí)符的是( )。
A.myid/2
B.+void
C.-5
D._vacl
21.下列各選項(xiàng)中屬于Java保留字的是( )。
A.TRUE
B.NULL
C.FALSE
D.null
22.下列各項(xiàng)中代表八進(jìn)制整數(shù)的是( )。
A.0XA6
B.0144
C.1840
D.-lE3
23.下列代碼的執(zhí)行結(jié)果是( )。
public class Test
{
public static void main(String args[])
{
System.out.println(5/2);
System.OUt.println(100%3.O)
}
}
A.2和1
B.2和1.0
C.2.5和1
D.2.5和1.0
24.char類型被封裝在( )中。
A.java.lang.Integer
B.java.lang.Char
C.java.lang.Boolean
D.java.lang.Character
25.下面代碼段的輸出是( )。
if(5 8L7)0&8L5|2)system.out.println("true");
A.編譯出錯(cuò)
B.5752
C.true
D.無任何輸出
26.下列關(guān)于內(nèi)部類的說法,正確的是( )。
A.內(nèi)部類可以與它包含的類名相同
B.內(nèi)部類只能使用它所在類的靜態(tài)成員變量,不能使用它所在類的方法中的局部變量
C.內(nèi)部類可以用abstract修飾定義為抽象類,不能用private或protected定義
D.外部使用內(nèi)部類時(shí)必須給出類的全名
27.定義一個(gè)表示10個(gè)值為null的字符串?dāng)?shù)組,下面選項(xiàng)正確的是( )。
A.String []a;
B.String a[];
C.char a[l0][];
D.String a[]=new String[10];
28.有一個(gè)接口定義如下,下列選項(xiàng)中實(shí)現(xiàn)了該接口并且不是抽象的是( )。
interface A
{
int methodl(int i);
int method2(int j);
}
A.classBimplementsA B.classB
{ {
int methodl(){) int methodl(inti){)
int method2(){) int method2(intj){)
} }
C.class B implements A D.class B extends A
{ {
int methodl(int i){) int methodl(int i){}
int method2(int j){) int method2(int J){}
} }
29.下面程序段的輸出結(jié)果是( )。
class Base
{
int i;
Base()
{
add(1);
}
void add(int v)
{
i+=v:
}
void print()
{
System.out.println(i);
}
}
class Extension extends Base
{
Extension()
{
add(2);
}
void add(int v)
{
i+=v*2:
}
}
public class Test
{
public static void main(String args[])
{
bogo(new Extension());
}
static void bogo(Base b)
{
b.add(8);
b.print();
}
}
A.9 B.18
C.20 D.22
30.通常我們使用( )方法來為一個(gè)部件注冊(cè)事件監(jiān)聽的機(jī)器。
A.add×××Listener
B.×××Listener
C.Listener×××
D.×××Listeneradd
31.下列的( )原始類型在使用流時(shí)可以互換。
A.byte和boolean
B.char和int
C.byte和char
D.String和char
32.下列關(guān)于HTML標(biāo)記的說法,正確的是( )。
A.URL getDocumentBase()返回Applet主類的URL
B.URL getCOdeBase()返回包含Applet的HTML文件的URL
C.在HTML中不說明String getParameter(stringname)的參數(shù),該方法將返回"0"
D.HTML標(biāo)記方法用于獲取HTML文件中關(guān)于Applet的信息
點(diǎn)擊查看試題答案及解析
33.下列關(guān)于Applet的說法,正確的是( )。
A.它們能讀/寫用戶的文件系統(tǒng)
B.它們能與提供包含小程序的網(wǎng)頁的站點(diǎn)之內(nèi)的Internet站點(diǎn)聯(lián)系
C.它們能在閱讀者的系統(tǒng)上運(yùn)行任何程序
D.它們能加載存儲(chǔ)在用戶系統(tǒng)上的程序
34.resume()方法恢復(fù)( )的執(zhí)行。
A.通過調(diào)用stop()方法而停止的線程
B.通過調(diào)用sleep()方法而停止運(yùn)行的線程
C.通過調(diào)用wait()方法而停止運(yùn)行的線程
D.通過調(diào)用suspend()方法而停止運(yùn)行的線程
35.下列方法中能完成主類實(shí)例初始化工作的是( )。
A.start()
B.stop()
C.ink()
D.paint()
36.下面的( )關(guān)鍵字通常用來對(duì)對(duì)象加鎖,從而使得對(duì)對(duì)象的訪問是排他的。
A.serialize
B.transient
C.synchronized
D.static
37.下列程序中,若從鍵盤中輸入的是大寫字母C,則程序輸出的結(jié)果是( )。
Importjava.io.*;
public class Exam{
public static void main(String args[]){
int ch=0;
System.out.println("輸入一個(gè)字符:");
try{
ch=System.in.read();
charch_A=’A’,ch_Z=’Z’;
int delta c=(int)ch A+(int)ch Z-ch;
syStem. out.println("編碼后的字符為:"+(char)delta_c);
}
catch(IOException e){
e.printStackTrace();
}
}
}
A.C
B.Y
C.X
D.字母C的ASCIl碼的整型值
38.下面的程序執(zhí)行后,屏幕上顯示的應(yīng)是( )。
public class Exam{
public static void main(String[]args){
char charl[]=(’t’,’e’,’s’,’t’};
char char2[]=(’t’,’e’,’s’,’t’,’l’};
String sl=newString(charl);
String s2=newString(char2,0,4);
System.out.println(sl.equals(s2));
}
}
A.true
B.false
C.test
D.編譯錯(cuò)誤
39.以下( )命令能為遠(yuǎn)程對(duì)象生成stub和skeleton。
A.rmiregistry
B.serialver
C.rmic
D.rmid
40.Java程序與數(shù)據(jù)庫(kù)的連接機(jī)制是( )。
A.ODBC
B.JDBC
C.ODBCAPI
D.SQL/CLI
二、基本操作題(共18分)
本題統(tǒng)計(jì)score[]={37,89,63,60,59,78,91)中成績(jī)不及格的人數(shù)。
public class javal{
public static void main(String[]args){
int score[]={37,89,63,60,59,78,91),
int sum=0:
int i=0;
while(i if(score[i]>=60){
;
;
}
;
i++;
}
System.OUt.println("below 60 sum:"+sum);
}
}
點(diǎn)擊查看試題答案及解析
三、簡(jiǎn)單應(yīng)用題(共24分)
本題中,在窗口右側(cè)添加了一個(gè)菜單,右側(cè)為一個(gè)文本域,菜單有“File”和“Help”,“File”菜單中有菜單項(xiàng)“New”、“Open”、“Save”、“Save as”和“Exit”,其中“Open”的快捷鍵為,“Save”的快捷鍵為,而“Help”菜單以及其中的菜單項(xiàng)“Index”和“About”設(shè)定了第一個(gè)字母為其快捷字母,通過鼠標(biāo)單擊任一個(gè)菜單項(xiàng)或通過快捷鍵以及快捷字母,都能在后臺(tái)輸入所選擇的菜單項(xiàng)。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax swing.event.*;
public class java2 extends JFrame
{
private J Menuhem savehem;
private JMenuhem saveAsltem
private JPopupMenu popup;
private JTextArea textArea;
public java2()
{setTitle("java2");
setSize(400,300);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
textArea=new JTextArea(0,0);
Container contentPane=getContentPane();
contentPane.add(new JSerollPane(textArea).
"Center");
JMenuBar menuBar=new JMenuBar();
menuBar.setLayout(new BoxLayout(menuBar.
BoxLayout.Y_AXIS));
getContentPane().add(menuBar, BorderLayout.
WEST):
HorizontalMenu fileMenu=new HorizontalMenu
("File");
fileMenu.addMenuListener(this);
JMenuhem openhem = new JMenultem
("Open");
openItem.setAceelerator(KeyStroke.getKeyStroke
(KeyEvent.VK_O,InputEvent.CTRL_MASK));
saveltem=new JMenuhem("Save");
savehem.setAccelerator(KeyStroke.getKeyStroke
(KeyEvent.VK_S,InputEvent.CTRL_MASK));
saveAshem=new JMenuhem("Save As");
menuBar.add(makeMenu(fileMenu,
new Object[]{
"New",Openhem,null,savehem,saveAshem.
null."Exit"
},this));
HorizontalMenu helpMenu=new Horizontal-
Menu("Help");
helpMenu. (’H’);
menuBar.add(Box.createVerticalGlue());
menuBar.add(makeMenu(helpMenu,
new Object[]
{new JMenuhem("Index",’I’),
new JMenuhem("About",’A’)
},this));
}
public void actionPerformed(ActionEvent evt){
String arg=evt.getActionCommand();
System.out.println(arg);
if(arg.equals("Exit"))
System.exit(0);
}
pubile void menuSelected(MenuEvent evt){
}
public void menuDeselected(MenuEvent evt){
}
public void menuCanceled(MenuEvent evt){
}
public HorizontalMenu makeMenu(Object parent,
Object[]items,Object target)
{
HorizontalMenu m=null:
if(parent instanceoI HorizontalMenu)
m=(HorizontalMenu)parent;
else if(parent instaneeof String)
m=new HorizontalMenu((String)parrent);
else
return null;
m.setMinimumSize(m.getPreferredSize());
for(int i=0;i if(items[i]= =null)
m.addSeparator();
else
m.add(makeMenultem(items[i],target));
}
return m;
}
public static JMenuhem makeMenuItem(Object i-
tem,Object target)
{
JMenuItem r=null:
if(item instanceof String)
r=new JMenultem((String)item);
else if(item instanceof JMenuhem)
r=(JMenultem)item;
else return null;
if(target instanceof ActionListener)
r.addActionListener((ActionListener)target);
return r;
}
class HorizontalMenu extends J Menu{
HorizontalMenu(String label){
super(label);
JPopupMenu pm=getPopupMenu();
pm.setLayout(new BoxLayout(pm,BoxLayout.X
_AXIS));
setMinimumSize(getPreferredSize());
}
}
public static void main(String[] args){
Frame f=newjava2();
f.show();
}
}
四、綜合應(yīng)用題(共18分)
本題中,主窗口中有兩個(gè)下拉菜單,一個(gè)控制繪制圖形的顏色,另一個(gè)控制繪制的圖形,在畫板中單擊鼠標(biāo),則以單擊的位置為左上角、以選定的顏色繪制選定的圖形。
import java.awt.*;
import java.awt.event.*;
class java3 extends Frame {
String[]figureNames={"圓形","橢圓形","正
方形","長(zhǎng)方形");
String[]colorNames={"紅色","綠色","藍(lán)
色","黃色"};
Color[]colorValues={Color.red,Color.green,
Color.blue,Color.yellow);
Choice chFigure=new Choice();
Choice chColor=new Choice();
int curX,curY;
java3(){
super("java3");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(O);
}
});
Panel P=new Panel(new GridLayout(1,O));
for(int i=0;i ehFigure.addhem(figureNames[i]);
}
for(int i=0;i chColor.addhem(eolorNames[i]);
}
P.add(chColor);
P.add(chFigure);
add(p,BorderLayout.NORTH);
addMouseListener(this);
setSize(300,300);
show();
}
public void update(Graphics g){
g.getColor(colorValues[chColor,getSelectedIndex
()]);
switch(chFigure.getSelectedlndex()){
case 0;
g.fillOval(curX,curY,30,30);
break;
case l:
g.fillOval(curX,curY,30,50);
break;
case 2:
g.fillRect(curX,curY,30,30);
break;
case 3:
g.fillRect(curX,curY,30,50);
break;
}
}
class MouseEventListener implements MouseAda-
pter{
public void mousePressed(MouseEvent evt){
curX=evt.getX();
curY=evt.getY();
repaint();
}
}
static public void main(String[]args){
new java3();
}
)
【全國(guó)計(jì)算機(jī)二級(jí)考試Java模擬試題】相關(guān)文章:
計(jì)算機(jī)二級(jí)JAVA考試模擬試題06-24
計(jì)算機(jī)二級(jí)考試JAVA模擬試題10-12
計(jì)算機(jī)二級(jí)JAVA考試精選模擬試題08-12
全國(guó)計(jì)算機(jī)考試二級(jí)考試Java模擬試題附答案08-17
2015年全國(guó)計(jì)算機(jī)二級(jí)考試Java模擬試題(三)09-21
全國(guó)計(jì)算機(jī)二級(jí)考試Java模擬試題(二)答案及解析01-26
全國(guó)計(jì)算機(jī)二級(jí)考試Java模擬試題答案及解析10-05