(备考2023年)内蒙古自治区乌兰察布市全国计算机等级考试Java语言程序设计真题一卷(含答案).docx
(备考2023年)内蒙古自治区乌兰察布市全国计算机等级考试Java语言程序设计真题一卷(含答案)学校:班级:姓名:考号:一、单选题(10题)1 .下列表达式中不正确的是()A.x+yB.x+C.+(x*y)D.x*+y2 .阅读下列代码publicclassJixiangwupublicstaticvoidmain(Stringargs)Stringstars=“贝贝"J晶晶”,“欢欢”,“迎迎“J妮妮”);System,out.println("你抽取的奥运吉祥物是“+stars(int)(stars.*Math,random()+,"÷"!11);)为保证程序能正确执行,程序中下画线处应填写的是A.longB.widthC.wideD.length3 .下列叙述中错误的是()oA.线性表是由n个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件D.线性表可以是空表4 .一个栈的初始状态为空.现将元素1、2、3、4,5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是().A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA5 .下列选项中,不是-个算法的基本特征的是()。A.完整性B.可行性C.有穷性D.拥有足够的情报6 .下列关于数据存储方式的叙述中,不正确的是()。A.数据的主要存储方式有顺序存储结构和链式存储结构B.顺序存储结构存储空间利用率低,链式存储结构空间利用率高C.顺序存储结构的结点只有自身域,链式存储结构除了自身域还包括指针域D.顺序存储结构可通过计算直接确定数据结构中某个结点的存储地址7.在JaVa语言的控制结构中,break语句是经常用到的语句。下面一段代码中break语句起到()的作用。intpointer=0;while(pointer<=100)switch(pointer%3)case 1:pointer+=1;break;case 2:pointer+=2;break;case 3:pointer+=3;break;)A.结束当次循环,使控制权直接转移到控制循环的条件表达式B.从嵌套循环内部跳出最里面的循环C.终止switch语句的语句序列D.退出循环8 .阅读下面程序importjava.io.*;publicclassByteStreamTestpublicstaticvoidmain(StringA)intmyArray=10,20,30,40;tryDataOutputStreamdos=newDataOutputStream(new(,ints.dat11);for(inti=0;KmyArray,length;i+)dos.writelnt(myArrayi);dos.close();System.out.println(,'Havewrittenbinaryfileints.dat");catch(IOExceptionioe)System.out.println(11IOException");为保证程序正确运行,在程序中下划线处应填入的代码是A.FileOutputStreamB.ByteArrayOutputStreamC-BufferedOutputStreamD.FileWriter9 .在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的()方法。A.startB.localC.interruptD.run10 .下列方法中,不属于WindOW1.iStener接口的是()oA.window()pened()B.WindowClosed()C-WindowActivated()D.mouseDragged()二、2.填空题(10题)11 .接口可以看作是仅容纳常量,而又不能直接生成对象的特殊抽象类。12 .Java中,新建的线程调用Start()方法,$11mythread.start(),将线程的状态从NeW转换为【】。13 .计算机硬件由运算器存储器、输入设备和输出设备五大部件组成。14 .结构化设计主要分为系统设计和模块设计,的任务是决定系统的模块结构。15 .要弓I入java,awt包中的所有直接公有类,需用语句【】。16 .在JaVa语言的所有方法中,比较特殊的方法是抽象方法,它只有方法头,没有【】。17 .为了实现线程之间的通信JavaJangQbject提供了2个方法,即wait。和【18 .long型整型常量在机器中占位。19 .将JaVa程序中的对象保存在外存中,称为【】。20 .给较低优先级线程一个执行的机会调用o三、1.选择题(10题)21 .Java语言具有许多优点和特点,下列选项中能反映Java程序并行机制特点的是()。A.安全性B.多线程C.跨平台D.可移植22 .3下面程序段的输出结果为()。PUbliCelaSSTestinta,b;Test()a=100;b=200;Test(intx,inty)a=x;b=y;publicstaticvoidmain(Stringargs)TestObj1=newTest(12,45);System.out.println("a=11+Obja+"b=11+Objb);TestObj2=newTest();System.out.println(,a=,+Obja+11b="+Objb);A.a=100b=200a=12b=45B.a=12b=45a=100b=200C.a=12b=200a=100b=45D.a=100b=45a=12b=20023 .给一个short类型变量赋值的范围是()。A.-128-+127B.-2147483648+2147483647C.-32768+32767D.-1000-+100024 .要创建包含父目录的目录,用到的方法是()。A.createdirs()B.createdir()C.mkdirs()D.mkdir()25 .下面不属于标识符的命名规则的是()。A.标识符是以字母、下划线(一)、美元符($)作为首字符的字符串序列B.标识符是区分大小写的C.标识的字符数目没有限制D.标识符不区分大小写26.数据库系统的核心是0A.数据模型B.数据库管理系统C.软件工具D.数据库27 .软件工程的理论和技术性研究的内容主要包括软件开发技术和()oA.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用28 .下列方法定义中,正确的是()。A.intx(inta,b)B.doublex(inta,intb)return(a-b);)intw:w=a-b:C.doublex(a,b)D.intx(inta,intb)returnbreturna-b;)29 .下列不属于面向对象编程的三个特征的是()。A.封装B.指针操作C.多态性D.继承30 .Thread类的方法中用于修改线程名字的方法是()。A.setNameB.reviseNameC.getNameDxheckAccess四、综合应用题(2题)31 .本题的功能是监听鼠标的操作。鼠标置于窗口中单击时(左键或右键),在单击的地方会画一个小矩形,如果将鼠标置于小矩形上,则鼠标光标状态改为小十字,按下鼠标左键可拖曳,双击鼠标左键(或右键)时,小矩形消失。importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjava.awt.geom.*;importjavax.swing.*;publicclassjava3(publicstaticvoidmain(Stringargs)(MouseFrame.frame=newMouseFrame:frame.setDefaultCloseOperation(JFrame.EXIToN.C1.OSE);frame.show;)classMouseFrame.extendsJFrame(publicMouseFrame(setTitle(',java311);setSize(DEFAU1.TWIDTH,DEFAU1.THEIGHT):MousePanelpanel=newMousePanel;ContainercontentPane=getContentPane;ContentPane.add(panel);)publicstaticfinalintDEFAU1.T_WIDTH=300;publicstaticfinalintDEFAU1.TJHEIGHT=200;classMousePanelextendsJPanel(publicMousePanel(squares=newArray1.ist;current=null:addMouse1.istener(newMouseHandler);addMouseMotion1.istener(newMouseMotionHan-dler);)publicvoidpaintComponent(Graphicsg)(super.paintComponent(g);Graphics2Dg2=(Graphics2D)g;fbr(inti=0;i<squares.size;i+)g2.draw(Rectangle2D)squares.get(i);)PUbliCVOidfind(Point2DP)(fbr(inti=0;i<squares.size;i+)(Rectangle2Dr=(Rectangle2D)squares.get(i);if(r.contains(p)returnr;)returnnull:)publicvoidadd(Point2Dp)(doublex=P.getX;doubleY=P.getY:current=newRectangle2D.Double(x-SIDE1.ENGTH/2.y-SIDE1.ENGTH/2.SIDE1.ENGTH,SIDE1.ENGTH);squares.add(current);repaint;)publicvoidremove(Rectangle2Ds)(if(S=null)retum:if(S=current)current=null;squares.remove(三):repaint;)privatestaticfinalintSIDE1.ENGTH=10:privateArray1.istsquares;privateRectangle2Dcurrent;privateclassMouseHandterextendsMouseAction-1.istener(publicvoidmousePressed(MouseEventevent)(current=find(event.getPoint);if(current=null)add(event.getPoint);publicvoidmouseClicked(MouseEventevent)current=find(event.getPoint);if(current!=nullevent.getClickCount>=2)remove(current);)privateclassMouseMotionHandlerimplementsMouse-Motion1.istener(publicvoidmouseMoved(MouseEventevent)(if(fd(event.getPoint)=null)setCursor(Cursor.getDefaultCursor);elsesetCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR);)publicvoidmouseDragged(MouseEventevent)(if(current!=null)(intx=event.getX:intY=event.getY;、current.setFrame(x-SIDE1.ENGTH/2,Y-Sidelength/2.SIDE1.ENGTH,SIDE1.ENGTH);repaint;32 .注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_3.java和Java_3.html文件,本题的功能是由用户输入两个浮点数求和。请完善Java_3.java文件和Java_3.html文件,并进行调试(在命令行中使用appletviewerJava_3.html,或者使用集成开发环境),程序先显示输入如下:输入两个浮点数后,小程序窗口显示结果如:由于Java_3.java和Java_3.html文件都不完整,需分别进行修改,请在注释行”*FoUnd*”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:importjava.awt.Graphics;importjavax.swing.*;*Found*publicclassJava_3extendsdoubleSUm;存和的变量*Found*publicvoid()StringfirstNumber,输入第1个字符串格式的数SeCOndNUmber;输入第2个字符串格式的数doublenumber1,力口数number2;/被力口数读入第1个输入的数firstNumber=JOptionPane.showInputDialog(',Enterfirstfloating-pointvalue");读入第2个输入的数SecondNumber=JOptionPane.ShowInputDialogCfEntersecondfloating-pointvalue");将字符串数据转换成双字长类型number1=Double.parseDouble(firstNumber);number2=Double.parseDouble(SecondNumber);数据相加sum=numberl+number2;)publicvoidpaint(Graphicsg)用g.drawString给结果g.drawRect(15,10,270,20);g.drawString("数相力口之和为:”+sum,25,25);五、单选题(0题)33 .阅读下列代码publicclassTestpublicstaticvoidmain(Stringargs)System,out.println(2<0)?10:8);)其运行结果是A.2B.0C.10D.8六、单选题(0题)34 .假设int类型的变量x、y和z,它们的初始值分别为10、20和30,则布尔表达式x<10lly>10&&z<10的值为oA.falseB.lC.trueD.无法判断参考答案1 .C2 .D解析:数组只有对其求长度有意义,其他IOng、Width和Wide不属于Java中的关键字或数组类型的方法。本题程序中Math.random。生成一个01的double型的随机数,乘以数组长度取整将会得到大于等于0而小于等于4的整数,再作为数组下标对数组取值。3 .CC.【解析】线性表是一种线性结构,由n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项C.是错误的。4.B栈是按照“先进后出(FI1.o)”或“后进先出(1.lFo)”的原则组织数据的,栈只能在栈顶插入数据(称为入栈)和删除数据(称为出栈)。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是EDCBA54321。因此本题的正确答案是B。rn5.A算法具有可行性、确定性、有穷性和拥有足够的情报四个基本特征。6.BB。顺序存储结构的结点只有自身信息域,没有连接信息的域,因此存储密度大,存储空间利用率高。链式存储结构除了自身域还包括指针域,因此比顺序存储结构的存储密度小,存储空间利用率低。7 .C8 .A解析:本题考查JaVa的输入/输出。DataoUtPUtStream是字节输出流,字节数据是以文件输出流FileOutputStream对象的形式作为DataOutputStream的构造方法的参数出现。因此,划线处应填入FileOutputStreamo本题的正确答案是选项Ao9 .DDo解析Thread类本身实现了RUnnabIe接口,所以可以通过继承Thread类,并重写run方法定义线程体,然后创建该子类的对象创建线程。10.DWindoW1.iStener接口包含的方法是:WindOWActivated(WindowEvent);©Window(u3OOOu3OOO)Pened(WindowEvent);WindoWClOSed(WindoWEVent);Win一dowCtosing(WindowEvent);WindoWDeaCtiVated(WindowEvent);(三)WindowDeiconified(WindowEvent);Win一dowIconified(WindowEvent)o所以D选项错误。11 .抽象方法抽象方法解析:本题考查接口的概念。接口是一种只含有抽象方法或常量的一种特殊抽象类。接口是不包含成员变量和方法实现的抽象类,它只包含常量和方法的定义,而不包含任何实现。12 .可运行状态可运行状态13 .控制器控制器14 .系统设计系统设计解析结构化设计土要分为系统设计和模块设计。系统设计的任务是决定系统的模块结构;模块设计的任务是具体考虑每一个模块内部采用什么算法,模块的输入、输出以及该模块的功能。15 .importjava.awt.*importjava.awt.*解析:本题考查JaVa语言中弓|入包的方法。引入所有直接公有类须在所引包名后加*,而直接引用某个类只须直接弓I入包名即可。16 .方法体方法体解析抽象方法就是在普通方法前面加abstract修饰,用来表示没有实现的方法。也就是说,这样的方法只有方法头,而没有方法体。abstract修饰符可修饰类、接口和方法,用于类是说该类不能被实例化。17 .notify()notify()解析:wait。和notify。方法提供了线程之间同步和通信的机制。18.6419.对象永久化【】对象永久化解析:对象的串行化对于JaVa应用是非常重要的,它有以下两种用途:JaVa远程调用方法,在这种情况下,需要传输对象。对象永久化,保存对象,以便以后使用。20.sleep()sleep()解析:本题考查线程的调度。SIeeP()调用会给较低优先级线程一个运行的机会,而yield。方法只会给相同优先级线程一个执行的机会,如果没有相同优先级的可运行进程,yield。什么都不做。21.B解析:本题考查对JaVa基本特点理解。选项A错误,JaVa通过删除了指针和内存分配,并在解释器执行字节代码之前检查和一系列安全措施等保障Java程序及用户数据的安全;选项B正确,多线程使可执行程序具有同时保持几个线程执行的能力,从而使Java实现并行机制:选项C错误,Java的跨平台性在于其解释器生成的字节码结构的文件格式与硬件体系无关,可以在任何种类的处理器上运行;选项D错误,可移植性是指Java程序及系统可以被放置在任何计算环境下。22.B23.C解析:JaVa中ShOrt类型长度为两个字节,16位,1位符号位,故最大值为OUIIUIUIlII11,十进制值为“32767”,计算机中负值采用补码形式表示,故最小值为100OOoOoOOOoO()00,其真值的十进制值为“.32768”,绝对值比最大正值大1。24.C25.D26.B数据库管理系统DBMS是数据库系统的核心。DBMS是负责数据库的建立、使用和维护的软件。DBMS建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过DBMS。另外,DBMS还承担着数据库的安全保护工作,按照DBA所规定的要求,保证数据库的完整性和安全性。27.B软件工程的目标是,在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。基于这一目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。28.D29.B解析:面向对象的三个特征是:封装、继承和多态。封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节;特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承;对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。所以,本题选B。30 .A解析:Thread类的其他方法有SetNameOxgetName()sactiveCount()sSetDaemOno等。其中,用于修改线程名字的方法是SetName()。31 .第1处:PUbliCRectangle2Dfind(Point2Dp)n第2处:privateclassMouseHandlerextendsMouseAdaoptern第3处:find(event.getPoint)=nulln【解析】第1处定义一个返回类型为ReCtangle2D的find函数且有一个Point2D型的形参;第2处定义了继承鼠标适配器MouseAdapt的MouseHandler;第3处判断find函数的返回值是否为空。32.JApplet;init第1处:扩展网页,需填入JApplet第2处:方法的名,需填入init33.D解析:是三元运算符,首先判断"?''前面的布尔表达式,若为true,则执行"'左边的表达式,而为false则执行“:”右边的表达式。本题中“2VO?10:8”,首先“2V0”返回false,故执行":”右边的表达式,将8返回。34.A