月全国计算机等级考试二级Java真题及答案[录入者:NCRE100|时间:2009-10-0819:41:34|作者:|来源:NCRE100.com|浏览:1421次]2009年9月全国计算机等级考试二级笔试试卷Java语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)(1)下列数据结构中,属于非线性结构的是A)循环队列B)带链队列C)二叉树D)带链栈(2)下列数据结构中,能够按照“先进后出”原则存取数据的是A)循环队列B)栈C)队列D)二叉树(3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数(5)软件设计中划分模块的一个准则是A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(6)下列选项中不属于结构化程序设计原则的是A)可封装D)自顶向下C)模块化D)逐步求精(7)软件详细设计产生的图如下:该图是A)N-S图B)PAD图C)程序流程图D)E-R图(8)数据库管理系统是A)操作系统的一部分B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统(9)在E-R图中,用来表示实体联系的图形是A)椭圆图B)矩形C)菱形D)三角形(10)有三个关系R,S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为A)选择B)投影C)交D)并(11)用于设置组件大小的方法是A)paint()B)setSize()C)getSize()D)repaint()(12)点击窗口内的按钮时,产生的事件是A)MouseEventB)WindowEventC)ActionEventD)KeyEvent(13)AWT中用来表示对话框的类是A)FontB)ColorC)PanelD)Dialog(14)下列运算符中,优先级最高的是A)+=B)==C)&&D)++(15)下列运算结果为1的是A)81B)42C)81D)42(16)下列语句中,可以作为无限循环语句的是A)for(;;){}B)for(inti=0;i10000;i++){}C)while(false){}D)do{}while(false)(17)下列表达式中,类型可以作为int型的是A)“abc”+”efg”B)“abc”+’efg’C)‘a’+’b’D)3+”4”(18)阅读下列程序PublicclassTestimplementsRunnable{Privateintx=0;Privateinty=o;booleanflag=true;Publicstaticvoidmain(string[]args){Testr=newTest();Theadt1=newThead(r);Theadt2=newThead(r);t1.start();t2.start();}Publicvoidrun(){While(flag){x++;y++;system.out.println(“(”+x_“,”+y+”)”);if(x=10)flag=false;}}}下列对程序运行结果描述的选项中,正确的是A)每行的(x,y)中,可能有;每一对(x,y)值都出现两次。B)每行的(x,y)中,可能有;每一对(x,y)值仅出现一次。C)每行的(x,y)中,可能有x=y;每一对(x,y)值都出现两次。D)每行的(x,y)中,可能有x=y;每一对(x,y)值都出现一次。(19)如果线程正处于运行状态,则它可能到达的下一个状态是A)只有终止状态B)只有阻塞状态和终止状态C)可运行状态,阻塞状态,终止状态D)其他所有状态(20)在下列程序的空白处,应填入的正确选项是importjava.io.*;PublicclasswriteInt{Publicstaticvoidmain(string[]a){Int[]myArray={10,20,30,40};try{DataOutputSystemdos=newDataOutputSystem(newFileOutputSystem(“ints.dat”));for(inti=0;IMYARRAY.LENGTH;I++)dos。writeInt(myArray[i]);dos.System.out.println(“Havewrittenbinaryfileints.dat”);}Catch(IOExceptionioe){System.out.println(“IOException”);}}}A)start()B)close()C)read()D)write()(21)在一个线程中调用下列方法,不会改变该线程运行状态的是A)yield方法B)另一个线程的join方法C)sleep方法D)一个对象的notify方法(22)在关闭浏览器时调用,能够彻底终止Applet并释放该Applet所有资源的方法是A)stop()B)destroy()C)paint()D)start()(23)为了将HelloApplet(主类名为HelloApplet.class)嵌入在greeting.html文件中,应该在下列greeting.html文件的横线处填入的代码是HTMLA)HelloApplet.classB)CODE=”HelloApplet.class”C)CODE=”HelloApplet.class”WIDTH=150HEIGHT=25D)CODE=”HelloApplet.class”WIDTH=10HEIGHT=10(24)下列变量名的定义中,符合Java命名约定的是A)fieldnameB)superC)IntnumD)$number(25)自定义异常类的父类可以是A)ErrorB)VirtuaMachineErrorC)ExceptionD)Thread(26)阅读下列程序片段Publicvoidtest(){Try{sayHello();system.out.println(“hello”);}catch(ArrayIndexOutOfBoundExceptione){System.out.println(“ArrayIndexOutOfBoundException”);}catch(Exceptione){System.out.println(“Exception”);}finally{System.out.println(“finally”);}}如果sayHello()方法正常运行,则test()方法的运行结果将是A)HelloB)ArrayIndexOutOfBondsExceptionC)ExceptionFinallyD)HelloFinally(27)为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件A)分开B)结合C)联系D)融合(28)Java中的基本数据类型int在不同的操作系统平台的字长是A)不同的B)32位C)64位D)16位(29)String、StingBuffer都是______类,都不能被继承。A)staticB)abstractC)finalD)private(30)下列程序的功能是统计字符串中“array”的个数,在程序的空白处应填入的正确选项是publicclassFindKeyWords{publicstaticvoidmain(sring[]args){stingtext=“Anarrayisadatastructurthatstoresacollectionof”+“valuesofthesametype.Youaccesseachindividualvalue”+“throughanintegerindex.Forexample,ifaisanarray”+“ofinergers,thena[i]istheithintegerinthearray.”;IntarrayCount=0;Intidex=-1;StingarrarStr=”array”;Index=text.indexof(arrayStr);While(index0){++arrayCount;Index+=arrayStr.length();Index=text.indexof(arrayStr,index);}System.out.println(“thetextcontains”+arrayCount+“arrays”);}}A)B)=C)=D)=(31)构造方法名必须与______相同,它没有返回值,用户不能直接调用它,只能通过new调用。A)类名B)对象名C)包名D)变量名(32)在多线程并发程序设计中,能够给对象x加锁的语句是A)x.wait()B)synchronized(x)C)x.notify()D)x.synchronized()(33)Java中类ObjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是A)WriterB)DataOutputC)OutputStreamD)ObjectOutput(34)在下列程序的空白处,应填入的正确选项是Importjava.io.*;PulilcclassObjectStreamTest{Publilcstaticvoidmain(stringargs[])throwsIOException{ObjectOutputStreamoos=newObjectOutputStream(newFileOutputStream(“serial.bin”));Java.util.Dated=newJava.util.Date();Oos(d);ObjectInputStreamois=newObjectInputStream(newFileOutputStream(“serial.bin”));try{java.util.daterestoredDate=(Java.util.Date)ois.readObject();System.out.println(“readobjectbackfromserial.binfile:”+restoredDate);}Catch(ClassNotFoundExceptioncnf){System.out.println(“classnotfound”);}}A)WriterObjectB)WriterC)BufferedWriterD)WriterObject(35)Class类的对象由______自动生成,隐藏在.class文件中,它在运行时为用户提供信息。A)Java编译器B)Java解释器C)Javanew关键字D)Java类分解器二、填空题(每空2分,共30分)(1)某二叉树由5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】个结点。(2)程序流程图中的菱形框表示的是【2】。(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中【3】阶段产生“软件需求规格说明书“。(4)在数据库技术中,实体集之间的联系可以是一对一或一对多的,那么“学生“和”可选课程“的联系为【4】。(5)人员基本信息一般包括:身份证号、姓名、性别、年龄等。其中可以做主关键字的是【5】。(6)按照Java的线程模型,代码和【6】构成了线程体。(7)在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的【7】()方法。(8)在下列Javaapplet程序的横线处填入代码,使程序完整并能够正确运行。Importjava.awt.*;Importjava.applet.*;PublicclassGreetingextendsapplet{Publicvoid【8】(Graphicsg){g.drawSting(“howare