试卷二一、选择题(每小题1分,共40小题,共40分)1.线性表L=(al,a2,a3,…ai,…an),下列说法正确的是(D)。A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有且只有一个直接前继和直接后继2.下列关于完全二叉树的叙述中,错误的是(C)。BA.除了最后一层外,每一层上的结点数均达到最大值B.可能缺少若干个左右叶子结点C.完全二叉树一般不是满二叉树D.具有结点的完全二叉树的深度为[log2n]+13.对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为(C)。A.125B.n/2C.nD.n+14.下列选项中不属于结构化程序设计方法的是(D)。A.自顶向下B.逐步求精C.模块化D.可复用5.软件需求分析阶段的工作,可以分为4个方面:需求获取、需求分析、编写需求规格说明书以及(B)。A.阶段性报告B.需求评审C.总结D.都不正确6.下列叙述中,不属于测试的特征的是(A)。CA.测试的挑剔性B-完全测试的不可能性C.测试的可靠性D.测试的经济性7.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的(B)。CA.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法8.下列关于软件测试的描述中正确的是(D)。CA.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则9.下列工具中为需求分析常用工具的是(C)。DA.PADB.PFDC.N-SD.DFD10.下列特征中不是面向对象方法的主要特征的是(D)。A.多态性B.继承C.封装性D.模块化11.下列与数据元素有关的叙述中,不正确的是(B)。A.数据元素是数据的基本单位,即数据集合中的个体B.数据元素是有独立含义的数据最小单位C.数据元素又称为结点D.数据元素又称为记录12.栈S最多能容纳4个元素,现有6个元素按A、B、C、D、E、F的顺序进栈,下列(D)序列不是可能的出栈序列。A.C、B、E、D、A、FB.C、D、B、F、E、AC.A、D、E、C、B、FD.A、F、E、D、C、B13.在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议,下列(D)是简单邮件传输协议。A.POP3B.IMAPC.HTTPD.SMTP14.对一个由n个关键码组成的序列,借助排序过程选出其中最大的关键码,要求关键码比较次数和移动次数最少,则最佳排序方法是(C)。A.归并排序B.直接插入排序C.直接选择排序D.快速排序15.对线性表进行二分法查找,其前提条件是(C)。AA.线性表以顺序方式存储,并已按关键码值排好序B.线性表以顺序方式存储,并已按关键码值的查找频率排好序C.线性表以有序方式存储,并已按关键码值排好序D.线性表以有序方式存储,并已按关键码值的查找频率排好序16.Java的核心包中,提供编程应用的基本类的包是(A)。A.java.langB.java.utilC.java.appletD.java.rmi17.下列关于Java对import语句规定自叙述中,错误的是(C)。A.在Java程序中import语句可以有多个B.在Java程序中import语句可以没有C.在Java程序中import语句必须有一个D.在Java程序中import语句必须引入在所有类定义之前18.在编译Java程序时,用于指定生成.class文件位置的选项是(C)。BA.-9B.-dC.-verboseD.-nowarn19.下列方法中,不属于WindowListener接口的是(D)。A.windowOpened()B.windowClosed()C.windowActivated()D.mouseDragged()20.运行Java程序需要的工具软件所在的目录是(A)。A.JDK的bin目录B.JDK的demo目录C.JDK的lib目录D.JDK的ire目录21.下列关于Java语言特点的叙述中,错误的是(A)。A.Java是面向过程的编程语言B.Java支持分布式计算C.Java是跨平台的编程语言D.Java支持多线程22.可以使当前同级线程重新获得运行机会的方法是(C)。A.Sleep()B.join()C.yield()D.interrupt()23.下列语句中,属于多分支语句的是(C)。A.if语句B.for语句C.switch语句D.dowhile语句24.阅读下列代码publicclassTest2005{publicstaticvoidmain(Stringargs[]){Strings=Test;switch(s){caseJava:System.out.print(Java);break;caseLanguage:System.out.print(Lan-guage);break;caseTest:System.out.print(Test);break;}}}其运行结果是(D)。A.JavaB.LanguageC.TestD.编译时出错25.在程序读入字符文件时,能够以该文件作为直接参数的类是(C)。AA.FileReaderB.BufferedReaderC.FilelnputStreamD.ObjectlnputStream26.下列描述中,正确的是(C)。A.在Serializable接口中定义了抽象方法B.在Serializable接口中定义了常量C.在Serializable接口中没有定义抽象方法,也没有定义常量D.在Serializable接口中定义了成员方法27.请阅读下面程序,说明该程序创建线程使用的方法是(B)。publicclassThreadTest{publicstaticvoidmain(Stringargs[]){Threadtl=newThread(newHolloWorld());Threadt2=newThread(newHolloWorld());tl.start();t2.Start();}}classHolloWorldimplementsRunnable{inti;publicvoidrun(){while(true){System.out.println(HolloWorld+i++);if(i==5)break;}}}A.继承Thread类B.实现Runnable接口C.tl.start()D.t2.start()28.java.io包的File类是(C)。DA.字符流类B.字节流类C.对象流类D.非流类29.为保护本地主机,对Applet安全限制中正确的是(A)。DA.Applet可加载本地库或方法B.Applet可读、写本地计算机的文件系统C.Applet可向Applet之外的任何主机建立网络连接D.Applet不能运行任何本地可执行程序30.请阅读下面程序publicclassExampleStringBuffer{publicstaticvoidmain(String[]args){StringBuffersb=newStringBuffer(test);System.OUt.println(buffer=+sb);System.OUt.println(length=+sb.length());}}程序运行结果中在length=后输出的值是(C)。BA.10B.4C.20D.3031.每个Java小应用程序必须定义为(A)。A.Applet类或JApplet类的子类B.JFrame类的子类C.Frame的子类D.Window的子类32.若特快订单是一种订单,则特快订单类和订单类的关系是(C)。A.使用关系B.包含关系C.继承关系D.无关系33.下列关于Applet的安全限制的叙述中,错误的是(A)。CA.通常情况下,禁止Applet读、写本地文件系统B.通常情况下,禁止Applet向Applet源主机之外的任何主机建立网络连接C.通常情况下,禁止Applet读取系统信息D.通常情况下,禁止Applet加载本地库或方法34.Swing的选项面板是(D)。AA.JTabbedPaneB.JLayeredPaneC.JScrollPaneD.JSplitPane35.提供showDocument()方法,使Applet能够请求浏览器访问特定URL的类是(C)。BA.AppletB.AppletContextC.JAppletD.URL36.阅读下面程序1publicclassTryextendsThread{2publicstaticvoidmain(Stringargs[]){3Tryt=newTry();4t.start();5}67publicvoidrun(intj){8inti=0;9while(i5){10System.out.println(祝你成功!);11i++:12}13}14}该程序要求打印5行祝你成功!,必须改正程序中的某行代码,程序才能完成。选择正确的修改是(D)。A.将第1行的extendsThread改为implementsRunnableB.将第3行的newTry()改为newThread()C.将第4行t.start()改为start(t)D.将第7行的publicvoidrun(intj)改为publicvoidrun()37.若数组a定义为int[][]a=newint[3][4],则a是(B)。A.一维数组B.二维数组C.三维数组D.四维数组38.下列标识符(名字)命名原则中,正确的是(D)。A.类名的首字母小写B.变量和方法名的首字母大写C.接口名的首字母小写D.常量完全大写39.Java语言使用的字符码集是(D)。A.ASCIIB.BCDC.DCBD.Unicode40.下列事件监听器中,无法对TextField对象进行事件监听和处理的是(B)。DA.ActionListenerB.FocusListenerC.MouseMotionListenerD.ChangeListener二、基本操作题(共18分)本题中定义了一个长度为20的整数数组,然后将1~20分别赋给数组元素,计算该数组中所有下标为奇数的元素的和。publicclassjaval{publicstaticvoidmain(Stringargs[]){intsum;;intarrayList[]=newint[20];for(inti=0;i=19;i++)arrayList[i]=i+1;intpos=0;while(pos20){if()sum=sum+arrayList[pos];;}System.out.println(sum=+sum);}}三、简单应用题(共24分)本题的功能是通过按钮来选择窗口显示的风格。窗口中有三个按钮:“Metal”、“Motif”和“Windows”,单击任何一个按钮,就能将窗口的风格改变为按钮名称所对应的风格。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classPlafPanelextendsJPanelimplementsActionLis-tener{public(){metaIButton=newJButton(Metal);motifButtOn=newJButton(Motif);windowsButton=newJButton(Windows);add(metalButton);add(motifButton);add(windowsButton);metalButton.addActionListener(this);motifButton.addActionListener(this);windowsButton.addActionListener(this);}DublicvoidactionPerfor