《【备考2023年】河北省秦皇岛市全国计算机等级考试Java语言程序设计真题二卷(含答案).docx》由会员分享,可在线阅读,更多相关《【备考2023年】河北省秦皇岛市全国计算机等级考试Java语言程序设计真题二卷(含答案).docx(17页珍藏版)》请在课桌文档上搜索。
1、【备考2023年】河北省秦皇岛市全国计算机等级考试Java语言程序设计真题二卷(含答案)学校:班级:姓名:考号:一、单选题(10题)1.下列数中为八进制的是()。A.27B.0x25C.26D.282,下列关于JaVa多线程并发控制机制的叙述中,错误的是()oAJava中对共享数据操作的并发控制是采用加锁技术B.线程之间的交互,提倡采用SUSPend()/resume()方法C.共享数据的访问权限都必须定义为privateDJava中没有提供检测与避免死锁的专门机制,但程序员可以采用某些策略防止死锁的发生3 .下列代码中,将引起编译错误的行是()1) publicclassExercise2)
2、 )publicstaticvoidmain(Stringargs11)3) )floatf=0.0;4) f+=1.0;5) )6) )A.第2行B.第3行C.第4行D.第6行4 .设有关系R及关系S,它们分别有p、q个元组,则关系R与S经笛卡儿积后所得新关系的元组个数是()。A.pB.qC.p+qD.p*q5 .程序书写格式的描述中,正确的是0。A.不区分字母大小写B.一个注释不可以分写到多行上C.每个语句必须以逗号(,)作为结束符D.一行中可以既包含正常的JaVa语句,又包含注释6 .按照运算符功能划分,运算符!=属于0。A.三元运算符B.二元运算符C.算术运算符D.关系运算符7 .在J
3、aVa中,线程是()oA.分时的B.抢占式的C.非抢占式的D.非分时的8 .当浏览器重新返回Applet所在页面时,将调用Applet类的方法是()oA.start()B.ink()C.stop()D.destroy()9 .下列表达式中不合法的是()。A.,b,=9B.C,%9C.,m,-7D.A=5=b410设有栈S和队列Q,其状态为空,元素al,a2,a3,a4,a5,a6依次入栈,出栈的元素则进入队列Q,若6个元素出列的顺序是a2,a3,a4,a6,a5,al,则栈的容量至少是。A.6B.4C.3D.2二、2.填空题(10题)11 .下列是一个JaVa应用程序,输出结果是【】。publ
4、icclassTestttpublicstaticvoidmain(Stringargs)charc=i;for(intn=6;nll;n+)if(n=8)break;System.out.print(C+);12 .在数据库逻辑结构的设计中,将E-R模型转换为关系模型应遵循相关原则。对于3个不同实体集和它们之间的多对多联系m:n:p,最少可转换为【】个关系模式。13 .开发与运行javaapplication程序需要经过的三个主要步骤为:编辑源程序、编译生成字节码、【】。14 .在面向对象方法中,允许作用于某个对象上的操作称为o15 .Java语言中的浮点型数据根据数据存储长度和数值精度的不
5、同,进一步分为float和两种具体类型。16 .Java语言用【】进行解释执行。17 .Java语言中,调用方法时,参数传递是【】调用,而不是地址调用。18 .Java中的线程由CPU、【】、数据等3部分构成。19 .如果子类中覆盖了父类中的同名方法,则在子类中调用父类中的同名方法时用关键字;在一个类的内部可以直接调用本类的对象,也可通过关键字this来调用。20 .int型PUbIiC成员变量MAX_1.ENGTH,该值保持为常数200,则定义这个变量的语句是O三、1.选择题(10题)21 .下列语句序列执行后,K的值是oPublicclassTestllpublicstaticvoidma
6、in(Stringargs)intm=3,n=6,k=0;while(m+)(n)+k;System.out.println(k);A.0B.1C.2D.322 .在JaVa中,下列不属于整数类型变量的是()。A.intB.floatC.byteD.short23 .在APPlet的关键方法中,下列()方法是关闭浏览器以释放APPlet占用的所有资源。A.init()B.start()C.paint()D.destroy()24 .已知一棵二叉树前序遍历和中序遍历分别为Abdegcfh和dbgeachfj则该二叉树的后序遍历为()。A.GEDHFBCAB.DGEBHFCAC.ABCDEFGHD
7、.ACBFEDHG25 .下列与其他选项不相等的是()。A.15B.0xFC.015D.0XF26 .resume。方法恢复哪些线程的执行A.通过调用StOP()方法而停止的线程B.通过调用SIeeP()方法而停止运行的线程C.通过调用wait。方法而停止运行的线程D.通过调用SUSPend()方法而停止运行的线程27 .下列有关变量的描述中不正确的是()。A.变量属性是用来描述变量作用域的B.局部变量作用域只能是它所在方法的代码段C.类变量能在类的方法中声明D.类变量的作用域是整个类28 .在编写JaVaAPPliCation程序时,若需要使用到标准输入输出语句,则必须在程序的开头写上语句。
8、()A.importjava.awt.*;B.importjava.applet.Applet:C.importjava.io.*;D.importjava.awt.Graphics;29 .下列叙述中错误的是A.在数据库设计的过程中,需求分析阶段必须考虑具体的计算机系统B.在数据库设计的过程中,概念结构设计与具体的数据库管理系统有关C.在数据库设计的过程中,逻辑结构设计与具体的数据库管理系统有关D.在数据库设计的过程中,物理结构设计依赖于具体的计算机系统30 .“商品”与“顾客,两个实体集之间的联系一般是A.一对一B.一对多C.多对一D.多对多四、综合应用题(2题)31 .注意:下面出现的“
9、考生文件夹”均为USER%在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“*FOUnd*“下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:程序运行的窗口(如图所示):并在命令行窗口中每隔1秒显示一下当前时间,类似:Atthetone,thetimeisMonNovOl10:51:32CST2004Atthetone,thetimeisMonNovOl10:51:32CST2004Atthetone,thetimeisMonNovOl10:51
10、:32CST2004在按下“确定按钮时自动退出程序o给定源程序:importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax.swing.*;importjavax.swing.Timer;publicclassJava_3publicstaticvoidmain(Stringargs)/*PoUnd*Action1.istenerlistener=new();Timert=newTimer(1000,listener);t.start();JOptionPane.showMessageDialog(null,Qui
11、tprogram?);System.exit(O);)*Found*classTimePrinterAction1.istenerpublicvoidactionPerformed(ActionEventevent)Datenow=newDate();System.out.println(,Atthetone,thetimeis+now);Toolkit.getDefaultToolkit().beep();32 .注意:下面出现的“考生文件夹”均为USER%在考生文件夹下存有文件名为Java_3.java和Java_3.html文件,本题的功能是利用SWitCh语句完成骰子游戏。请完善Jav
12、a_3.java文件,并进行调试(在命令行中使用appletviewerJava_3.html,或者使用集成开发环境),程序显示的输入框如下:由于Java_3.java文件不完整,请在注释行“*FOUnd*”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:importjava.awt;importjava.awt.event.*;importjavax.swing.*;*Found*publicclassJava_3extendsJAppletimplements扔两个骰子的游戏开始
13、状态finalintWON=0,1.OST=1,CONTINUE=2;程序其他变量初始化booleanfirstRoll=true;/第1次旋转为trueintSumOfDice=0;骰子之和intmyPoint=0;第1次旋转时,如没有win/lossintgameStatus=CoNTINUE;/游戏还没有结束图形用户界面构件J1.abeldie!1.abel,die21.abel,sum1.abel,point1.abel;JTextFieldfirstDie,secondDie,sum,point;JButtonroll;设置图形用户界面构件publicvoidinit()Contai
14、nerc=getContentPane();c.set1.ayout(newFlow1.ayout();dieI1.abel=newJ1.abe1(“骰子,);c.add(dieI1.abel);firstDie=newJTextField(10);firstDie.setEditable(false);c.add(firstDie);die21.abel=newJ1.abe1(“骰子211);c.add(die21.abel);secondDie=newJTextField(10);secondDie.setEditable(false);c.add(secondDie);sum1.abel
15、=newJ1.abe1(”两个骰子数之和是);c.add(sum1.abel);sum=newJTextField(10);sum.setEditable(false);c.add(sum);point1.abel=newJ1.abe1(“点是“);c.add(point1.abel);point=newJTextField(10);point.setEditable(false);c.add(point);roll=newJBUttOn(“旋转骰子”);*Found*roll.addAction1.istener();c.add(roll);按钮压下时,调用的方法publicvoidacti
16、onPerformed(ActionEvente)play();)/处理一个骰子旋转publicvoidplay()if(firstRoll)骰子第1次旋转SumOfDice=rollDice();switch(SumOfDice)case7:case11:在第1次旋转时赢gameStatus=WON;point.setText(,n,);清除点的原文域break;case2:case3:case12:/旋转第1次时输gameStatus=1.OST;POint.setText();/清除点的原文域break;default:存储点gameStatus=CONTINUE;myPoint=Sum
17、OfDice;point.setText(Integer.toString(myPoint);firstRoll=false;break;)elseSumOfDice=rollDice();if(SumOfDice=myPoint)/winbymakingpointgameStatus=WON;elseif(SumOfDice=7)旋转数之和为7是输gameStatus=1.OST;)if(gameStatus=CONTINUE)ShOWStatUS(“再旋转”);elseif(gameStatus=WON)ShOWStatUS(“玩家赢+”再旋转骰子继续玩”);elseShOWStatUS(
18、玩家输+再旋转骰子继续玩);firstRoll=true;)旋转骰子方法publicintrollDice()intdiel,die2,workSum;diel=1+(int)(Math.random()*6);die2=1(int)(Math.random()*6);workSum=diel+die2;firstDie.setText(Integer.toString(diel);SecondDie.setText(Integer.toString(die2);*Found*sum.setText(Integer.toString();returnworkSum;五、单选题(O题)33 .哪
19、些是将一个十六进制值赋值给一个IOng型变量。()A.longnumber=3451.;34 longnumber=0345;C.longnumber=03451.;D.longnumber=0x3451.六、单选题(0题)34.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指()oA.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对参考答案1.C解析:采用0,1,2,3,4,5,6,7八个数码,逢八进位,并且开头一定要以数字0开头的为八进制。2.B本题考查多线程的并发控制机制。Java中对共享数据操作的并发控制采用传统
20、的加锁技术,也就是给对象加锁,选项A说法正确。线程之间的交互,提倡采用wait()和notify。方法,这两个方法是javalang.ObjeCt类的方法,是实现线程通信的两个方法,不提倡使用SUSPend()和resume。方法,它们容易造成死锁,所以选项B说法错误。共享数据的访问权限都必须定义为PriVate,不能为PUbliC或其他,选项C说法正确。JaVa中没有提供检测与避免死锁的专门机制,因此完全由程序进行控制,但程序员可以采用某些策略防止死锁的发生,选项D说法正确。3.B4 .D解析:本题考查对笛卡儿积运算的掌握。笛卡儿积是两个关系的合并操作,关系R的每一个行依次跟关系S的每一个行
21、组成一个新元组,因此关系R与S经笛卡儿积后所得新关系的元组个数是p*q。5 .D6 .D7.BBo【解析】本题考查线程的调度。Java的线程调度策略是一种基于优先级的抢占式调度,选项B正确。Java这种抢占式调度可能是分时的,即每个等待池中的线程轮流执行,也可以不是,即线程逐个运行,具体采用哪种方式,由具体JVM而定。线程一般通过使用sleep等方法保证给其他线程运行时间。8 .A本题考查APPlet的运行方式。当init(u3OOOu3OOO)方法完成后,将调用Start(u3OOOu3OOO)方法,使APPlet成为激活状态。该方法在APPIet每次显示时都要调用。例如,浏览器由最rn小化
22、复原,或浏览器从一个UR1.返回该Applet所在的页面,一般常在start(u3OOOu3OOO)中启动动画或播放声音等的线程。9 .A10.CH.ijij解析:break用来退出循环。并从紧跟该循环语句的第一语句处开始执行。1 2.44解析:将E-R图转换为关系模型的转换方法有:一个实体型转换为一个关系模式;一个m:n联系转换为一个关系模式:3个或3个以上实体间的一个多元联系转换为一个关系模式。因此,本题答案为4。13.解释运行字节码解释运行字节码14 .方法方法解析:在面向对象方法中,方法是指允许作用于某个对象上的各种操作。允许作用于某个对象上的操作称为方法。15 .double16 .
23、字节码字节码解析:JaVa语言是用字节码进行解释执行,它本身带有许多编译时产生的信息,可使其连接过程更简单。17 .值值18 .代码代码解析:JaVa中的线程由CPU、代码、数据3部分构成。19.super20 .publicfinalintMAX1.ENGTH=100publicfinalintMAX1.ENGTH=100解析:JaVa中定义常值变量使用的是final属性,说明该值赋值以后永不改变,所以正确答案为publicfinalintMAX.1.ENGTH=100o21 .C解析:变量m和n在条件中都是采用了先使用后改变的方式,第一遍循环执行时,m=3,n=6满足条件,执行循环体k=l
24、,然后m=4,n=5;第二遍循环,满足条件,执行循环体,得到k=2,然后m=5,n=4;第三遍循环,判断条件时发现不满足,结束循环,因此k=2。22 .B解析:JaVa语言中的整数类型变量有bytesshort,int和Bng四种。浮点型数据属于实型数据,分float和double两种类型。23 .D解析:init()方法用于完成主类实例的初始化,start。方法用于启动浏览器运行Applet的主线程,Paint()方法用于在Applet的界面中显示文字、图形和其他界面元素。24 .B遍历是按照一定规则对树中全部结点逐一访问的方法。二叉树可由根结点、左子树和右子树三个部分组成。根据对根结点访问
25、的先后顺序,可将遍历方法分为先序遍历、中序遍历和后序遍历三种。先序遍历首先访问根结点,再先序遍历左子树,最后先序遍历右子树,可见遍历是一个递归的过程。求树的遍历这种问题的关键在于认清每棵子树的根结点的访问顺序。题目给出了一棵树的先序遍历和中序遍历的结点顺序,先序遍历的第一个结点为整棵树的根结点,即根结点为A,而在中序遍历的顺序中,结点A的前面还有DBGE四个结点,表示这四个结点构成以A为结点的二叉树的左子树,同理,中序遍历中A结点后面的CHF三个结点构成以A为结点的二叉树的右子树。于是原来的对一棵二叉树的分析变为对该二叉树的左右子树的分析。以左子树为例,左子树结点的先序遍历为BDEG,中序遍历
26、为DBGE1该子树的根结点为B,B结点的左子树为一个结点D,右子树为以E为根结点,结点G是E的左孩子。同理,可对CHF三个结点进行分析。最后得到整棵树的结构后,按照后序遍历写出所有结点的顺序:Dgebhfcao25.C解析:本题考查Java语言中的进制换算。考生首先要清楚各种进制的表示方法,整型常量有3种书写格式:十进制整数,如156,-230,345,八进制整数:以0开头,如012表示十进制的10:十六进制整数:以OX或OX开头,如0X123表示十进制数291o选项A是十进制的15,选项B和选项D都是十六进制中的F相当于十进制的15,选项C为八进制,以0开头,此处015相当于十进制的13,与
27、其他选项不同。26.D解析:本题考查resume。方法的使用。在Thread的API文档中的说明是该方法恢复被挂起(SUSPendeD)的线程。该方法首先调用该线程的无参的CheckAccessO方法,这可能在当前线程上抛出SeCUrityEXCePtiOn异常,如果该线程是活着的(alive)但被挂起(SUSPenD),它被恢复并继续它的执行进程。27 .C解析:类变量在类中声明,作用域是整个类,它不能在类的方法中声明。局部变量在类的方法中声明,作用域只能是它所在的方法中。28 .C解析在编程时,若要使用到标准的输入输出语句,必须引入io包,即在开头写上importjava.io.*;语句。
28、29 .B解析:数据库设计主要分4个步骤:需求分析、概念结构设计、逻辑结构设计、物理结构设计。选项B错误,应为本题的正确答案,因为概念结构设计在需求分析的基础上对客观世界做抽象,独立于数据库的逻辑结构,也独立于具体的数据库管理系统,与具体的数据库管理系统无关。30.D解析:两个实体间的联系可以归纳为3种类型:一对一联系:一对一的联系表现为主表中的每一条记录只与相关表中的一条记录相关联。一对多联系,一对多的联系表现为主表中的每一条记录与相关表中的多条记录相关联。多对多联系:多对多的联系表现为二个表中的多个记录在相关表中同样有多个记录其匹配。本题中一个顾客可以购买多种商品,同一种商品可以有多个顾客
29、购买,所以商品和顾客之间是多对多的联系。31 .TimePrinterumplements第1处:创建对象,需填入TimePrinter第2处:实现接口,需填入implements32 .Action1.istenerIhis;WOrkSUm第1处:实现接口,需填入Action1.istener第2处:注册监听器,需填入this第3处:转换成字符串的整型变量,需填入WorkSum33.D十六进制数以OX开头,1Ong型数以1.(大小写均可,一般使用大写,因为小写的1和数字1不易区分)。34.D解析:在数据库系统中,通过系统提供的映象功能,使数据具有两方面的独立性:一是物理独立性。即由于数据的存储结构与逻辑结构之间由系统提供映象,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。二是逻辑独立性。即由于数据的局部逻辑结构(它是总体逻辑结构的一个子集,由具体的应用程序所确定,并且根据具体的需要可以作一定的修改)与总体逻辑结构之间也由系统提供映象,使得当总体逻辑结构改变时,其局部逻辑结构可以不变,从而根据局部逻辑结构编写的应用程序也可以不必修改。由此可知,选项A.B与C中的说法都是错误的。