1.下列关于栈叙述正确的是()。
A.栈顶元素能最先被删除
B.栈顶元素最后才能被删除
C.栈底元素永远不能被删除
D.以上三种说法都不对
2.下列叙述中正确的是()。
A.有一个以上根结点的数据结构不一定是非线性结构
B.只有一个根结点的数据结构不一定是线性结构
C.循环链表是非线性结构
D.双向链表是非线性结构
3.某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)()。
A.3
B.4
C.6
D.7
4.在软件开发中,需求分析阶段产生的主要文档是()。
A.软件集成测试计划
B.软件详细设计说明书
C.用户手册
D.软件需求规格说明书
点击进入>>全国计算机等级考试真题题库全套最新考试资料
5.结构化程序所要求的基本结构不包括()。
A.顺序结构
B.GOT()跳转
C.选择(分支)结构
D.重复(循环)结构
6.下面描述中错误的是()。
A.系统总体结构图支持软件系统的详细设计
B.软件设计是将软件需求转换为软件表示的过程
C.数据结构与数据库设计是软件设计的任务之一
D.PAD图是软件详细设计的表示工具
7.负责数据库中查询操作的数据库语言是()。
A.数据定义语言
B.数据管理语言
C.数据操纵语言
D.数据控制语言
8.一个教师可讲授多门课程,一门课程可由多个教师
讲授。则实体教师和课程间的联系是()。
A.1:l联系
B.1:m联系
C.m:1联系
D.m:n联系
9.有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是()。
A.自然连接
B.交
C.除
D.并
10.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
A.-369
B.369
C.0.369
D.整数集合{1,2,3,4,5}
11.下列关于面向对象的论述中,正确的是()。
A.面由对象是指以对象为中心,分析、设计和实现应用程序的机制
B.面向对象是指以功能为中心,分析、设计和实现应用程序的机制
C.面向对象仅适用于程序设计阶段
D.面向对象是一种程序设计语言
点击进入>>全国计算机等级考试真题题库全套最新考试资料
12.语句"Hell0".equals("hell0");的正确执行结果
publicstaticvoidmain(String[]args){
int[]x={0,1,2,3};
for{inti=0;i<3;1+=2){
try{
systcm.OUt.println(x[i+2]/x[i]+x[i+1]);
}catch(ArithmeticExceptione){
System.OUt.println("errorl"):
}catch(Exceptione){
System.OUt.println("error2"):
}
}
}
}
A.errorl
B.error2
C.errorl
D.2
orror2error2
16.下列整数的定义中,错误的是()。
A.intf=314.;
B.inta=012;
C.inti=189;
D.intd=0x123;
17.要得到某目录下的所有文件名,在下列代码的下画
线处应填入的内容是(两个下画线的填写内容相同)()。
pathName=new(args[o]);
String[]fileNames=pathName.list();
A.FilefnputStream B.FileOutputStream
C.File D.RandomAccessFile
18.在下列代码的下i画线处应填人的内容是()。
publicclassFirstSample{
publicstaticvoidmain(args[]){
System.out.println("你好!");
}
}
A.staff B.double
C.int D.String
19.Object类中的方法publicinthashCode[],在其子类中
覆盖该方法时,其方法修饰符可以是()。
A.protected B.public
C.private D.缺省
20.下列代码中的内部类名是()。
importjava.awt.event.*;
lapoctjavax.swin9.*;
classTalkingClock(
publicvoidstart(intinterval,finalbooleanbeep){
ActionListenerlistener=new
ActionListener(){
publicvoidactionPerformed(ActionEvente-
vent){
…
}
}
Timert=newTimer(interval,listener);
t.start();
}
}
A.Timer
B.ActionListener
C.1istener
D.匿名
点击进入>>全国计算机等级考试真题题库全套最新考试资料
21.已知zipname是一个压缩文件名。则zipname在下列代码中出现的正确位置是()。
ZipInputStreamzin=
newZipInputStzeam(newFileInputStream(①));
ZipEntryentry;
while((entry=zin.getNextEntry(②))!=null){
fileCombo.addltem(entry.getNamc(③));
zin.closeEntry(④);
}
zin.close();
A.①
B.②
C.③
D.④
22.下列代码的执行结果是()。
intnumbers[]=newint[6];
for(inti=1;inumbers[[i]=i-1;
Systern.OUt.print(numbers[I]+"");
A.012345
B.123456
C.01234
D.12345
23.JavaAPIee支持线程的类或接口是()。
Ⅰ.java.lang.Thread
Ⅱ.java.lang.Runnable
Ⅲ.java.lang.ThreadGroup
IV.java.io.Serializable
A.I,Ⅱ B.I,Ⅱ,Ⅲ
C.I,Ⅱ,IV D.I,Ⅱ,Ⅲ,Ⅳ
24.下列关于Test类的定义中,正确的是()。
A.classTestimplementsRunnable{
publicvoidrun(){}
DublicvoidsomeMethod[]{}
}
B.classTestimplementsRunnable(
puIblicvoidrun();
}
C.classTestimplementsRunnable(
DublicvoidsomeMethod[];
}
D.classTestimplementsRunnable(
publicvoidsomeMethod(){}
}
25.下列方法被调用后,一定使调用线程改变当前状态的是()。
A.notify()
B.yield()
C.sleep()
D.isAlive()
26.在堆栈类Sharedstack的定义中,为了保证堆栈在并发操作中数据的正确性,应在下画线处填入的修饰符是(两个下画线的填写内容相同)()。
publicclassSharedStack{
intidx=0;
char[]data=newchar[10];
publicsynchtonizedvoidpush(charc){……}
publR,synchronizedvoidpop(){……}
}
A.Dublic
B.不使用修饰符
C.private
D.protected
27.关于下列代码编译或执行结果的描述中,正确的是()。
publicclassTest{
publicstaticvoidmain(StringargsE]){
TcstThreadpml=newTestThread("One")
pml.start();
TestThreadpm2=newTestThread("Tw0")
pm2.start();
}
}
classTestThreadextendsThread(
privateStringsTname="";
TestThread(Strings){
sTname=s;
}
publicvoidrun(){
for(inti=O;i<2;i++){
try{
sleep(1000);
}catch(InterruptedExceptione){}
system.out.print(sTname+"");
}
}
}
A.不能通过编译,TestThread类中不能定义变量和构造方法
B.输出OneOneTwoTwo
C.输出TwoOneOneTwo
D.选项B或C都有可能出现
28.下列关于Applet的叙述中,正确的是()。
A.为了使Applet在浏览器中运行,需要在HTML文件中嵌入相应的Applet类
B.Applet不能从外部接收参数
C.Applet不能使用javac命令进行编译
D.JavaApplication与Applet都必须包含main()方法
29.下列代码的下画线处应填入的方法名是()。
importjava.awt.*;
importjava.applet.*;
publicclassHelloextendsApplet{
publicvoid(Graphicsg){
9.drawstring("Howareyou!",l0,10);
}
}
A.repaint B.println
C.paint D.show
30.下列变量的定义中,错误的是()。
A.intX=3;
B.floatf;d;
C.Strings="Hell0";
D.booleanb=true;
31.下列代码的执行结果是()。
intlength="Hell0".length();
System.OUt.println(length);
A.5
B.2
C.10
D.6
32.下列代码的编译或执行结果是()。
publicclassMyval{
publicstaticvoidmain(stringargs[]){
MyValm=newMyVal();
m.aMethod();
}
publicvoidaMethod(){
booleanb[]=newBoolean[5];
System.OUt.println(b[0]);
}
}
A.1
B.null
C.0
D.编译错误
33.若变量a是String类型的数据,那么表达式(a+a)的类型是()。
A.char
B.String
C.int
D.long
34.Component类中用于刷新组件的方法是()。
A.getFont()
B.getName()
C.update()
D.paint()
35.鼠标在窗口中移动时,产生的事件是()。
A.ActionEvent
B.PrintEvent
C.KeyEvent
D.MouseEvent
36.一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序历结果为()。
A.ACFBED
B.DFBECA
C.ABCDEF
D.DEBFCA
37.在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则关系A的外码是()。
A.CN
B.SN
C.S
D.D
38.若类声明加上()修饰符,则表示该类不能有子类。
A.close
B.final
C.down
D.end
39.在对象流中,对象的传送首先要将所传送的对象串行化,也就是实现Serializable接口。下列代码中必须实现Serializable接口的类是()。
obiectInputin=
newObjectlnputStream(newFileInputStream("am-
ployee.dat"));
Employee[]newStaff=(Employee[1]in.readobject();
A.Employee B.Input
C.Staff D.Stream
40.下列代码的执行结果是()。
publicclassExpression{
publicstaticvoidmain(Stringarga[](
Intvl=10,v2=99,v3=0;
System.Out.prIntln((vl}
}
A.9.9
B.3
C . false
D.true
1.A。【解析】栈是限定在一端进行插入、删除的先入后出的线性表数据结构,栈顶元素最后被插入到栈中,但是最先被删除;而栈底元素最先被插入,最后被删除。
2.D。【解析】线性表的特点是:在数据元素的非空有限集合中;存在唯一的一个被称为“第一个”的数据元素;存在唯一一个被称为“最后一个”的数据元素;除第一个以外,集合中的每个数据元素均只有一个后继;除最后一个以外,集合中的每个数据元素均只有一个后继。因此,双向表是非线性结构。
3.D。【解析】对于任意一棵二叉树T,如果叶子结点数为n0,度为2的结点数为n2,二者之间的关系是n0=n2+1,该题中度为2的结点数为0,且只有一个叶子结点,因此,树中度为l的结点有6个,很容易想到树的高度为7。
4.D。【解析】需求分析阶段只能产生需求分析规格说明数,A测试说明书是软件测试阶段生成的,B软件详细设计说明书是设计阶段生成的,C用户手册是软件发布时随软件一同交付给用户的。
5.B。【解析】结构化程序设计的三种结构是顺序、分支和循环,不包括goto跳转,它只是分支结构的一种,也是一个关键字。
6.A。【解析】软件系统的总体结构图是软件架构设计的依据,它并不能支持软件的详细设计。
7.C。【解析】数据库操纵语言专门负责查询、增加和删除等数据操作。
8.D。【解析】一个教师可以上多门课程,一门课程也可以由多个教师教授,这是典型的多对多的E—R关系。
9.C。【解析】S中的关系全部出现在R中,只有做除法操作才会出现关系T。
10.B。【解析】A是有符号数,C是浮点数,D是集合,并不是类的实例化对象,只有B完全符合。
11.A。【解析】面向对象是一种程序设计方式,Java、C++是面向对象设计的语言,而C是面向过程设计的语言。面向对象设计适应于设计、编码、实现、测试等一系列环节。
12.B。【解析】Java是强类型检查语言,字符串的equals方法执行的返回值是true或者false。
13.B。【解析】一个文件的public类最多可以有一个,但是可以包含多个import,包含的接口定义也可以有多个,包含的class类可以有多个,当该文件命名时,可以以public类名来命名,反之编译之后将有多个.class文件生成。
14.D。【解析】Java的关键字中不包含NULL,它是C语言的关键字,表示空。
15.C。【解析】当0作为除数时,会产生异常,而ArithmeticException和Exception两类异常都内部被捕捉到。
16.A。【解析】整数的定义不能带小数点,表明是一个浮点数;其他三个都正确。
17.C。【解析】使用File类的list方法可以获得目录下所有文件名称,FileInputStream和FileOutputStream类都不具有list方法。
18.D。【解析】这是学习Java语言接触的第一个程序,main函数的参数是Stringargs[]。
19.B。【解析】所有的类都是Object的子类,如果要覆盖Object的equals方法则必须覆盖hasCode方法,覆盖时的属性是public。
20.B。【解析】内部类就是在类内部重新定义的新类,该类能连接外部类,但是不能和外部类进行通信。AetionL.istenser有自己的类方法体,而Timer没有,只是实例化了一个Timer对象。
21.A。【解析】该程序的功能是从zip压缩文件中获取各个文件的名字。因此应该在A处。
22.C。【解析】该题是简单的for循环考题,通过逐一判断可得到答案,数组的长度是6,数组的内容从下标1开始,最大循环是5,numbers[5]的值是4。
23.A。【解析】java.lang.Thread类和java.lang.Runnable是创建线程的两个方法,分别是实现Thread类和继承Runnable接口,而ThreadGroup类是管理一组线程的类。而Serializable是序列化,将一个对象的状态保存起来,在适当的时候再获得,它不支持线程。
24.A。【解析】java中实现多线程的方法之一就是实现Runnable接口中的run方法,把实现Runnable接口的子类对象传递给Thread类的构造函数。
25.C。【解析】线程调用sleep函数后,使当前线程进入停滞状态。yield函数可使线程进入可执行状态,排程器从可执行状态的线程中重新排程,调用了yield函数的线程有可能被马上执行,也有可能不会马上执行。notify函数从线程等待池中移走任意一个线程,并把它放到锁标志等待池中,其状态仍旧是等待。所以只有sleep一定会改变线程状态。
26.C。【解析】堆栈中为了保证访问数据的一致性,应该对类的数据进行封装,而实现类数据封装的级别是private。
27.D。【解析】启动两个线程,线程之间没有进行同步,所以B和C均有可能。
28.A。【解析】applet程序必须在浏览器中运行,因此它需要支持applet类,而applet程序可以接受外部参数,可以使用javac编译,但是可以不用包含main函数。
29.C。【解析】这里使用一个继承自Applet的类来显示字符。主要方法是在paint()方法中使用System.out.println()显示。
30.B。【解析】正确的方法是floatf,d;,中间应该使用“,”而不是“;”,因为在Java中“;”表示一个语句结束。
31.A。【解析】字符串"Hello"的长度是5,java在计算字符串长度时只计算实际字符串长度。
32.A。【解析】boolean类型的变量值只有ture或false,b[0]的默认初始值为false。
33.B。【解析】Java中允许两个String类型进行+运算,其结果仍旧是String类型。
34.C。【解析】getFont方法用来获取字体,getName方法用于获取组件的名字,paint方法用于绘制组件,update方法用于刷新组件。
35.D。【解析】鼠标在窗口中移动产生的事件是MouseEvent事件,ActionEvent是动作事件处理,PrintEvent是打印事件,KeyEvent是键盘事件。
36.D。【解析】这类题型一般通过前序遍历的结果来找根结点,用中序遍历的结构找分支结点,通过画出该二叉树可得到结果。
37.D。【解析】外码用于建立和加强两个关系之间的连接,通过将保存关系中主键值的一列或多列属性添加到另一个关系中,可建立两个关系之间的联系,这个列属性称为第二关系的外码。
38.B。【解析】如果一个类被final修饰符修饰说明这个类不可能有子类,被定义为final的类通常是一些有固定作用,用来完成某种标准功能的类。
39.A。【解析】一个对象能够实现序列化的前提是实现Serializable接口,Serializable接口没有方法,更像是一个标记,有了这个标记的Class才能被序列化机制处理。
40.C。【解析】此题后半部分除数是0,按常理说应该报异常,且不会得出结果。但是在计算&&运算时采用了部分结果方法,即先运算前半部分,如果前半部分为假,则不必计算后半部分,整个结构为假,如果前半部分为真,这时才计算后半部分的值,在此,前部分已经为假,所以结果就不用计算后半部分。