《【备考2023年】安徽省滁州市全国计算机等级考试Java语言程序设计真题一卷(含答案).docx》由会员分享,可在线阅读,更多相关《【备考2023年】安徽省滁州市全国计算机等级考试Java语言程序设计真题一卷(含答案).docx(20页珍藏版)》请在三一办公上搜索。
1、【备考2023年】安徽省滁州市全国计算机等级考试JaVa语言程序设计真题一卷(含答案)学校:班级:姓名:考号:一、单选题(10题)1 .在Java语言中,ObjeCte)UtPUtStream是指()oA.字节流B.字符流C.对象输出流D.数据流2 .表达式(10*49.3)的类型是()。A.doubleB.charC.longD.float3 .JDK中,用()命令对其源文件进行编译,生成字节码文件。A.java.exeBjavac.exeCjavadoc.exeDjavap.exe4 .以下程序代码的输出的结果是()doubleX=25.6;System.outprint1(int)x1)
2、;A.48B.50C.51D.525 .耦合性和内聚性是对模块独立性度量的两个标准,下列叙述中正确的是()。A提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性C.耦合性是指-个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度6 .下面的程序执行后,屏幕上显示的应是publiccbsj(Examlpublic5icvoidmain(Strtng%rfchrcherlJ=3;j-)if(j%3!=0)j-;-j;-j;System.out.println(j);A.63B.74C.62D.7310 .下列关于栈的叙述中正确的是()A
3、.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表二、2.填空题(10题)11 .当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致弓I起应用程序的变化,这是指数据的【】。12 .Break语句的最常用的用法是在SWitCh语句中,通过break语句退出switch语句,使程序从switch结构后面的第条语句开始执行。13 .Java输入/输出流中包括字节流、文件流、对象流以及管道流。14 .计算机软件分为系统软件和应用软件,操作系统属于15 .常见的需求分析方法有【】和面向对象的分析方法。16 .与结构化需求分析方法相对应
4、的是【】方法。17 .任何非空树中有且仅有一个结点没有前驱结点,该结点就是树的【】。18 .Java的体系结构中,最下层是移植接口,上面一层是虚拟机,虚拟机的上层是JaVa基本类和,它们都具有可扩展性。19 .设有数组定义:inta=ll,22,33,44,55,66,77,88.99);则执行下列几个语句后的输出结果是Ofor(inti=0;i”代表只移除选中的列表项,“”代表移除所有的列表项代表反向选择列表项。importjava.awt.*;importjava.awt.event.*;classjava3extendsFrameimplementsActin1.istener,)j1,
5、O,1,1,O,1.0);b.addAction1.istener(this);add(b=newButton(n11),1,1,1,1,0,1.0);b.addAction1.istener(this);add(b=newButton(n11),1,2,1,1,O,1.0);b.addAction1.istener(this);add(b=newButton(,)j1,3,1,1,O11.0);b.addAction1.istener(this);add(b=newButton(n!11),1,4,1,1,O,1.0);b.addAction1.istener(this);for(inti=
6、0;iITEMS;i+)It1.ist.add(11item,+i);)pack;show;)voidadd(Componentcomp,intX,intY,intW,inth,doubleweightx,doubleweighty)GridBag1.ayoutgbl=(GridBag1.ayout)get1.ayout/GridBagConstraintsc=newGridBagConstraints/e.fill=GridBagConstraints.BOTH;c.gridx=x;cgridy=y;c.gridwidth=W;c.gridheight=h;c.weightx=weightx
7、;c.weighty=weighty;add(comp);gbl.setConstraints(comp,c);)voidreverseSelections(1.ist1)for(inti=0;il.IenHth;i+)if(l.islndexSelected(i)1.deselect(i);else1.select(i);voiddeselectAll(1.ist1)for(inti=0;il.gethemCount;i+)1.deseleet(i);)voidreplacehem(1.ist1,Stringitem)for(inti=0;il.getltemCount;i+)if(l.ge
8、them(i).equals(item)1.replacehem(item+,*,ji);)voidmove(1.ist11,1.ist12,booleanall)if(all)for(inti=0;ill.getltemCount;i+)12.add(11.gethem(i);)11.removeAll;elseString1.Jitems=I1.getSelectedhems;intitemlndexes=l1.getSelectedlndexes;deselectA11(12);for(inti=0;i=O;i)11.remove(itemlndexesij);)publicvoidac
9、tionPerformed(AetionEventevt)Stringar9=evt.getActionCommand;if(,11.equals(arg)move(It1.ist,rt1.istjfalse);Jelseif(,11.equals(arg)move(It1.ist,rt1.istjtrue);Jelseif(,.equals(arg)move(rt1.ist1It1.ist,false);Jelseif(,O)FeverseSelections(It1.ist);Jelseif(rt1.ist.getSelectedhems.length0)(reverseSelection
10、s(rt1.ist);elseObjecttarget=evt.getSouree;if(target=rt1.istIltarget=It1.ist)replacehem(1.ist)target,arg);)PUbIiCVOiditemStatedChanged(ItemEventent)I1.isttarget=(1.ist)evt.getSouree;if(target=h1.ist)deselectA11(rt1.ist);elseif(target=rt1.ist)deselectA11(lt1.ist);)publicstaticvoidmain(Stringargs)newja
11、va3;32 .注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“*FoUnd*下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:在点击“Exit”按钮和窗口右上角的关闭按钮时,可以关闭窗口。程序运行后的界面如图所示。给定源程序:*Found*importjava.*;importjava.awt.event.*;publicclassJava_3implementsAction1.istener9Wi
12、ndow1.istenerJFrame,f;Buttonbe,bw,bs,bn,bc;publicvoidcreate()f=newFrame(,Exittest);*Found*be=newButton();bw=newButton(nWestn);bs=newButton(nSouthn);bn=newButton(nNorthn);bc=newButton(Exit);f.add(be,11East11);f.add(bw,11West);*Found*f.add(bs,);f.add(bn,North);f.add(bc,Center);bc.addAction1.istener(th
13、is);为按钮注册监听器f.addWindow1.istener(this);为按钮注册监听器f.setSize(200,200);f.setVisible(true);publicstaticvoidmain(Stringargs)Java_3fa=newJava_3();fa.create();publicvoidactionPerformed(ActionEvente)*Found*;/关闭窗口并使程序正常结束;publicvoidwindowOpened(WindowEvente)publicvoidwindowClosing(WindowEvente)*Found*;/关闭窗口并使程
14、序正常结束);publicvoidwindowClosed(WindowEvente)publicvoidwindowIconified(WindowEvente)publicvoidwindowDeiconified(WindowEvente)publicvoidwindowActivated(WindowEvente)publicvoidwindowDeactivated(WindowEvente)五、单选题(O题)33 .栈中允许进行插入和删除的-端称为()。A.栈顶B.栈底C.栈端D.栈尾六、单选题(0题)34 .下面对do-while结构的描述中,不正确的是()A.循环体至少执行一次
15、B.属于“直到型”循环C.与WhiIe语句执行情况相同D.先执行循环体,再计算终止条件,若结果为true,则执行循环体,直到布尔的值为false参考答案1.C本题考查JaVa输入输出流的概念。FilelnputStream是字节流,BufferedWriter是字符流,ObjectOutputStream是对象输出流,既继承了OUtPUtStream抽象类,又实现了ObjeCtoUtPUt接口,这是Java用接口技术代替双重继承的例子,其构造方法参数是串行化的对象。2.AAo【解析】运算中自动类型转换按优先关系从低级数据转换成高级数据。规定的优先次序是byte,short,charintlon
16、gfloatdouble03.BB。【解析】本题考查JDK实用工具的使用。选项A错误,java.exe是JaVa语言解释器,直接从类文件执行JaVa应用程序字节代码,可接受class文件并启动Java虚拟机执行;选项B正确,javac.exe是Java语言编译器,将Java源代码转换成字节码;选项C错误,javadoc.exe是根据JaVa源代码及说明语句生成HTM1.,文档选项D错误,jav叩exe是反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。4.B5.B模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽
17、量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A错误,B正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素问彼此结合的紧密程度,所以C与D错误。6.A本题考查考生对字符数组的理解。首先可以通过字符数组来生成一个字符串对象:String(Charvalue)和String(charvalue.intstartindex,intnumChars),其中,startindex指定字符串在数组中的起始下标,numChars表示字符个数。然后再测试字符串是否相等,可调用equals(u3OOOu3OOO)方法,两个字符串相等则返回
18、true,否则返回falseo题目中SI和s2都是test”,所以最后返回是true,选项A正确。7.B8.D9.B解析:该题考查对for循环的理解。当j=10时,满足条件j3,由于for循环中j-执行了1次,j的值为9,执行if语句,j%3=0不满足条件,继续向下执行2次-j,j的值为7;当j=7时,满足条件j3,由于for循环中j执行了1次,j的值为6,执行if语句,j%3=0不满足条件,继续向下执行2次-j,j的值为4o10D解析:栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删
19、除栈顶的元素,即刚刚被插入的元素,所以栈也被称为“先进后出”表或“后进先出”表。11 .物理独立性物理独立性解析:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。12 .13 .字符流字符流解析JaVa的I/O功能主要是通过输入输出类库javaio包实现的,javaio包中包括了可以处理字节流、字符流、文件流、对象流以及线程之间通信的管道流等的类。14 .系统软件系统软件15 .结构化分析方法结构化分析方法解析:本题是基础题,考核需求分析方法。
20、常见的需求分析方法有结构化分析方法和面向对象的分析方法。16 .结构化设计结构化设计解析:与结构化需求分析方法相对应的是结构化设计方法。结构化设计就是采用最佳的可能方法设计系统的各个组成部分以及各个成分之间的内部联系的技术。17 .根节点根节点解析:在树结构中,每个节点只有一个前件,称为父节点,没有前件的节点只有一个,称为树的根节点。18 .基本API基本API19 .33669920.冒泡排序冒泡排序21.B遍历是按照一定规则对树中全部结点逐一访问的方法。二叉树可由根结点、左子树和右子树三个部分组成。根据对根结点访问的先后顺序,可将遍历方法分为先序遍历、中序遍历和后序遍历三种。先序遍历首先访
21、问根结点,再先序遍历左子树,最后先序遍历右子树,可见遍历是一个递归的过程。求树的遍历这种问题的关键在于认清每棵子树的根结点的访问顺序。题目给出了一棵树的先序遍历和中序遍历的结点顺序,先序遍历的第一个结点为整棵树的根结点,即根结点为A,而在中序遍历的顺序中,结点A的前面还有DBGE四个结点,表示这四个结点构成以A为结点的二叉树的左子树,同理,中序遍历中A结点后面的CHF三个结点构成以A为结点的二叉树的右子树。于是原来的对一棵二叉树的分析变为对该二叉树的左右子树的分析。以左子树为例,左子树结点的先序遍历为BDEG,中序遍历为DBGE1该子树的根结点为B,B结点的左子树为一个结点D,右子树为以E为根
22、结点,结点G是E的左孩子。同理,可对CHF三个结点进行分析。最后得到整棵树的结构后,按照后序遍历写出所有结点的顺序:Dgebhfcao22.D23.D解析:本题考核软件测试、软件调试和软件维护的概念。软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。软件测试具有挑剔性,测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷,就是说,测试是程序执行的过程,目的在于发现错误;一个好的测试在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误。由于测试的这一特征,一般应当避免由开发者测试自己的程序。所以,选
23、项A的说法错误。调试也称排错,目的是发现错误的位置,并改正错误,经测试发现错误后,可以立即进行调试并改正错误;经过调试后的程序还需进行回归测试,以检查调试的效果,同时也可防止在调试过程中引进新的错误。所以,选项B的说法错误。软件维护通常有4类:为纠正使用中出现的错误而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。文档可以分为用户文档和系统文档两类。但无论是哪类文档,都必须与程序代码同时维护。只有与程序代码完全一致的文档才有意义和价值。所以,选项C的说法错误。综上所述
24、,选项A、B、C的说法都错误,所以,选项D为正确答案。24 .D解析:AWT事件分为两大类:低级事件和高级事件。低级事件是指基于组件和容器的事件,当一个组件上发生事件,如鼠标的进入、单击、拖放等,或组件的窗口开关的,就触发了组件事件。高级事件是基于语义的事件,它可以不和特定的动作相关联,而依赖于触发此事件的类,如在TeXtFieki中按Eenter键会触发ACtiOnEVent事件,滑动滚动条会触发AdjustmentEvent事件,或是选中项目列表的某一条就会触发ItemEVent事件。所以本题的选项A、B、C都是低级事件。25 .C解析:软件工程的基本概念。软件工程概念的出现源自于软件危机
25、。为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。26.B解析:由于面向对象技术的封装要求,应该尽量少用公共变量,而是通过公共方法间接访问类的成员变量,从而提高程序的稳定性。因此,本题的正确答案是B。27 .D解析:JaVa中对共享数据操作的并发控制是采用传统的封锁技术。用SynChrO-nized()来定义临界区,使得各个线程互斥的访问临界区。28 .A29 .DDo【解析】本题考查对Java组件中容器的基本知识的理解。选项A错误,Panel类派生自容器类COntainer,属于容器的一种;选项B错误。WindOW类
26、也派生自容器类Container,也属于容器的一种;选项C错误,Frame类派生自WindOW类,也是一种容器;选项D正确,1.abel组件是标签组件,不属于容器。故本题答案选项是D。30 .B解析:对象生成包括声明、实例化和初始化三方面内容。一般是先定义一个对象变量,再用关键字new生成一个对象,并为对象中的变量赋初值。如:typebjectName=newtype(参数);其中,IypeobjectName声明是定义对象的类型,它包括类和接口的复合类型。NeW关键字是实例化一个对象,给对象分配内存,它调用对象的构造方法,返回该对象的弓I用。因此,声明一个Integer对象,并将10作为初始
27、化参数的写法应是IntegerbjectName=newInteger(10);,选项B正确。31.第1处:extendsFrame,implementsAction1.istener,Item-Xn1.istenern第2处:for(inti=0;il.getltemCount;i+)n第3处:PUbliCvoidhemStateChanged(ltemEventevt)n【解析】第1处类可以实现多个接口,接口之间用隔开;第2处FeverseSelections方法实现的是反选,遍历列表获得列表元素数应使用的是getltemCount方法;第3处XnJava是大小写敏感的。32.awt;nEast;nSouth;System.exit(0);System.exit(0)第1处:加载指定类库里的所有类,需填入awt第2处:按钮名称,需填入“East”第3处:在窗体上加入按钮,需填入nSouthn第4处:关闭窗口,需填入System.exit(O)或System.exit(l)第5处:关闭窗口,需填入System.exit(O)或System.exit(l)33.A栈是限定在表的-端进行插入和删除操作的线性表。在表中,允许插入和删除的-端叫做“栈顶”,不允许插入和删除的-端叫做“栈底34.C