2005年4月全国计算机等级考试二级JAVA笔试试题及答案
2005年4月全国计算机等级考试二级JAVA笔试试题及答案
一、选择题(每小题2分,共70分)
下列各题A.、B.、C.、D.四个选项中,只有一个选项是正确的,请将正确选项涂写
在答题卡相应位置上,答在试卷上不得分。
(1)数据的存储结构是指( )。
A.存储在外存中的数据
B.数据所占的存储空间量
C.数据在计算机中的顺序存储方式
D.数据的逻辑结构在计算机中的表示
答案:D
(2)下列关于栈的描述中错误的是( )。
A. 栈是先进后出的线性表
B. 栈只能顺序存储
C. 栈具有记忆作用
D. 对栈的插入与删除操作中,不需要改变栈底指针
答案:B
(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。
A.冒泡排序为n/2
B.冒泡排序为n
C.快速排序为n
D.快速排序为n(n-1)/2
答案:D
(4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )。
A.log2n
B.n/2
C.n
D.n+1
答案:C
(5)下列对于线性链表的描述中正确的是( )。
A. 存储空间不一定是连续,且各元素的存储顺序是任意的
B. 存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C. 存储空间必须连续,且前件元素一定存储在后件元素的前面
D. 存储空间必须连续,且各元素的存储顺序是任意的
答案:A
(6)下列对于软件测试的描述中正确的是( )。
A. 软件测试的目的是证明程序是否正确
B. 软件测试的目的是使程序运行结果正确
C. 软件测试的目的是尽可能多地发现程序中的错误
D. 软件测试的目的是使程序符合结构化原则
答案:C
(7)为了使模块尽可能独立,要求( )。
A. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
答案:B
(8)下列描述中正确的是( )。
A.程序就是软件
B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体
D.软件是程序、数据与相关文档的集合
答案:D
(9)数据独立性是数据库技术的重要特点之一,所谓数据独立性是指( )。
A.数据与程序独立存放
B.不同的数据被存放在不同的文件中
C.不同的数据只能被对应的应用程序所使用
D.以上三种说法都不对
答案:D
(10)用树形结构表示实体之间联系的模型是( )。
A.关系模型
B.网状模型
C.层次模型
D.以上三个都是
答案:C
(11)在Java中,负责对字节代码解释执行的是( )。
A.垃圾回收器
B.虚拟机
C.编译器
D.多线程机制
答案:B
(12)下列叙述中,正确的是
A.Java语言的标识符是区分大小写的
B.源文件名与public类名可以不相同
C.源文件扩展名为.jar
D.源文件中public类的数目不限
答案:A
(13)下列属于合法的Java标识符是
A._cat
B.5books
C.+static
D.-3.14159
答案:A
(14)在Java中,表示换行符的转义字符是
A.\n
B.\f
C.'n'
D.\dd
答案:A
(15)在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是
A.java.applet
B.java.awt
C.java.util
D.java.lang
答案:D
(16)在Java中,所有类的根类是
A.java.lang.Object
B.java.lang.Class
C.java.applet.Applet
D.java.awt.Frame
答案:A
(17)在Java中,用Package语句说明一个包时,该包的层次结构必须是
A.与文件的结构相同
B.与文件目录的层次相同
C.与文件类型相同
D.与文件大小相同
答案:B
(18)在读字符文件Employee.dat时,使用该文件作为参数的类是
A.BufferReader
B.DataInputStream
C.DataOutoutStream
D.FileInputStream
答案:D
(19)下列构造方法的调用方式中,正确的是
A.按照一般方法调用
B.由用户直接调用
C.只能通过new自动调用
D.被系统调用
答案:C
(20)类Panel默认的布局管理器是
A.GridLayout
B.BorderLayout
C.FlowLayout
D.CardLayout
答案:C
(21)在Java中,能实现多重继承效果的方式是
A.内部类
B.适配器
C.接口
D.同步
答案:C
(22)char类型的取值范围是
A.2-7 ~27 -1
B.0~216-1
C.-215 ~215 -1
D.0~28-1
答案:B
(23)能够支持javadoc命令的注释语句是
A./**...//
B./*...*/
C.//
D./**...*/
答案:D
(24)十进制数16的16进制表示格式是
A.0x10
B.0x16
C.0xA
D.16
答案:A
(25)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是
A.public int MAX_LENGTH=100
B.final int MAX_LENGTH=100
C.public const int MAX_LENGTH=100
D.public final int MAX_LENGTH=100
答案:D
(26)下列不是InputStream子类的是
A.文件输入流FileInputStream
B.final int MAX_LENGTH=100
C.public const int MAX_LENGTH=100
D.public final int MAX_LENGTH=100
答案:C
(27)下列方法中可以用来创建一个新线程的是
A.实现java.lang.Runnable接口并重写start()方法
B.实现java.lang.Runnable接口并重写run()方法
C.实现java.lang.Thread类并重写run()方法
D.实现java.lang.Thread类并重写start()方法
答案:C
(28)下列关于Java Application与Applet的说法中,正确的是
A.都包含main()方法
B.都通过“appletviewer”命令执行
C.都通过“javac”命令编译
D.都嵌入在HTML文件中执行
答案:C
(29)当启动Applet程序时,首先调用的方法是
A.stop()
B.init()
C.start()
D.destroy()
答案:B
(30)下列关于线程优先级的说法中,正确的是
A.线程的优先级是不能改变的
B.线程的优先级是在创建线程时设置的
C.在创建线程后的任何时候都可以设置
D.B和C
答案:C
(31)当浏览器重新返回Applet所在页面时,将调用Applet类的方法是
A.start()
B.init()
C.stop()
D.destroy()
答案:A
(32)按照Java的标识符命名规范,下列表示一个类的标识符正确的是
A.Helloworld
B.HelloWorld
C.helloworld
D.helloWorld
答案:B
(33)下列代码中,将引起一个编译错误的行是
1)public class Test{
2) int m,n;
3) public Test() {}
4) public Test(int a) {m=a;}
5) public static void main(String args[]){
6) Test t1,t2;
7) int j,k;
8) j=0;k=0;
9) t1=new Test();
10) t2=new Test(j,k);
11) }
12)}
A.第3行
B.第5行
C.第6行
D.第10行
答案:D
(34)下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位
置,使程序完整并能正确运行的语句是
public class Test implements Runnable{
public static void main(String args[]){
Test t=new Test();
Thread tt=new Thread(t);
tt.start();
}
public void run(){
for(;;){
try{
;
}catch( e){}
System.put.println("Hello");
}
}
}
A. sleep(1000)
InterruptedException
B. sleep(1000)
InterruptedException
C. Thread.sleep(1000)
RuntimeException
D. Thread.sleep(1000)
InterruptedException
答案:D
(35)阅读下列代码后
public class Person{
int arr[]=new int[10];
public static void main(String args[]){
System.out.println(arr[1]);
}
}
正确的说法是
A. 编译时将产生错误
B. 编译时正确,运行时将产生错误
C. 输出零
D. 输出空
答案:A
二、填空题(每空2分,共40分)
请将每空的正确答案写在【1】至【20】序号的横线上,答在试卷上不得分。
(1)某二叉树中度为2的结点有18个,则该二叉树中有 【1】 个叶子结点。 答案:19
(2)在面向对象方法中,类的实例称为 【2】 。 答案:对象
(3)诊断和改正程序中错误的工作通常称为 【3】 。 答案:调试或程序调试或软件调试或Debug(英文字母大小写均可)或调试程序或调试软件
(4)在关系数据库中,把数据表示成二维表,每一个二维表称为 【4】 。 答案:关系或关系表
(5)问题处理方案的正确而完整的描述称为 【5】 。 答案:算法或程序或流程图
(6)面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和 【6】 的集合体。 答案:方法
(7)Java源文件中最多只能有一个 【7】 类,其它类的个数不限。 答案:public
(8)在Java中所实现的多维数组,实际上是由一维数组构成的 【8】 。 答案:数组的数组
(9)StringBuffer类提供 【9】 字符串对象的表示。 答案:可变或可编辑
(10)每个Applet程序必须有一个类是 【10】 类的子类。 答案:Applet
(11)线程在生命期中要经历5种状态,分别是新建状态、可运行状态、运行状态、 【11】 状态和终止状态。 答案:阻塞
(12)FileInputStream是字节流;BufferedWriter是字符流;ObjectOutputStream是 【12】 。 答案:对象流或对象输出流
(13)break语句最常见的用法是在switch语句中,通过break语句退出switch语句,使程序从整个switch 语句后面的 【13】 开始执行。 答案:第一条语句
(14)请阅读下列程序代码,然后将程序的执行结果补充完整。
public class throwsException {
static void Proc(int sel)
throws ArithmeticException,ArrayIndexOutOfBoundsException{
System.out.println("In Situation"+sel);
if(sel==0){
System.out.println("no Exception caught");
return;
}else if(sel==1){
int iArray[]=new int[4];
iArray[1]=3;
}
}
public static void main(String args[]){
try{
Proc(0);
Proc(1);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Catch"+e);
}finally{
System.out.println("in Proc finally");
}
}
执行结果:
In.Situation()
no Exception caught
【14】
in Proc finally
答案:In Situation 1
(15)当使用Thread t=new Thread(r)创建一个线程时,表达式:r instanceof Thread的值为 【15】 。 答案:false