一、选择题(每小题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 |