計(jì)算機(jī)二級考試試題樣卷-Java語言程序設(shè)計(jì)
全國計(jì)算機(jī)等級考試二級筆試樣卷Java語言程序設(shè)計(jì)
一、選擇題((1)~(35)每小題2分,共70分)
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是
A)源程序要文檔化 B)數(shù)據(jù)說明的次序要規(guī)范化
C)避免濫用goto語句 D)模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚
(2)從工程管理角度,軟件設(shè)計(jì)一般分為兩步完成,它們是
A)概要設(shè)計(jì)與詳細(xì)設(shè)計(jì) B)數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì)
C)軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì) D)過程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)
(3)下列選項(xiàng)中不屬于軟件生命周期開發(fā)階段任務(wù)的是
A)軟件測試 B)概要設(shè)計(jì) C)軟件維護(hù) D)詳細(xì)設(shè)計(jì)
(4)在數(shù)據(jù)庫系統(tǒng)中,用戶所見的數(shù)據(jù)模式為
A)概念模式 B)外模式 C)內(nèi)模式 D)物理模式
(5)數(shù)據(jù)庫設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和
A)編碼設(shè)計(jì) B)測試階段 C)運(yùn)行階段 D)物理設(shè)計(jì)
(6)設(shè)有如下三個(gè)關(guān)系表
下列操作中正確的是
A)T=R∩S B)T=R∪S
C)T=R×S D)T=R/S
(7)下列敘述中正確的是
A)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
B)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
C)一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小
D)上述三種說法都不對
(8)在長度為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為
A)63 B)64 C)6 D)7
(9)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的
A)存儲問題 B)共享問題 C)安全問題 D)保護(hù)問題
(10)對下列二叉樹
進(jìn)行中序遍歷的結(jié)果是
A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG
(11)運(yùn)行Java程序需要的工具軟件所在的目錄是
A)JDK的bin目錄 B)JDK的demo目錄
C)JDK的lib目錄 D)JDK的jre目錄
(12)下列關(guān)于Java語言特點(diǎn)的敘述中,錯(cuò)誤的是
A)Java是面向過程的編程語言
B)Java支持分布式計(jì)算
C)Java是跨平臺的編程語言
D)Java支持多線程
(13)Java的核心包中,提供編程應(yīng)用的基本類的包是
A)java.lang B)java.util C)java.applet D)java.rmi
(14)下列關(guān)于Java對import語句規(guī)定的敘述中,錯(cuò)誤的是
A)在Java程序中import語句可以有多個(gè)
B)在Java程序中import語句可以沒有
C)在Java程序中import語句必須有一個(gè)
D)在Java程序中import語句必須引入在所有類定義之前
(15)在編譯Java程序時(shí),用于指定生成.class文件位置的選項(xiàng)是
A)-g B)-d C)-verbose D)-nowarn
(16)閱讀下面程序
import java.io.*;
public class TypeTransition{
public static void main(String args[]){
char a = 'h';
int i = 100;
int j = 97;
int aa = a + i;
System.out.println("aa="+aa);
char bb = (char)j;
System.out.println("bb="+bb);
}
}
如果輸出結(jié)果的第二行為bb=a,那么第一行的輸出是
A)aa=I B)aa=204 C)aa=v D)aa=156
(17)閱讀下面程序
public class OperatorsAndExpressions {
void equalsMethod1(){
String s1=new String("how are you");
String s2=new String("how are you");
System.out.println(s1==s2);
}
public static void main(String args[]){
OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions();
//用于復(fù)合類型數(shù)據(jù)的“==”運(yùn)算符
OperAndExp. equalsMethod1();
}
}
程序運(yùn)行結(jié)果是
A)== B)true C)false D)equal
(18)閱讀下面代碼
if(x==0){System.out.println("冠軍");}
else if (x>-3){System.out.println("亞軍");}
else { System.out.println("季軍");}
若要求打印字符串“季軍”,則變量x的取值范圍是
A)x=0 & x<=-3 B)x>0 C)x>-3 D)x<=-3
(19)下列關(guān)于構(gòu)造方法的敘述中,錯(cuò)誤的是
A)Java語言規(guī)定構(gòu)造方法名與類名必須相同
B)Java語言規(guī)定構(gòu)造方法沒有返回值,但不用void聲明
C)Java語言規(guī)定構(gòu)造方法不可以重載
D)Java語言規(guī)定構(gòu)造方法只能通過new自動(dòng)調(diào)用
(20)閱讀下面程序
import javax.swing.JOptionPane;
public class Comparison {
public static void main( String args[] ){
String firstNumber, //用戶輸入第1個(gè)數(shù)據(jù)變量
secondNumber, //用戶輸入第2個(gè)數(shù)據(jù)變量
result; //輸出結(jié)果變量
int number1, //用于比較的第1個(gè)數(shù)
number2; //用于比較的第2個(gè)數(shù)
//用戶輸入第1個(gè)數(shù)據(jù)的字符串
firstNumber = JOptionPane.showInputDialog( "輸入第1個(gè)整數(shù):" );
//用戶輸入第2個(gè)數(shù)據(jù)的字符串
secondNumber = JOptionPane.showInputDialog( "輸入第2個(gè)整數(shù):" );
//將字符串轉(zhuǎn)換為整數(shù)類型
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber );
//初始化結(jié)果變量
______________________;
//比較兩個(gè)數(shù)據(jù)
if ( number1 == number2 )
result += number1 + " == " + number2;
if ( number1 != number2 )
result += number1 + " != " + number2;
if ( number1 < number2 )
result = result + "\n" + number1 + " < " + number2;
if ( number1 > number2 )
result = result + "\n" + number1 + " > " + number2;
if ( number1 <= number2 )
result = result + "\n" + number1 + " <= " + number2;
if ( number1 >= number2 )
result = result + "\n" + number1 + " >= " + number2;
//顯示結(jié)果
JOptionPane.showMessageDialog(null,result,"比較結(jié)果",
JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
}
為使程序能正確運(yùn)行并得到合理的輸出結(jié)果,初始化結(jié)果變量語句(下劃線處)應(yīng)是
A)result = "" B)result = null
C)result = number1 D)result = number2
(21)閱讀下面程序
public class Increment {
public static void main( String args[] ){
int c;
c = 5;
System.out.println( c );
System.out.println( c++ );
System.out.println( c );
}
}
程序運(yùn)行結(jié)果是
A)5 B)5 C)6 D)6
6 5 7 6
6 6 7 6
(22)下列敘述中,錯(cuò)誤的是
A)Java Application與Applet所用編譯命令相同
B)通常情況下Java Application只能有一個(gè)main()方法
C)Java Applet必須有HTML文件才能運(yùn)行
D)Java Applet程序的.class文件可用java命令運(yùn)行
(23)下列關(guān)于Java語言中線程的敘述中,正確的是
A)線程是由代碼、數(shù)據(jù)、內(nèi)核狀態(tài)和一組寄存器組成
B)線程間的數(shù)據(jù)是不共享的
C)用戶只能通過創(chuàng)建Thread類的實(shí)例或定義、創(chuàng)建Thread子類的實(shí)例建立和控制自己的線程
D)因多線程并發(fā)執(zhí)行而引起的執(zhí)行順序的不確定性可能造成執(zhí)行結(jié)果的不確定
(24)閱讀下面程序
import javax.swing.JOptionPane;
public class BreakLabelTest {
public static void main( String args[] ){
String output = "";
stop: {
for ( int row = 1; row <= 10; row++ ) {
for ( int column = 1; column <= 5 ; column++ ) {
if ( row == 5 )
break stop;
output += "* ";
}
output += "\n";
}
output += "\nLoops terminated normally";
}
JOptionPane.showMessageDialog(
null, output,"用一個(gè)標(biāo)志測試break語句",
JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
}
程序運(yùn)行結(jié)果是
A)窗口中有5行* * * * *
B)窗口中有5行* * * *
C)窗口中有4行* * * * *
D)窗口中有6行* * * * *
(25)處理對象傳輸?shù)慕涌谑?/p>
A)Serializable B)Cloneable C)ItemListener D)ActionListener
(26)在讀取二進(jìn)制數(shù)據(jù)文件的記錄時(shí),為了提高效率常常使用一種輔助類
A)InputStream B)FileInputStream C)StringBuffer D)BufferedReader
(27)可以使當(dāng)前同級線程重新獲得運(yùn)行機(jī)會的方法是
A)sleep() B)join() C)yield() D)interrupt()
(28)閱讀下面程序
1 public class Try extends Thread{
2 public static void main(String args[ ]){
3 Try t = new Try( );
4 t.start( );
5 }
6
7 public void run( int j){
8 int i = 0;
9 while(i<5){
10 System.out.println("祝你成功!");
11 i++;
12 }
13 }
14 }
該程序要求打印5行“祝你成功!”,必須改正程序中的某行代碼,程序才能完成。選擇正確的修改是
A)將第1行的extends Thread改為implements Runnable
B)將第3行的new Try()改為new Thread()
C)將第4行t.start()改為start(t)
D)將第7行的public void run( int j) 改為public void run()
(29)下列事件監(jiān)聽器中,無法對TextField對象進(jìn)行事件監(jiān)聽和處理的是
A)ActionListener B)FocusListener
C)MouseMotionListener D)ChangeListener
(30)Swing的選項(xiàng)面板是
A)JTabbedPane B)JLayeredPane C)JScrollPane D)JSplitPane
(31)每個(gè)Java小應(yīng)用程序必須定義為
A)Applet類或JApplet類的子類 B)JFrame類的子類
C)Frame的子類 D)Window的子類
(32)在Applet的init()方法被調(diào)用后,接下來最先被調(diào)用的方法是
A)run() B)start() C)stop() D)destroy()
(33)下列關(guān)于Applet的安全限制的敘述中,錯(cuò)誤的是
A)通常情況下,禁止Applet讀、寫本地文件系統(tǒng)
B)通常情況下,禁止Applet向Applet源主機(jī)之外的任何主機(jī)建立網(wǎng)絡(luò)連接
C)通常情況下,禁止Applet讀取系統(tǒng)信息
D)通常情況下,禁止Applet加載本地庫或方法
(34)下列標(biāo)識符(名字)命名原則中,正確的是
A)類名的首字母小寫 B)變量和方法名的首字母大寫
C)接口名的首字母小寫 D)常量完全大寫
(35)提供showDocument()方法,使Applet能夠請求瀏覽器訪問特定URL的類是
A)Applet B)AppletContext C)JApplet D)URL
二、填空題(每空2分,共30分)
請將每一個(gè)空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。
(1)下列軟件系統(tǒng)結(jié)構(gòu)圖
的寬度為 【1】 。
(2) 【2】 的任務(wù)是診斷和改正程序中的錯(cuò)誤。
(3)一個(gè)關(guān)系表的行稱為 【3】 。
(4)按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是 【4】 。
(5)數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于 【5】 。
(6)若想在程序中使用JLabel類,則該程序可以使用import 【6】 .JLabel;語句引入JLabel類。
(7)在Java中,3.14156D表示的是 【7】 數(shù)。
(8)閱讀下列代碼
public class Test2{
public static void main(String args[]){
System.out.println(5/2);}}
其執(zhí)行結(jié)果是 【8】 。
(9)閱讀下列代碼段
int x=3;
while (x<9)
x+=2;
x++;
while語句成功執(zhí)行的次數(shù)是 【9】 。
(10)Java不直接支持多繼承,但可以通過 【10】 實(shí)現(xiàn)多繼承。
(11)在下列程序的下劃線處,填入適當(dāng)語句使程序能正確執(zhí)行并輸出異常棧信息。
public class ThrowableException{
public static void main(String args[]){
try{
throw new Throwable("這里是本人定義的異常");
}catch(Throwable e){
System.out.println("Caught Throwable");
System.out.println("e.getMessage(): "+e.getMessage());
System.out.println("e.toString(): "+e.toString());
System.out.println("e.printStackTrace(): ");
【11】 ;}}}
(12)在java.io包中有某個(gè)類同時(shí)實(shí)現(xiàn)了DataInput接口和DataOutput接口,這個(gè)類
是 【12】 。
(13)在Java程序中,主線程一般具有 【13】 優(yōu)先級。
(14)當(dāng)實(shí)現(xiàn)Runnable接口時(shí),要實(shí)現(xiàn)的方法是 【14】 。
(15)mouseDragged()方法是MouseMotionListener接口中的抽象方法,該方法的參數(shù)
是 【15】 類。