1、2023年4月全国计算机等级考试二级JAVA笔试试题及答案 一、选择题(每小题2分,共70分) 下列各题A.、B.、C.、D.四个选项中,只有一个选项是对的的,请将对的选项涂写 在答题卡相应位置上,答在试卷上不得分。 (1)数据的存储结构是指( )。 A.存储在外存中的数据 B.数据所占的存储空间量 C.数据在计算机中的顺序存储方式 D.数据的逻辑结构在计算机中的表达 答案:D (2)下列关于栈的描述中错误的是( )。 A. 栈是先进后出的线性表 B. 栈只能顺序存储 C. 栈具有记忆作用 D. 对栈的插入与删除操作中,不需要改变栈底指针
2、 答案: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. 存储空间必须连续,且前件
3、元素一定存储在后件元素的前面 D. 存储空间必须连续,且各元素的存储顺序是任意的 答案:A (6)下列对于软件测试的描述中对的的是( )。 A. 软件测试的目的是证明程序是否对的 B. 软件测试的目的是使程序运营结果对的 C. 软件测试的目的是尽也许多地发现程序中的错误 D. 软件测试的目的是使程序符合结构化原则 答案:C (7)为了使模块尽也许独立,规定( )。 A. 模块的内聚限度要尽量高,且各模块间的耦合限度要尽量强 B. 模块的内聚限度要尽量高,且各模块间的耦合限度要尽量弱 C. 模块的内聚限度要尽量低,且各模块间的耦合限度要尽量弱 D
4、. 模块的内聚限度要尽量低,且各模块间的耦合限度要尽量强 答案:B (8)下列描述中对的的是( )。 A.程序就是软件 B.软件开发不受计算机系统的限制 C.软件既是逻辑实体,又是物理实体 D.软件是程序、数据与相关文档的集合 答案:D (9)数据独立性是数据库技术的重要特点之一,所谓数据独立性是指( )。 A.数据与程序独立存放 B.不同的数据被存放在不同的文献中 C.不同的数据只能被相应的应用程序所使用 D.以上三种说法都不对 答案:D (10)用树形结构表达实体之间联系的模型是( )。 A.关系模型 B.网状模型 C.层
5、次模型 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中,表达换行符的转义字符是
6、 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语句说明一个包时,该包的层次结构必须是
7、 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
8、 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进制表达格式是
9、 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
10、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与Appl
11、et的说法中,对的的是 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
12、所在页面时,将调用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
13、 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 clas
14、s 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. s
15、leep(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
16、. 编译时将产生错误 B. 编译时对的,运营时将产生错误 C. 输出零 D. 输出空 答案:A 二、填空题(每空2分,共40分) 请将每空的对的答案写在【1】至【20】序号的横线上,答在试卷上不得分。 (1)某二叉树中度为2的结点有18个,则该二叉树中有 【1】 个叶子结点。 答案:19 (2)在面向对象方法中,类的实例称为 【2】 。 答案:对象 (3)诊断和改正程序中错误的工作通常称为 【3】 。 答案:调试或程序调试或软件调试或Debug(英文字母大小写均可)或调试程序或调试软件 (4)在关系数据库中,把数
17、据表达成二维表,每一个二维表称为 【4】 。 答案:关系或关系表 (5)问题解决方案的对的而完整的描述称为 【5】 。 答案:算法或程序或流程图 (6)面向对象的语言将客观世界都当作由各种对象组成,共同特性和行为的对象组成类,类是变量和 【6】 的集合体。 答案:方法 (7)Java源文献中最多只能有一个 【7】 类,其它类的个数不限。 答案:public (8)在Java中所实现的多维数组,事实上是由一维数组构成的 【8】 。 答案:数组的数组 (9)StringBuffer类提供 【9】 字符串对象的表达。 答案:可
18、变或可编辑 (10)每个Applet程序必须有一个类是 【10】 类的子类。 答案:Applet (11)线程在生命期中要经历5种状态,分别是新建状态、可运营状态、运营状态、 【11】 状态和终止状态。 答案:阻塞 (12)FileInputStream是字节流;BufferedWriter是字符流;ObjectOutputStream是 【12】 。 答案:对象流或对象输出流 (13)break语句最常见的用法是在switch语句中,通过break语句退出switch语句,使程序从整个switch 语句后面的 【13】 开始执行。 答案
19、第一条语句 (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){
20、 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






