2011年3月全国计算机等级考试二级笔试试卷Java语言程序设计(1)下列关于栈序正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多问课程一门课程可由多个教师讲授,则实体教师和课程间的联是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:RSTABCa12b21c31则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)下列关于面向对象的论述中,正确的是A)面向对象是指以对象为中心,分析、设计和实现应用程序的机制B)面向对象是指以功能为中心,分析、设计和实现应用程序的机制C)面向对象仅适用于程序设计阶段D)面向对象是一种程序设计语言(12)语句”Hello”.equals(“hello”);的正确执行结果是A)trueB)falseC)0D)1(13)下列关于Java源程序结构的论述中,正确是A)一个文件包含的import语句最多1个B)一个文件包含的public类最多1个C)一个文件包含的接口定义最多1个D)一个文件包含的类定义最多1个(14)下列不属于Java关键字的是A)thisB)superC)finallyD)NULL(15)下列代码的执行结果是publicclassTest{publicstaticvoidmain(String[]args){int[]x={0,1,2,3};for(inti=0;i3;i+=2){try{System.out.println(x[i+2]/x[i]+x[i+1]);}catch(ArithmeticExceptione){System.out.println(error1);}catch(Exceptione){System.out.println(error2);A)error1B)error2C)error1D)2error2error2(16)下列整数的定义中,错误的是A)intf=3.14.;B)inta=012;C)inti=189;D)intd-0x123;(17)要得到某目录下的所有文件名,在下列代码的下划线处应填入的内容是(两个下划线的内容相同)pathname=new(args[0]);String[]filename=pathname.list();A)FileInputStreamB)FileOutputStreamC)FileD)RandomAccessFile(18)在下列代码的下划线处应填入的内容是publicclassFirstSample{publicstaticvoidmain(args[]){System.out.println(你好!);}A)staffB)doubleC)intD)String(19)Object类中的方法publicinthashCode(),在其子类覆盖该方法时,其方法修饰符可以是A)protectedB)publicC)privateD)缺省(20)下面代码中的内部类名是importjava.awt*;importjavax.swing.*;classTalkingClock{publicstaticvoidmain(intinterval,finalbooleanbeep){ActionListenerlistener=newActionListener(){publicvoidactionPerformed(ActionEventevent){............}}Timert=newTimer(interval,listener);t.start();}A)TimerB)ActionListenerC)listenerD)匿名(21)已知zipname是一个压缩文件名,则zipname在下列代码中出现的正确位置是ZipInPutStreamzin=newZipInPutStream(newFileInPutStream(①));ZipEnatryentry;While((entry=zin.getNextEntry(②))!=null{fileCombo.addItem(entry.getName(③));zin.closeEntry(④);}Zin.close();A)①B)②C)③D)④(22)下列代码的执行结果是intnumbers[]=newint[6];for(inti=1;inumbers.length;i++){numbers[i]=i-1;System.out.print(numbers[i]+);}A)012345B)123456C)01234D)12345(23)JavaAPI中支持线程的类或接口是Ⅰ.java.lang.ThreadⅡ.java.lang.RunnableⅢ.java.lang.ThreadGroupⅣ.java.io.SerializableA)Ⅰ,ⅡB)Ⅰ,Ⅱ,ⅢC)Ⅰ,Ⅱ,ⅣD)Ⅰ,Ⅱ,Ⅲ,Ⅳ(24)下列关于Test类的定义中,正确的是A)classTestimplementsRunnable{publicvoidrun(){}publicvoidsomeMethod(){}}B)classTestimplementsRunnable{publicvoidrun();}C)classTestimplementsRunnable{publicvoidsomeMethod();}D)classTestimplementsRunnable{publicvoidsomeMethod(){}}(25)下列方法被调用后,一定使调用线程改变当前状态的是A)notify()B)yield()C)sleep()D)isAlive()(26)在堆栈类SharedStack的定义中,为了保证堆栈在并发操作中数据的正确性,应在下划线处填入的修饰符是(两个下划线的填写内容相同)publicclassSharedStack{intidx=0;char[]data=newchar[10];publicsynchronizedvoidpush(charc){.....}publicsynchronizedvoidpop(){.....}}A)publicB)不使用修饰符C)privateD)protected(27)下列代码编译或执行结果的描述中,正确的是classTest{publicstaticvoidmain(Stringargs[]){TestThreadpm1=newTestThread(One);pm1.start();TestThreadpm2=newTestThread(Two);pm2.start();}}classTestThreadextendsThread{privateStringsTname=;TestThread(Strings){sTname=s;}publicvoidrun(){for(inti=0;i2;i++){try{sleep(1000);}catch(InterruptedExceptione){}System.out.println(sTname+);}A)不能通过编译,TestThread类中不能定义变量和构造方法B)输出OneOneTwoTwoC)输出TwoOneOneTwoD)选项B或C都有可能出现(28)下列关于Applet的叙述中,正确的是A)为了使Applet在浏览器中运行,需要在HTML文件中嵌入相应的Applet类B)Applet不能使用从外部接收参数C)Applet不能使用javac命令进行编译D)javaApplication与Applet都必须包含main()方法(29)下列代码的下划线处应填入的方法名是importjava.applet.*;importjava.awt.*;publicclassHelloextendsApplet{publicvoid(Graphicsg){g.drawString(Howareyou!,10,10);}}A)repaintB)printlnC)paintD)show(30)下列变量的定义中,错误的是A)intx=3;B)floatf;d;C)Strings=”Hello!”D)booleanb=true;(31)下列代码的执行结果是intlength=Hello.length();System.out.println(length);A)5B)2C)10D)6(32)下列代码的编译或执行结果是publicclassMyVal{publicstaticvoidmain(String[]args){MyValm=newMyVal();m.aMethod();}publicvoidaMethod(){boolean[]b=newBoolean[5];System.out.println(b[0]);A)1B)nullC)0D)编译错误(33)若变量a是String类型的数据,那么表达式(a+a)的类型是A)charB)StringC)intD)long(34)Component类中用于刷新组件的方法是A)getFontB)getNameC)updateD)paint(35)鼠标在窗口中移动时,产生的事件是A)ActionEventB)PrintEventC)KeyEventD)MouseEvent二、填空题(每空2分,共30分)(1)有序线性表能进行二分查找的前提是该线性表必须是顺序存储的。(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为DEBFCA。(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为单元测试。(4)实体完整性约束要求关系数据库中元组的主键属性值不能为空。(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称D是关系A的外码。(6)若类声明时加上修饰符final,则表示该类不能有子类。(7)Java的类库中提供Throwable类来描述异常,它有Error和Exception两个直接子类。(8)类中的某些方法通过类名就可以直接被调用,例如JOptionPane.showMessageDialog(null,”按确定键退出”)中的showMessageDialog方法,这种方法称为静态方法。(9)在对象流中,对象的传送首先要将所传送的对象串行化,也就是实现Serializable接口。下列代码中必须实现Serializable接口的类是InputStream。ObjectInputin=newObjectInputStream(newFileInputStream(“employee.dat”));Employee[]newStaff=(Employee[])in.readObject();(10)下列代码的