全国计算机等级考试二级Java语言程序设计试题及答案(三)_第1页
全国计算机等级考试二级Java语言程序设计试题及答案(三)_第2页
全国计算机等级考试二级Java语言程序设计试题及答案(三)_第3页
全国计算机等级考试二级Java语言程序设计试题及答案(三)_第4页
全国计算机等级考试二级Java语言程序设计试题及答案(三)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、选择题(每小题1分,共40小题,共40分) 1下列叙述中正确的是( )。 A线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D上述三种说法都不对 B。【解析】与顺序存储结构相比,线性表的链式存储结构需要更多的空间存储指针域,因此,线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。2下列叙述中正确的是( )。 A在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C在栈中,栈底指针不变,

2、栈中元素随栈顶指针的变化而动态变化 D上述三种说法都不对 C。【解析】栈是限制仅在表的一端进行插入和删除的运算的线性表,通常称插入、删除的这一端为栈顶,另一端称为栈底。3软件测试目的是( )。 A评估软件可靠性 B发现并改正程序中的错误 C改正程序中的错误 D发现程序中的错误 D。【解析】软件测试的目的主要是在于发现软件错误,希望在软件开发生命周期内尽可能早的发现尽可能多的bug。 4下面描述中,不属于软件危机表现的是( )。 A软件过程不规范 B软件开发生产率低 C软件质量难以控制 D软件成本不断提高 A。【解析】对软件开发的进度和费用估计不准确;用户对已完成的软件系统不满意的现象时常发生;

3、软件产品的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。5软件生命周期是指( )。 A软件产品从提出、实现、使用维护到停止使用退役的过程 B软件从需求分析、设计、实现到测试完成的过程 C软件的开发过程 D软件的运行维护过程 A。【解析】软件生命周期(SDLC,Systems Development Life Cycle)是软件的产生直到退役的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。 6面向对象方

4、法中,继承是指( )。 A一组对象所具有的相似性质 B一个对象具有另一个对象的性质 C各对象之间的共同性质 , D类之间共享属性和操作的机制 D。【解析】继承:在程序设计中,继承是指子类自动享用父类的属性和方法,并可以增加新的属性和方法的一种机制。它是实现代码共享的重要手段,可以使软件更具有开放性、可扩充性这是信息组织与分类的行之有效的方法,也是面向对象的主要优点之一。继承又分为单重继承和多重继承,单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承了多个父类的属性和操作。Java是一种单重继承语言,而C+是一种多重继承语言。 7层次型、网状型和关系型数据库划分原则是( )

5、。 A记录长度 B文件的大小 C联系的复杂程度 D数据之间的联系方式 D。【解析】层次型、网状型和关系型数据库划分的原则是数据之间的联系方武。 8一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。 A一对一 B一对多 C多对多 D多对一 C。【解析】一个工作人员对应多台计算机,一台计算机对应多个工作人员,则实体工作人员与实体计算机之间的联系是多对多。9数据库设计中反映用户对数据要求的模式是( )。 A内模式 B概念模式 C外模式 D设计模式 C。【解析】外模式,也称为用户模式。在一个数据库模式中,有n个外模武,每一个外模式对应一个用户。外

6、模式保证数据的逻辑独立性。内模式属于物理模式,因此,一个数据库只有一个内模式。内模式规定了数据的存储方式、规定了数据操作的逻辑、规定了数据的完整性、规定了数据的安全性、规定了数据存储性能。 10有三介关系R、S和T如下: 则由关系R和S得到关系T的操作是( )。 A自然连接 B交 C投影 D并A。【解析】自然连接是将表中具有相同名称的列自动进行记录匹配。11下列关于顺序存储结构的叙述中,错误的是( )。 A存储密度大 B某些非线性结构也可以采用顺序方法存储 C结点中只有自身信息域,没有链接信息域 D便于进行插入、删除等运算操作 D。【解析】顺序结构每个结点只包含自身的信息域,且逻辑上相邻的结点

7、物理上也是相邻的。因此其存储密度大,但插入、删除运算操作不方便,需移动大量的结点。12有下三角矩阵A010,010,按行优先顺序存放其非零元素,每个非零元素占两个字节,存放的基地址为100,则元素A5,53的存放地址为( )。 A110 B120 C130 D140 D。【解析】A55元素存储的位置在第6行第6列,但由于矩阵A为下三角矩阵,所以A55之前的非零元素才计入地址内,因而所存储的非零元素的个数应为l+2+3+4+5+5=20,这些元素占用的空间为20×2=40字节,所以A85的存储位置为l00+40=140。 13设数组data0m作为循环队列S q的存储空间,front为

8、队头指针,rear为队尾指针,则执行出队操作的语句为( )。 AS qfront:=S q十front+1; BS qfront:=(S q十front+1)maxsize; CS qrear:=(s q十rear+1)maxsize; DS qfront:=(s q十front+1)(maxsize+1); B。【解析】循环队列采用的方法是:假设向量sqdatamaxsi ze是一个首尾相接的圆环,即sqdata0接在sqdatamaxsi ze-1之后,我们将这种意义下的向量 称循环向量,并将循环向量中的队列称为循环队列。若当前尾指针等于向量的上界,则再做入队列操作时,令尾指针等于向量的下

9、界,这样就利用到已被删除的元素空间,克服假上溢现象。因此入队操作时,在循环意义下的尾指针加l操作可描述为:if(Sqrear>=maxsi ze)sqnear:=0;else sqrear+;如果利用“模运算”,上述循环意义下的 尾指针加l操作,可以更简洁地描述为:sqrear=(sqrear+1)maxsi ze。同样,出队操作时,在循环意义下的头指针加1操作,也可利用“模运算”来实现:sqfront:=(sqfront+1)max-size。 14如果入栈序列为CEDB,以下哪一个是从栈中删除元素的序列?( ) ABED BBDE CBEDC DBDEC D。【解析】根据栈的先进后出

10、原则,可知从栈中删除的元素的序列为BDEC。 15设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟排序完成后关键码95被放到第( )个位置。 A7 B8 C9 D10 B。【解析】快速排序(Qui cks ort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。具体操作如下图: 进行第一趟排序完

11、成后的结果如下: 12,18,9,25,67,82,53,95,33,70 所以第一趟排序完成后关键码95被放到第8个位置。16下列特点中不属于Java的是( )。 A多线程 B.多重继承 C跨平台 D动态性 B。【解析Java不支持多重继承(子类只能有一个父类)。17Java的反汇编命令是( )。 Ajavap Bjavac Cjdb Djava A。【解析javap命令是Java反汇编命令;javac命令是Java语言编译器,jdb是基于文本和命令行的调试工具,java命令是Java解释器。 18下列变量定义中,不合法的是( )。 Aint SX; Bint_123; Cint Summe

12、r 2010_gross_sale; Dint#dim; D。【解析】Java中标识符的命名规则为:区分大小写,例如a和A是两个变量;标识符由字母、下画线、美元符号和数字组成,并且第一个字符不能是数字。 19下列选项中为单精度数的是( )。 A2 B52 C02f D023 C。【解析Java中单精度常量以f或F结尾。 20下列关于boolean类型的叙述中,正确的是( )。 A可以将boolean类型的数值转换为int类型的数值 B可以将boolean类型的数值转换为字符串 C可以将boolean类型的数值转换为char类型的数值 D不能将boolean类型的数值转换为其他基本数据类型 D。

13、【解析】由于基本数据类型中boolean类型不是数字型,所以基本数据类型的转换是除了boolean类型以外的其他7种类型之间的转换。21 若定义int a=2,b一2,下列表达式中值不为4的是( )。 Aa*(+b) Ba*(b+) Ca+b Da*b A。【解析】+b,先自加,再计算,即a*(+b)等价于b=b+1;a*b。22下列可以获得构件前景色的方法是( )。 Agetsize() BgetForeground() CgetBackground() Dpaint() B。【解析】A是获得控件大小,B是获得构件的前景色,C是获得构件的背景色,D是继承Applet的子类需要实现的方法。 2

14、3下列程序的运行结果是( )。 public class test private Stringdata=¨10","105"); public void fun() double s=0: for(int i=0;i<3;j+) try s=s+IntegerparseInt(datai); catch(Exception e) Systemoutprint("errorl:"+datai); public static void main(stringargs) try test d=new test(): dfun():

15、catch(Exception e) SystemOUtprintln("error2") Aerrorl:105 Berror2 Cerrorl:105 error2 D以上都不对 C。【解析】try-catch块是可以嵌套分层的,并且通过异常对象的数据类型来进行匹配,以找到正确的catchblock异常错误处理代码。以下是通过异常对象的数据类型来进行匹配找到正确的catch block的过程。首先在抛出异常的try-catch块中查找catch block, 按顺序先与第一个catch block块匹配,如果抛出的异常对象的数据类型与catch block中传入的异常对

16、象的临时变量(就是catch语句后面参数)的数据类型完全相同,或是它的 子类型对象,则匹配成功,进入到catch block中执行,否则到第2步; 如果有两个或更多的catch block,则继续查找匹配第二个、第三个,直至最后一个catch block,如匹配成功,则进入到对应的catch block中执行,否则到第3步; 返回到上一级的try-catch块中,按规则继续查找对应的catch block。如果找到,进入到对应的catch block中执行,否则到第4步; 再到上上级的try-catch块中,如此不断递归,直到匹配到顶级的try-catch块中的最后一个catch block,

17、如果找到,进入到对应的catch block中执行;否则程序将会执行terminate()退出。所以本题选C。 24下列程序片段中,能通过编译的是( )。 Apublic abstract class Animal public void speak(); Bpublic abstract class Animal public vold speak()(); Cpublic class Animal pubilc abstract void speak(); Dpublic abstract class Animal pubilc abstract void speak()(); A。【解析

18、】Java中一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰(abstract类 也可以没有abstract方法)。有abstract方法的父类只声明,由继承他的子类实现。所以选A。 25下列不属于接口WindowListener的方法是( )。 AwindowClosing() BwindowClosed() CwindowMinimized() DwindowOpened() C。【解析】接口WindowListener包括以下方法: windowActivated、windowDe

19、activated、windowClosing、windowClosed、 windowlconified、 windowDeiconified、 windowOpened方法。所以选C。26下列选项中,不能输出100个整数的是( )。 Afor(int i=0;i<100;i+) Systemoutprintln(i); Bint i=0; do Systemoutprintln(i); i+: while(i<100); Cint i=0: while(i<100) Systemoutprintln(i); i+: Dint i=0: while(i<100) i+

20、: if(i<100)continue: Systemoutprintln(i); D。【解析continue语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选D。 27类变量必须带有的修饰符是( )。 Astatic Bfinal Cpublic Dvolatile A。【解析】类变量用static修饰。 28下列选项中属于字符串常量的是( )。 A·abc· B"abe" Cabc D(abc) B。【解析】Java中字符串常量由双引号和其中间的字符所组成。 29Java程序默认引用的包是( )。 Ajavatext包 Bjav

21、aawt包 Cjavalang包Djavautil包 C。【解析】javalang包提供Java编程语言进行程序设计的基础类。java1an9包是编译器自动导入的。 30为使下列代码正常运行,应该在下画线处填入的选项是( )。 ObjectInputStream In= new (new FilelnputStream("employee doc"); Employeenewstaff=(Employee)inreadObject (); Inclose(); AReader BInputStream CObjectlnput DObjectlnputStream D。【解

22、析】ObjectlnputStream类和ObjectOutputStream类分列是InputStream类和OutputStream类的子类。ObjectlnputStream类和ObjectOutputStream类创建的对象被称为对象输入流和对象输出流。对象输入流使用readObject()方法读取一个对象到程序中。 31下列代码将对象写入的设备是( )。 ByteArrayOutputStream bout=new ByteArrayOut- putStream(); ObjectOutputStream out=new ObjectOutputStream (bout); outw

23、riteObject(this); outclose(); A内存 B硬盘 C屏幕 D网络 A。【解析】()bject()utputStream类的构造方法是ObjectOutputStream(0utputStream out)。Java中的二进制流全都写入到内存中。 32为使下列代码正常运行,应该在下画线处填入的选项是( )。 intnumbers=new intn; for(int i=0;inumbersi=i+1: Asize Blength Cdimension Dmeasurement B。【解析】length表示数组的长度。 33为使下列代码正常运行,应该在下画线处填入的选项是

24、( )。 abstract class person public Person(String n) name = n: public String getDescription(); public String getName() return name; private string name; Astatic Bprivate Cabstract Dfinal C。【解析】抽象类中的抽象方法可以只声明,定义延迟到其子类。 34下列能够正确创建线程的方法是( )。 继承javalangThread类,并重写run()方法 继承javalangRunnable类,并重写start()方法 实

25、现java1angThread接口,并实现run()方法 IV实现javalangRunable接口,并实现run()方法 A, B,IV C, DI,IV D。【解析】用Thread类的构造方法Thread(Runnable target)创建线程对象时,构造方法中的参数必须是一个具体的对象,该对象称作线程的目标对象,创建目标对象的类必须要实现Runnable接口。 35下列线程状态转换序列,在线程实际运行中可能出现的序列是( )。 A新建运行阻塞终止 B运行阻塞可运行终止 C可运行运行阻塞运行 D新建可运行运行阻塞可运行 D。【解析】线程状态转换序列如下图所示: ,故选D。 36为了支持压

26、栈线程与弹栈线程之间的交互与同步,应 在下画线处填入的选项是( )。 public class StackTest private int idx=0; private intdata=new int8 public void push(int i) synchronized(this) ; data(idx)=i: idx+: Athisnotify() Binterrupt() Cthiswait() Dsleep() A。【解析】当一个线程使用的同步方法中用到某个变量,而且需要其他线程修改此变量后才能复合本线程的需要,那么可以使用wait()方法。wait()方法的作用是使本线程等待,并

27、允许其他线程使用此同步方法。当其他线程使用完后应使用notify()或者notify All()方法允许其他线程使用此同步方法。Interrupt()方法的作用是在run方法执行完之前就消灭此线程,而sleep()方法的作用是延迟一段时间后执行。因为本题是为了支持压栈线程与弹栈线程之间的交互与同步,所以选A。 37对下列程序的叙述中,正确的是( )。 1)public class X extends Thread implements Runnable 2)public void run() 3)systemoutprintln("this is run()"); 4) 5

28、)public static void main(String args) 6)Thread t=new Thread(new X(); 7)tstart(); 8) 9) A第l行会产生编译错误 B第6行会产生编译错误 C第6行会产生运行错误 D程序正常运行 D。【解析】程序正常运行打印this is run()。用Thread类的构造方法Thread(Runnable target)创建线程对象时,构造方法中的参数必须是一个具体的对象,该对象称作线程的目标对象,创建的目标对象的类必须实现Runnable接口。 38下列关于Applet的叙述中,正确的是( )。 AApplet不仅可以嵌入到

29、浏览器中运行,还可以独立运行 BApplet的主类要定义为Applet类或JApplet类的子类 C同一个页面中的Applet之间不能通信 DApplet不支持多线程 B。【解析】Applet不可以单独运行,Applet支持多线程。 39当一个Applet所在的Web页面被其他页面覆盖后,不可能被调用的Applet方法是( )。 Adestroy() Binit() Cstop() Dstart() B。【解析】在Java Applet的生命周期中,共有4种状态,即4种方法:init()、start()、stop()和destory()。在Applet装载时,调用init()通知该Applet

30、已被加载到浏览器中,使Applet执行一些基本初始化操作。 40要向Applet传递参数,应该在下列drawinghtm文件的下画线处填入的选项是( )。 <applet> Aparam image,"flowergif"> B C D D。【解析】param中name属性值不可重复,value是绝对路径。必须都用引号引用起来。2、 基本操作题(共18分) 本题分别比较两个字符串"A"和"a"是否相等,并比较两个字符"A"和"a"是否相等,并输出比较结果。 public cla

31、ss javal public static void main(Stringargs) ; cl=A ;c2=a; String strl=new String("A"),str2=new String ("a"): if( ) SystemOutprintln("char"+c1+"equals"+"char" +c2); else SystemOUtprintln("char"+cl+"doesnt equal "+"char"+

32、c2); if( ) Systemoutprintln("string"+strl+"equals"+ "string"+str2): else SystemOUtprintln("string"+strl+"doesnt e- qual"+"string"+str2); 第1处:char cl,c2 第2处:cl= =c2 第3处:strlequals(str2) 【解析】第1处声明两个字符型变量cl和c2;第2处表示当cl等于c2时if条件为真;第3处判断strl和str

33、2是否相等,返回值是布尔类型true或false。 3、 简单应用题(共24分) 本题是一个Applet,页面上有一个按钮“请单击”,单击该按钮后弹出一个对话框,对话框上有三个按钮“橙色”、“蓝色”和“红色”,单击其中任意一个按钮,则可以将对话框的背景色设置为按钮名称所对应的颜色。 import javaawt*; import javaawtevent*; import javaxswing*; public class java2 extends JApplet private JFrame framet; () frame=new JFrame(); framesetTitle(&quo

34、t;java2"); framesetSize(300,200); framegetContentPane()add(new ButtonPanel (); JButton PopButton=new JButton("请单击"); getContentPane()add(PopButton); PopButtom addActionListener(new ActionListener(); public void actionPerformed(ActionEvent evt) if(frameisVisible()framesetVisible(false)

35、; else ; ); class ButtonPanel extends JPanel private class ColorAction implements ActionLis- tener private Color backgroundColor; public void actionPerformed(ActionEvent action- event) setBackground(backgroundColor); repaint(); public ColorAction(Color color) backgroundColor=color; public ButtonPane

36、l() JButton jbutton=new JButton("橙色"); JButton jbuttonl=new JButton("蓝色"); JButton jbutton2=new JButton("红色"); add(jbutton); add(jbuttonl); add(jbutton2); ColorAction coloraction=new ColorAction(Colororange); ColorAction coloractionl=new ColorAction(Colorblue); ColorAct

37、ion coloraetion2=new ColorAction(Colorred); ibuttonaddActionListener(coloraction); ibuttonladdActionListener(coloractionl); jbutton2addActionListener(coloraction2); 第1处:public void init 第2处:frameshow() 【解析】第1处是定义一个公有的初始化函数;第2处显示frame窗口。 四、综合应用题(共18分) 本题的功能是用按钮来控制文本框中文本的颜色。窗口中有两个带有文字标题的面板“Sample text

38、”和“Text color control”,窗口的底部还有一个复选按钮“Disable changes”。在“Sample text”面板中有一个带有字符串的文本框,而在“Text color control”面板中有三个按钮:“Black”、“Red”和“Green”,并且每个按钮上都有一个对应颜色的圆。单击任意按钮,文本框中的文本变成对应的颜色,如果选中“Disable changes”复选项,则三个颜色按钮变为不可用,如果取消选中复选项,则三个按钮变为可用。 import javaxswing*; import javaawt*; import javaawtevent*; publi

39、c class java3 extends JFrame private JPanel upper,middle,lower; private JTextField text; private JButton black,red,green; private JCheckBox disable; public java3(String titleText) super(titleText); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) Systemexit(0); ); upper

40、=new JPanel(); uppersetBorder(BorderFactoryereateTitledBor- der("Sample text"); uppersetlayout(new BorderLayout(); text=new JTextField("Change the color of this text"): upperadd(text,BorderLayoutCENTER); middle=new JPanel(); middlesetBorder(BorderFactorycreateTitledBor- der("

41、;Text color control"); middlesetLayout(new FlowLayout(FlowLayout CENTER): black=new JButton("Black",new ColorIcon (Colorblack); blackaddActionListener( new ButtonListener (Colorblack); middleadd(black); red=new JButton("Red",new ColorIcon(Col- orred); redaddActionListener(new ButtonListener(Col- orred); middleadd(red); green=new JButton("Green",new ColorIcon (Colorgreen); greenaddActionListene

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论