淘小兔

点击领取>>全国计算机等级考试真题题库全套最新考试资料

选择题(每小题1分,共40分)

1、 下面代码段的输出是(  )。 
if(5 8L7)0&8L5|2)system.out.println("true");

A 、 编译出错 

B 、 5752

C 、 true

D 、 无任何输出 

 

答案: A

解析: A。【解析】本题考查对位运算符和逻辑运算符的理解。位运算符”&”和”|¨用于按位将两个数进行与和或的操作,两个操作数可以是整型、字节型、长整型和短整型,但不能是浮点型数据。逻辑运算符&&只能对两个布尔型的数据进行运算,返回的结果也是布尔型的。 

2、 在软件开发中,需求分析阶段可以使用的工具是(  )。

A 、 N-S图 

B 、 DFD图

C 、 PAD图 

D 、 程序流程图 

 

答案: B

解析: B【解析】在软件开发中,需求分析阶段常使用的工具有数据流图(DFD)、数据字典(DD)、判断树和判断表。 

3、 下列叙述中正确的是(  )。

A 、 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B 、 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C 、 顺序存储结构能存储有序表,链式存储结构不能存储有序表

D 、 链式存储结构比顺序存储结构节省存储空间 

 

答案: A

解析: A【解析】顺序存储方式主要用于线性数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。链式存储结构的存储空间不一定是连续的。 

4、 下列方法被调用后,一定使调用线程改变当前状态的是(  )。

A 、 notify() 

B 、 yield()

C 、 sleep()

D 、 isAlive()

 

答案: C

解析: C。【解析】线程调用sleep函数后,使当前线程进入停滞状态。yield函数可使线程进入可执行状态,排程器从可执行状态的线程中重新排程,调用了yield函数的线程有可能被马上执行,也有可能不会马上执行。notify函数从线程等待池中移走任意一个线程,并把它放到锁标志等待池中,其状态仍旧是等待。所以只有sleep一定会改变线程状态。 

5、 下列表达式中正确的是(  )。

A 、 5++ 

B 、 (a+b)++

C 、 ++(a+b) 

D 、 ++x

 

答案: D

解析: D【解析】本题考查Java中的运算符。“++”和“--”都是一元算术运算符,主要用于自加和自减,在Java中不允许对表达式进行这样的运算,选项B和选项C都是错误的,更不允许对数字进行这样的运算,选项A也错误,只有选项D正确。 

6、 下列叙述中正确的是(  )。

A 、 在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息

B 、 在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节

C 、 在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则

D 、 在程序设计过程中,不能同时采用结构化程序设计 
方法与模块化程序设计方法 

 

答案: C

解析: C。【解析】在模块化程序设计中,模块之间的联系可以通过程序的控制结构来实现,在自顶向下、逐步细化的设计过程中,首先要考虑全局目标,而不是细节。在程序设计中模块化和结构化可以同时使用,一个模块的内部结构也要符合结构化设计原则。 

7、 下列代码中,将引起一个编译错误的行是(  )。 
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 tl,t2; 
7)int j,k; 
8)j=0;k=0; 
9)tl=new Test(); 
10)t2=new Test(j,k); 
11)}
12)}

A 、 第3行 

B 、 第5行

C 、 第6行 

D 、 第l0行 

 

答案: D

解析: D。【解析】本题考查考生对Java中构造方法的理解及应用。构造方法名必须与类名相同,没有返回值,用户不能直接调用,只能通过new自动调用。题目标两个构造方法Test()和Test(int a),按照参数决定调用哪个方法。tl=newTest()语句调用Test()方法,而t2=newTest(j,k)将会找不到相应的构造方法,程序编译出错在第10行,所以选项D正确。 

8、 下列说法中,(  )是正确的。

A 、 子类拥有的成员数目大于等于父类拥有的成员数目

B 、 父类代表的对象范围比子类广

C 、 子类要调用父类的方法,必须使用super关键字

D 、 一个Java类可以有多个父类 

 

答案: B

解析: B。【解析】本题考查对子类与父类关系的理解。对一个类的继承也就是构建了一个子类,子类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。重点掌握两点:子类方法的访问权限比父类访问权限高,因此父类不能替代子类,但子类能够代替父类,子类方法不能产生比父类更多的异常。子类拥有的成员数目小于等于父类拥有的成员数目,选项A说法错误;父类代表的对象范围比子类广,选项B说法正确;子类要调用父类的方法,可以使用super关键字,也可以将父类的方法进行重写,选项C说法错误。在Java中一个类只能有一个父类,选项D说法错误。 

9、 下面语句会产生编译错误的是(  )。

A 、 float F=1024.OF; 

B 、 double D=1024.0;

C 、 byte B=1024;

D 、 char C=1024; 

 

答案: C

解析: C。【解析】本题考查考生对Java中数据类型的理解。为了防止计算机高低位字节存储顺序不同,通常byte类型用来表示数据避免出错,因为它只有8bit,范围是:-l28~+127。 float类型数的表示范围是:-3.40282347E38~3.40282347E38:double类型数的表示范围是:-1.79769313486231570E308~ 1.79769313486231570E308;char类型在内存中占16bit,表示范围是O~65 535。 

10、 下列代码将对象写入的设备是(  )。 
ByteArrayOutputStream bout=new ByteArrayOut-
putStream(); 
ObjectOutputStream out=new ObjectOutputStream
(bout); 
out.writeObject(this); 
out.close();

A 、 内存 

B 、 硬盘

C 、 屏幕 

D 、 网络 

 

答案: A

解析: A。【解析】()bject()utputStream类的构造方法是ObjectOutputStream(0utputStream out)。Java中的二进制流全都写入到内存中。 

11、下列组件不能添加进Frame主窗口的是(  )。

A.Panel 

B.CheckBox

C.Dialog

D.Choice

参考解析:

C。【解析】本题考查对Java组件容器中添加容器的基本知识。选项A错误,Panel组件是容器,可以添加到Frame窗口;选项B错误,CheekBox组件是复选框组件,可以添加到Frame窗口;选项C正确,Dialog继承自Windows类,Windows类型(或子类)的对象不能包含在其他容器中;选项D错误,Choice组件是选择框组件,可以添加到Frame窗口。

 

12[单选题] Thread类中能运行线程的方法是(  )。

A.resume() 

B.start()

C.run()

D.init()

参考解析:B

resume()是Thread类分享的用于线程控制的方法;start()是Thread类中的方法,新建的线程不会自动运行,必须调用线程的start()方法才能运行该线程;run()是Thread类中的方法,在该方法中定义了线程的具体行为,线程开始执行时,就是从它的run()方法开始执行的,就像Java应用程序从main()开始、Applet从ink()开始一样;init()不是Thread类中的方法。
13[单选题] 下列有关操作系统的叙述中,不正确的是(  )。

A.操作系统管理计算机系统中的各种资源

B.操作系统为用户分享良好的界面

C.操作系统与用户程序必须交替运行

D.操作系统位于各种软件的最底层

  • 参考解析:
    C。【解析】操作系统是计算机系统中的一个系统软件,它能有效地组织和管理计算机系统中的各种资源,并且为用户分享良好的界面。没有任何软件支持的计算机称为裸机,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机,而操作系统位于各种软件的最底层。

 

 

[单选题] 下列关于栈叙述正确的是(  )。

A.栈顶元素能最先被删除

B.栈顶元素最后才能被删除

C.栈底元素永远不能被删除

D.以上三种说法都不对

  • 参考解析:

    A。【解析】栈是限定在一端进行插入、删除的先入后出的线性表数据结构,栈顶元素最后被插入到栈中,但是最先被删除;而栈底元素最先被插入,最后被删除。

 

 

15[单选题] 在Java中能实现多重继承效果的方式是(  )。

A.内部类 

B.适配器

C.接口 

D.同步

  • 参考解析:
    C。【解析】本题考查Java中多重继承的概念。首先要区分选项中各个概念。内部类是在一个类中的内部嵌套定义的类,主要用来生成事件适配器。适配器(Adapter)定义一个包装类,包装有不兼容接口的对象。这个包装类指的就是适配器,它包装的对象就是适配者(Adaptee),适配器分享客户类需要的接口。接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系,将多个接口合并,即多重继承就可以很容易实现,选项C正确。同步主要用在多线程程序设计中。

 

 

 

16[单选题] 结构化程序设计的3种基本结构是(  )。

A.过程、子程序和分程序

B.顺序、选择和重复

C.递归、堆栈和队列

D.调用、返回和转移

  • 参考解析:
    B。【解析】程序的三种基本控制结构包括:顺序、选择和重复(循环),这三种结构就足以表达出各种其他形式的结构。
17、 一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序历结果为(  )。

A.ACFBED 

B.DFBECA

C.ABCDEF

D.DEBFCA

  • 参考解析:
    D。【解析】这类题型一般通过前序遍历的结果来找根结点,用中序遍历的结构找分支结点,通过画出该二叉树可得到结果。

 

18、 AWT中用来表示颜色的类是(  )。

A.Font 

B.Color

C.Panel

D.Dialog

  • 参考解析:
    B。【解析】AWT中Font是表示字体的类,Color是表示颜色的类,Panel是表示面板的类,Dialog是表示对话框的类。

 

19、 下列运算符中,优先级最高的是(  )。

A.+= 

B.= =

C.&& 

D.+ +

  • 参考解析:
    D。【解析】算术运算符的优先级中,++和- -级别最高。

 

20、 在Java中,与数据库连接的技术是(  )。

A.开放数据库连接 

B.Java数据库连接

C.数据库厂家驱动程序 

D.数据库厂家的连接协议

参考解析:

B。【解析】开放数据库连接(ODBC,Open Datebase Connectivity),它是用C语言定义的。由于J2EE要求与Java绑定,因此规定使用Java数据库连接(JDBC,Java DataBase Connectivity),作为Java与数据库连接的技术。
21、 char类型被封装在(  )中。

A.java.lang.Integer 

B.java.lang.Char

C.java.lang.Boolean

D.java.lang.Character

  • 参考解析:
    D。【解析】Java语言中,char类型被封装在java.lang.Character中。

 

22、 在软件开发中,需求分析阶段产生的主要文档是(  )。

A.软件集成测试计划 

B.软件详细设计说明书

C.用户手册 

D.软件需求规格说明书

  • 参考解析:
    D。【解析】需求分析阶段只能产生需求分析规格说明数,A测试说明书是软件测试阶段生成的,B软件详细设计说明书是设计阶段生成的,C用户手册是软件发布时随软件一同交付给用户的。

 

 

23、 可以使当前同级线程重新获得运行机会的方法是(  )。

A.Sleep() 

B.join()

C.yield()

D.interrupt()

  • 参考解析:
    C。【解析】本题考查线程的基本控制。Thread类分享的基本线程控制方法包括:sleep()——使比其低的优先级线程运行,可以让一个线程暂停运行一段固定的时间;yield()——使具有与当前线程相同优先级的线程有运行的机会;join()——使当前线‘程暂停执行,等待调用该方法的线程结束后,再恢复执行;interrupt()——中断线程的阻塞状态,并且线程接收到InterruptException异常。根据上述介绍可知,只有yield()方法可以使当前同级线程重新获得运行机会。因此,本题的正确答案是C。
  •  

 

 

 

24、 能将程序补充完整的选项是(     )。 
class Person
{
private int a; 
public int change(int m){return m;) 
}
public class Teacher extends Person
{
public int b; 
public static void main(String arg[])
{
Person p=new Person(); 
Teacher t=new Teacher(); 
int i; 
          
}
}

A.i=m 

B.i=b

C.i=P.a

D.i=P.change(50)

  • 参考解析:
    D。【解析】本题考查类的声明。选项A中m没有被声明过,不能使用;选项B中虽然b是类Teacher的public成员变量,但在静态方法中,不能使用类中的非静态成员;选项C中a是类Person的private成员,在类外不能直接引用;选项D中change(intm)方法是pubtic方法,并且返回一个int型值,可以通过类的实例变量P引用并赋值给一个int型变量。
  •  

 

 

25、 当使用SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是(  )。

A.SomeThread类是包含run()方法的任意Java类

B.SomeThread类一定要实现Runnable接口

C.SomeThread类是Thread类的子类

D.SomeThread类是Thread类的子类并且要实现Runnable接口

  • 参考解析:
    C。【解析】由SomeThread t=new SomeThread()可知此题是通过继承Thread类来创建线程的。
  •  
26、 下列不属于Java关键字的是(  )。

A.this   

B.super

C.finally

D.NULL

  • 参考解析:
    D。【解析】Java的关键字中不包含NULL,它是C语言的关键字,表示空。
  •  
27、 在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有元素个数为(  )。

A.29 

B.30

C.31 

D.32

  • 参考解析:
    C。【解析】设队列容量为m,rear>front,则队列中元素个数为rear-front:rear<front,则队列中元素个数为m+(rear-front)。本题rear<front,则m=32+(2-3)=31。

 

 

28、 容器类java.awt.container的父类是(  )。

A.java.awt.Window 

B.java.awt.Component

C.java.awt.Frame

D.java.awt.Panel

  • 参考解析:
    B【解析】本题考查Java中容器类的概念。Container是一个类。实际上是Component的子类,因此容器本身也是一个构件,具有构件的所有性质,另外还具有放置其他构件和容器的功能。构件类(Component)是.Java的图形用户界面的最基本的组成部分。

 

 

 

29、 下列程序中,若从键盘中输入的是大写字母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){
printStackTrace(); 
}
}
}

A.C

B.Y

C.X

D.字母C的ASCIl码的整型值

  • 参考解析:
    C。【解析】本题考查考生阅读Java程序的能力。当使用h=System.in.read()语句从键盘读入大写字母C赋给ch,此时ch值为67,也就是字母C的ASCIl值。语句(int)ch_A+(int)ch_Z-ch结果为88,ASCIl码中的88相当于字母X,所以输出为X,选项C正确。

 

 

30、 下列方法中能完成主类实例初始化工作的是(  )。

A.start() 

B.stop()

C.init()

D.paint()

  • 参考解析:
    C。【解析】本题考查对Applet必须要重载的几个方法的理解。选项A错误,start()方法使得程序从初始态进入运行态,当浏览器从图标状态恢复为窗口时,或者当用户离开包含Applet的主页后又再返回时,系统都会自动再执行一遍start()方法。选项B错误,stop()方法是和start()方法相对应的,当浏览器变成图标或者是用户离开Applet所在页面时,浏览器都会调用stop()方法,该方法也是可以被多次调用的。选项C正确,当创建JavaApplet且第一次使用支持Java的浏览器载入该Applet时,就会执行init()方法,通常在这方法中执行一次性的初始化操作。选项D错误,paint()方法是画图时必须要重载的方法。

 

 

 

 

31、 下列(  )不是高级程序设计语言。

A.FORTRAN 

B.Java

C.C++ 

D.Visual ASM

  • 参考解析:
    D。【解析】高级语言是一类人工设计的语言,因为它对具体的算法进行了描述,所以又称为算法语言。它是面向程序设计独立于计算机的硬件。目前,计算机常用的高级语言有:BASIC语言、FORTRAN语言、COBOL语言、PASCAL语言、C语言、PROLOG语言、而当前流行的,面向对象的程序设计语言有C++和用于网络环境的程序设计语言Java等。

 

 

32、 构造方法名必须与(  )相同,它没有返回值,用户不能直接调用它,只能通过new调用。

A.类名 

B.对象名

C.包名 

D.变量名

  • 参考解析:
    A。【解析】构造方法名必须与类名相同。

 

33、 Java程序的并发机制是(  )。

A.多线程 

B.多接口

C.多平台 

D.多态性

  • 参考解析:
    A。【解析】Java是通过多线程实现并发机制的。多线程是指一个程序中包含多个执行流,多线程程序设计的含义是可以将程序任务分成几个并行的子任务。

 

 

34、 若特快订单是一种订单,则特快订单类和订单类的关系是(  )。 

A.使用关系 

B.包含关系

C.继承关系 

D.无关系

  • 参考解析:
    C。【解析】继承是允许将一个类定义为一个更通用类的特例。特殊类称为子类,通用类称为父类。除了订单类的属性外,特快订单类可能还有其他一些特殊属性。显然,订单类是通用类,即父类;而特快订单类是定单类的一个特例,是子类。订单类和特快订单类是继承关系。

 

 

35、 对象状态的持久化是通过(  )实现的。

A.文件 

B.管道

C.串行化 

D.过滤器

  • 参考解析:
    C【解析】将Java程序中的对象保存在外存中,称为对象永久化,对象永久化的关键是将它的状态以一种串行格式表示出来。

 

36、 下列变量的定义中,错误的是(  )。 

A.int X=3; 

B.float f;d;

C.String s="Hell0";

D.boolean b=true;

  • 参考解析:
    B。【解析】正确的方法是float f,d;,中间应该使用“,”而不是“;”,因为在Java中“;”表示一个语句结束。

 

37、 下列各选项中属于Java保留字的是(  )。

A.TRUE 

B.NULL

C.FALSE

D.null

  • 参考解析:
    D。【解析】在Java中,常量null、false、true都是小写的。所以A、B和C选项中的字符串都不是Java的保留字。
  •  
38、 当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象(  )。

A.以选中的压缩文件为参数

B.以FileInputStream对象为参数

C.以InputStreamReader对象为参数

D.以BufferedReader对象为参数

  • 参考解析:
    B。【解析】本题考查压缩文件流的概念。当输入一个ZIP文件时要将ZIP文件作为FilelnputStream构造方法的参数,所以选项B正确。而FilelnputStream对象又作为ZiplnputStream构造方法的参数出现。这里的ZipInputStream对象在将压缩文件内的输入项作为字符文本读出时即作为InputStreamReader的构造方法参数出现。最后,InputStreamReader对象作为BufferedReader的构造方法的参数,并且使用readLine()方法将压缩文件输入项作为文本读出。

 

 

 

39、 下列说法正确的是(  )。

A.类FileInputStream和FileOutputStream用来进行文 件I/O处理,由它们所分享的方法可以打开本地主机上的文件,并进行顺序的读/写

B.通过类File的实例或者一个表示文件名称的字符串可以生成文件输入/输出流,在流对象生成的同时,文件被 打开,但还不能进行文件读/写

C.对于InputStream和OutputStream来说,它们的实例都是是非顺序访问流,即只能进行顺序的读/写

D.当从标准输入流读取数据时,从键盘输入的数据直接输入到程序中

参考解析:

A。【解析】本题是考查对文件输入、输出流的理解。通过类File的实例或者一个表示文件名称的字符串可以生成文件输入/输出流,在流对象生成的同时,文件被打开,然后就可以进行文件读/写,选项B说法错误。对于InputStream和OutputStream来说,它们的实例都是顺序访问流,即只能进行顺序的读/写,选项C说法错误。当从标准输入流读取数据时,从键盘输入的数据被缓冲,按<Enter>键时,程序才会得到输入数据,选项D说法错误。

 

40、 下列命令中用于激活系统守候进程以便能够在Java虚拟机上注册和激活对象的是(  )。

A.rmic 

B.rmiregistry

C.rmid

D.serialver

参考解析:

C【解析】Java语言的RMl包括:rmic、rmiregistry,rmid、serialver。其中,命令rmid用于激活系统守候进程,以便能够在Java虚拟机上注册和激活对象。

 

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载