2009年9月全国计算机等级考试二级笔试试卷[含参考答案]
2009年9月全国计算机等级考试二级笔试试卷 Java语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)(1)下列数据结构中,属于非线性结构的是 A)循环队列 B)带链队列 C)二叉树 D)带链栈 答案:C,关键词:数据结构- (2)下列数据结构中,能够按照“先进后出”原则存取数据的是 A)循环队列 B)栈 C)队列 D)二叉树 答案:B (3)对于循环队列,下列叙述中正确的是 A)队头指针是固定不变的 B)队头指针一定大于队尾指针 C)队头指针一定小于队尾指针 D)队头指针可以大于队尾指针,也可以小于队尾指针 n答案:D (4)算法的空间复杂度是指 A)算法在执行过程中所需要的计算机存储空间 B)算法所处理的数据量 C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的临时工作单元数 答案:A (5)软件设计中划分模块的一个准则是 A)低内聚低耦合 B)高内聚低耦合 C)低内聚高耦合 D)高内聚高耦合答案:B(6)下列选项中不属于结构化程序设计原则的是 A)可封装 D)自顶向下 C)模块化 D)逐步求精答案:A(7)软件详细设计产生的图如下: n 该图是 A)N-S图 B)PAD图 C)程序流程图 D)E-R图答案:C (8)数据库管理系统是 A)操作系统的一部分 B)在操作系统支持下的系统软件 C)一种编译系统 D)一种操作系统答案:B (9)在E-R图中,用来表示实体联系的图形是 A)椭圆图 B)矩形 C)菱形 D)三角形答案:C (10)有三个关系R,S和T如下: 其中关系T由关系R和S通过某种操作得到,该操作为 A)选择 B)投影 C)交 D)并答案:D,并的定义,选择的定义?n(11)用于设置组件大小的方法是 A)paint() B)setSize() C)getSize() D)repaint() 答案:B (12)点击窗口内的按钮时,产生的事件是 A)MouseEvent B)WindowEvent C)ActionEvent D)KeyEvent答案:C (13)AWT中用来表示对话框的类是 A)Font B)Color C)Panel D)Dialog 答案:D (14)下列运算符中,优先级最高的是 A)+= B)== C)&& D)++答案:Dn (15)下列运算结果为1的是 A)8>>1 B)4>>>2 C)8<<1 D)4<<<2答案:B(16)下列语句中,可以作为无限循环语句的是 A)for(;;){} B)for(inti=0;i<10000;i++){} C)while(false){} D)do{}while(false)答案:A (17)下列表达式中,类型可以作为int型的是 A)“abc”+”efg” B)“abc”+’efg’ C)‘a’+’b’ D)3+”4”答案:C (18)阅读下列程序 PublicclassTestimplementsRunnable{ Privateintx=0; Privateinty=o; booleanflag=true; Publicstaticvoidmain(string[]args){ Test r=newTest(); Theadt1=newThead(r); Theadt2=newThead(r); t1.start(); t2.start(); } Publicvoidrun(){ While(flag)n{ 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)值都出现一次。答案:B(19)如果线程正处于运行状态,则它可能到达的下一个状态是 A)只有终止状态 B)只有阻塞状态和终止状态 C)可运行状态,阻塞状态,终止状态 D)其他所有状态答案:C (20)在下列程序的空白处,应填入的正确选项是 importjava.io.*; PublicclasswriteInt{ Publicstaticvoidmain(string[]a){ Int[]myArray={10,20,30,40}; try{ DataOutputSystemdos=newDataOutputSystem (newFileOutputSystem(“ints.dat”)); for (inti=0;I
A)HelloApplet.class B)CODE=”HelloApplet.class” C)CODE=”HelloApplet.class”WIDTH=150HEIGHT=25 D)CODE=”HelloApplet.class”WIDTH=10HEIGHT=10 (24)下列变量名的定义中,符合Java命名约定的是 A)fieldname B)super C)Intnum D)$number (25)自定义异常类的父类可以是 A)Error B)VirtuaMachineError C)Exception D)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(n)方法的运行结果将是 A)Hello B)ArrayIndexOutOfBondsException C)Exception Finally D)Hello Finally (27)为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件 A)分开 B)结合 C)联系 D)融合 (28)Java中的基本数据类型int在不同的操作系统平台的字长是 A)不同的 B)32位 C)64位 D)16位 (29)String、StingBuffer都是______类,都不能被继承。 A)static B)abstract C)final D)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(index 0){ ++arrayCount; Index+=arrayStr.length(); Index=text.indexof(arrayStr,index); } System.out.println (“thetextcontains”+arrayCount+n“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)Writer B)DataOutput C)OutputStream D)ObjectOutput (34)在下列程序的空白处,应填入的正确选项是 Importjava.io.*; PulilcclassObjectStreamTest{ Publilcstaticvoidmain(stringargs[])throwsIOException{ ObjectOutputStreamoos=newObjectOutputStream (newFileOutputStream(“serial.bin”)); Java.util.Dated=newJava.util.Date(); Oos (d); ObjectInputStreamois= newObjectInputStream(newnFileOutputStream(“serial.bin”)); try{ java.util.daterestoredDate= (Java.util.Date)ois.readObject(); System.out.println (“readobjectbackfromserial.binfile:” +restoredDate); } Catch(ClassNotFoundException cnf){ System.out.println(“classnotfound”); } } A)WriterObject B)Writer C)BufferedWriter D)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】 。n (6)按照Java的线程模型,代码和【6】构成了线程体。 (7)在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的【7】 ()方法。 (8)在下列Javaapplet程序的横线处填入代码,使程序完整并能够正确运行。 Importjava.awt.*; Importjava.applet.*; PublicclassGreetingextendsapplet{ Publicvoid 【8】(Graphics g){ g.drawSting(“howareyou!”,10,10); } } (9)在Java语言中,用【9】修饰符定义的类为抽象类。 (10)在Java中,字符是以16位的【10】码表示。(11)请在下列程序的空白处,填上适当的内容: Importjava.awt.*; Importjava.util.*; ClassBufferTest{ Publicstaticvoidmain(stringargs[]) ThrowsIOException{ FileOutputStreamunbuf= newFileOutputStream(“test.one”); BufferedOutputStreambuf= new 【11】(newFileOutputStream(“test.two”)); System.out.println (“writefileunbuffered:”+time(unbuf)+“ms”); System.out.println (“writefilebuffered:”+time(buf)+“ms”); } Staticinttime(OutputStream os) ThrowsIOException{ Datethen=newDate(); for(int i=0;i<50000;ni++){ os.write(1); } } os.close(); return(int)(()newDate()).getTime()-then.getTime()); } (12)代码System.out.println(066)的输出结果是【12】 。 (13)Swing中用来表示工具栏的类是javax.swing.【13】。 (14)表达式(10*49.3)的类型是【14】型。 (15)抛出异常的语句是【15】语句。二级java答案:21-25:BBCAC26-30:DABCD31-35:ABCDA1-15:14 逻辑条件 需求分析 多对多 身份证号码 数据 run paint abstruct Unicode BufferedOutputStream 54 JToolBar double t hrowException此答案供大家参考