全國計算機二級考試Java模擬試題
點擊查看試題答案及解析
一、選擇題(每小題1分,共40小題,共40分)
1.算法的空間復雜度是指( )。
A.算法程序的長度
B.算法程序中的指令條數
C.算法程序所占的存儲空間
D.算法執行過程中所需要的存儲空間
2.用鏈表表示線性表的優點是( )。
A.便于隨機存取
B.花費的存儲空間較順序存儲少
C.便于插入和刪除操作
D.數據元素的物理順序與邏輯順序相同
3.已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為( )。
A.GEDHFBCA
B.DGEBHFCA
C.ABCDEFGH
D.ACBFEDHG
4.下列數據結構中,能用二分法進行查找的是( )。
A.順序存儲的有序線性表
B.線性鏈表
C.二叉鏈表
D.有序線性鏈表
5.結構化程序設計的3種基本結構是( )。
A.過程、子程序和分程序
B.順序、選擇和重復
C.遞歸、堆棧和隊列
D.調用、返回和轉移
6.下列敘述中正確的是( )。
A.在模塊化程序設計中,一個模塊應該盡量多的包括與其他模塊聯系的信息
B.在自頂向下、逐步細化的設計過程中,首先應設計解決問題的第一個細節
C.在模塊化程序設計中,一個模塊內部的控制結構也要符合結構化原則
D.在程序設計過程中,不能同時采用結構化程序設計
方法與模塊化程序設計方法
7.設計軟件結構是在軟件生命周期的( )。
A.軟件定義期
B.軟件開發期
C.軟件維護期
D.以上3個都不是
8.數據庫技術的根本目標是要解決數據的( )。
A.存儲問題
B.共享問題
C.安全問題
D.保護問題
9.設計數據庫的存儲結構屬于( )階段。
A.需求分析
B.概念設計
C.邏輯設計
D.物理設計
10.相對于數據庫系統,文件系統的主要缺陷有數據依賴、數據不一致性和( )。
A.可重用性差
B.安全性差
C.非持久性
D.冗余性
11.如果要求一個線性表既能較快地查找,又能適應動態變化的要求,則可采用的方法是( )。
A.分塊法
B.順序法
C.二分法
D.散列法
12.順序存儲結構的優點是( )。
A.刪除運算方便
B.存儲空間利用率高
C.插入運算方便
D.可以方便地運用到各種邏輯結構的存儲表中
13.用下列4種排序方法,對一個已排好序(由小到大)的序列進行由小到大排序時,選擇( )方法最好。
A.冒泡排序
B.直接選擇排序
C.直接插入排序
D.歸并排序
14.按層次次序將一棵有n-個結點的完全二叉樹的所有結點從l~n編號,當i≤n/2時,編號為i的結點的左子樹的編號是( )。
A.2i-1
B.2i
C.2i+1
D.不確定
15.對于給出的一組權w={10,12,16,21,30},通過霍夫曼算法求出的擴充二叉樹的帶權外部路徑長度為( )。
A.89
B.189
C.200
D.300
16.JDK中,用( )命令對其源文件進行編譯,生成字節碼文件。
A.java.exe
B.javac.exe
C.javadoc.exe
D.javap.exe
17.以下敘述中不屬于Java語言特點的是( )。
A.面向對象
B.可移植性
C.多線程
D.宏定義
18.在Java語言中,封閉是借助于( )實現酊。
A.對象
B.類
C.數組
D.成員
19.Java對文件類提供了許多操作方法,能獲得文件對象父路徑名的方法是( )。
A.getAbsolutePath()
B.getParentFile()
C.getAbsoluteFile()
D.getName()
20.下列各項中屬于合法標識符的是( )。
A.myid/2
B.+void
C.-5
D._vacl
21.下列各選項中屬于Java保留字的是( )。
A.TRUE
B.NULL
C.FALSE
D.null
22.下列各項中代表八進制整數的是( )。
A.0XA6
B.0144
C.1840
D.-lE3
23.下列代碼的執行結果是( )。
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.編譯出錯
B.5752
C.true
D.無任何輸出
26.下列關于內部類的說法,正確的是( )。
A.內部類可以與它包含的類名相同
B.內部類只能使用它所在類的靜態成員變量,不能使用它所在類的方法中的局部變量
C.內部類可以用abstract修飾定義為抽象類,不能用private或protected定義
D.外部使用內部類時必須給出類的全名
27.定義一個表示10個值為null的字符串數組,下面選項正確的是( )。
A.String []a;
B.String a[];
C.char a[l0][];
D.String a[]=new String[10];
28.有一個接口定義如下,下列選項中實現了該接口并且不是抽象的是( )。
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.下面程序段的輸出結果是( )。
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.通常我們使用( )方法來為一個部件注冊事件監聽的機器。
A.add×××Listener
B.×××Listener
C.Listener×××
D.×××Listeneradd
31.下列的( )原始類型在使用流時可以互換。
A.byte和boolean
B.char和int
C.byte和char
D.String和char
32.下列關于HTML標記的說法,正確的是( )。
A.URL getDocumentBase()返回Applet主類的URL
B.URL getCOdeBase()返回包含Applet的HTML文件的URL
C.在HTML中不說明String getParameter(stringname)的參數,該方法將返回"0"
D.HTML標記方法用于獲取HTML文件中關于Applet的信息
點擊查看試題答案及解析
33.下列關于Applet的說法,正確的是( )。
A.它們能讀/寫用戶的文件系統
B.它們能與提供包含小程序的網頁的站點之內的Internet站點聯系
C.它們能在閱讀者的系統上運行任何程序
D.它們能加載存儲在用戶系統上的程序
34.resume()方法恢復( )的執行。
A.通過調用stop()方法而停止的線程
B.通過調用sleep()方法而停止運行的線程
C.通過調用wait()方法而停止運行的線程
D.通過調用suspend()方法而停止運行的線程
35.下列方法中能完成主類實例初始化工作的是( )。
A.start()
B.stop()
C.ink()
D.paint()
36.下面的( )關鍵字通常用來對對象加鎖,從而使得對對象的訪問是排他的。
A.serialize
B.transient
C.synchronized
D.static
37.下列程序中,若從鍵盤中輸入的是大寫字母C,則程序輸出的結果是( )。
Importjava.io.*;
public class Exam{
public static void main(String args[]){
int ch=0;
System.out.println("輸入一個字符:");
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.下面的程序執行后,屏幕上顯示的應是( )。
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.編譯錯誤
39.以下( )命令能為遠程對象生成stub和skeleton。
A.rmiregistry
B.serialver
C.rmic
D.rmid
40.Java程序與數據庫的連接機制是( )。
A.ODBC
B.JDBC
C.ODBCAPI
D.SQL/CLI
二、基本操作題(共18分)
本題統計score[]={37,89,63,60,59,78,91)中成績不及格的人數。
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);
}
}
點擊查看試題答案及解析
三、簡單應用題(共24分)
本題中,在窗口右側添加了一個菜單,右側為一個文本域,菜單有“File”和“Help”,“File”菜單中有菜單項“New”、“Open”、“Save”、“Save as”和“Exit”,其中“Open”的快捷鍵為,“Save”的快捷鍵為,而“Help”菜單以及其中的菜單項“Index”和“About”設定了第一個字母為其快捷字母,通過鼠標單擊任一個菜單項或通過快捷鍵以及快捷字母,都能在后臺輸入所選擇的菜單項。
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();
}
}
四、綜合應用題(共18分)
本題中,主窗口中有兩個下拉菜單,一個控制繪制圖形的顏色,另一個控制繪制的圖形,在畫板中單擊鼠標,則以單擊的位置為左上角、以選定的顏色繪制選定的圖形。
import java.awt.*;
import java.awt.event.*;
class java3 extends Frame {
String[]figureNames={"圓形","橢圓形","正
方形","長方形");
String[]colorNames={"紅色","綠色","藍
色","黃色"};
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();
}
)
【全國計算機二級考試Java模擬試題】相關文章:
計算機二級考試JAVA模擬試題10-12
計算機二級JAVA考試精選模擬試題08-12
2015年全國計算機二級考試Java模擬試題(二)08-25
2015年全國計算機二級考試Java模擬試題(三)09-21
java考試模擬練習試題08-30
全國計算機二級考試java測試題與答案09-20
計算機二級考試Java試題及答案10-24