全国计算机等级考试《二级Java语言程序设计》模拟试卷二_第1页
全国计算机等级考试《二级Java语言程序设计》模拟试卷二_第2页
全国计算机等级考试《二级Java语言程序设计》模拟试卷二_第3页
全国计算机等级考试《二级Java语言程序设计》模拟试卷二_第4页
全国计算机等级考试《二级Java语言程序设计》模拟试卷二_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

全国计算机等级考试《二级Java语言程序设计》模拟试卷二[单选题]1.下列关于栈叙述正确的是()。A.栈顶元素最先被删除(江南博哥)B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.以上三种说法都不对参考答案:A参考解析:栈是先进后出的数据结构,因此栈顶元素最后入栈却最先被删除,栈底元素最先入栈却最后被删除。答案选择A选项。[单选题]2.下列叙述中正确的是()。A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构参考答案:B参考解析:线性表的特点:在数据元素的非空有限集合中,①存在唯一的一个被称为“第一个”的数据元素;②存在唯一一个被称为“最后一个”的数据元素;③除第一个以外,集合中的每个数据元素均只有一个后继;④除最后一个以外,集合中的每个数据元素均只有一个后继。B项,根结点可以看做线性表中唯一的一个被称为“第一个”的数据元素,但是根结点以及其他结点的后继并没有限定为仅有一个,所以该数据结构不一定是线性结构。[单选题]3.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()。A.3B.4C.6D.7参考答案:D参考解析:在任意一个二叉树中,度为0的叶子结点总比度为2的结点多一个,所以本题中度为2的结点为1-1=0个,即二叉树的每一个结点都只有一个孩子,7个结点共7层。答案选择D选项。[单选题]4.在软件开发中,需求分析阶段产生的主要文档是()。A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书参考答案:D参考解析:A项,测试说明书是软件测试阶段生成的;B项,软件详细设计说明书是设计阶段生成的;C项,用户手册是软件发布时随软件一同交付给用户的;D项,需求分析阶段只能生成需求分析规格说明书。答案选择D选项。[单选题]5.结构化程序所要求的基本结构不包括()。A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构参考答案:B参考解析:结构化程序设计的三种结构是顺序、分支和循环,不包括GOT0跳转,它只是分支结构的一种,也是一个关键字。[单选题]6.下面描述中错误的是()。A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具参考答案:A参考解析:软件系统的总体结构图是软件架构设计的依据,它并不支持软件的详细设计。支持软件系统的详细设计的有:程序流程N-S图以及PAD图等。[单选题]7.负责数据库中查询操作的数据库语言是()。A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言参考答案:C参考解析:数据库语言包括:①数据定义语言,负责数据的模式定义与数据的物理存取构建;②数据操纵语言,负责数据的操纵,包括增删改查等操作;③数据控制语言,负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。答案选择C选项。[单选题]8.一个教师可讲多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是()。A.1:1联系B.1:m联系C.m:1联系D.m:n联系参考答案:D参考解析:实体集之间通过联系来建立连接关系,包括:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。本题中一名教师可讲授多门课程,而一门课程又能由多名教师讲授,所以教师和课程之间是多对多的关系,可以表示为m:n,答案选择D选项。[单选题]9.有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。A.自然连接B.交C.除D.并参考答案:C参考解析:A项,自然连接的条件是两关系间有公共域,通过公共域的相等值进行连接,R与S的公共域为A和B;B项,R与S进行交运算后得到的关系是由既在R内又在S内的元素组成的,显然T不在S内;C项,R与S除运算后的域由R中不出现在S中的域组成;D项,R与S进行并运算得到的关系由属于R或属于S的元组组成。答案选择C选项。[单选题]10.定义无符号整数为Uint,下面可以作为类Uint实例化值的是()。A.-369B.369C.0.369D.整数集合{1,2,3,4,5}参考答案:B参考解析:A选项,-369有负号,选项C,0.369是小数都不能用无符号整数类存储。选项D,{1,2,3,4,5}是一个整数集合得用数组来存储。只有B选项369可以用无符号整数来表示和存储。答案选择B选项。[单选题]11.下列关于面向对象的论述中正确的是()。A.面向对象是指以对象为中心,解析、设计和实现应用程序的机制B.面向对象是指以功能为中心,解析、设计和实现应用程序的机制C.面向对象仅适用于程序设计阶段D.面向对象是一种程序设计语言参考答案:A参考解析:所谓面向对象就是以对象为中心,解析、设计和实现应用程序的机制,选项B不符合;C项,面向对象应用于程序设计的整个过程;D项,面向对象是一种程序设计思想,符合面向对象特点的语言有很多种。[单选题]12.语句“Hello”.equals(“hello”);的正确执行结果是()。A.divueB.falseC.0D.1参考答案:B参考解析:equals()方法是比较两个字符串是否相等,其中区分字符串的大小写,因此比较的结果是Hello与hello两个字符串不相等,答案是false。[单选题]13.下列关于Java源程序结构的论述中,正确的是()。A.一个文件包含的import语句最多1个B.一个文件包含的public类最多1个C.一个文件包含的接口定义最多1个D.一个文件包含的类定义最多1个参考答案:B参考解析:一个文件包含的import语句、接口定义以及类定义可以有0个或多个。由于java中默认public的类名和文件名是相同的,所以一个java文件中最多只能有一个public修饰的class。[单选题]14.下列不属于Java关键字的是()。A.thisB.superC.finallyD.NULL参考答案:D参考解析:NULL是一个常量,this、super和finally都属于Java关键字。this表示对自身类的引用,super表示对父类的引用,finally是对Java异常处理模型的最佳补充。[单选题]15.下列代码的执行结果是()。A.error1B.error2C.error1error2D.2error2参考答案:C参考解析:该题考查Java算术异常和数组越界异常。在循环开始时i=0,此时计算x[i+2]/x[i]+x[i+1],即x[2]/x[0]+x[1]=2/0+1,除法运算分母为零,抛出算术异常ArithmeticException,执行System.out.println(“error1”)语句,打印出"error1”。第二次循环时,i=2,此时计算x[i+2]时得到x[4],超出数组边界,因此抛出异常IndexOutOfBoundsException,该异常是Exception的子类,被捕获,打印出”error2”。[单选题]16.下列整数定义中,错误的是()。A.intf=314.;B.inta=012;C.inti=189;D.intd=0x123;参考答案:A参考解析:整数有三种表示方法,分别为八进制、十进制和十六进制。八进制数以0开始,十六进制数以0x开始。B项是八进制整数;C项是十进制整数;D项是十六进制整数;而A项最后多了一个小数点,不符合规范,故定义错误。[单选题]17.要得到某目录下的所有文件名,在下列代码的下划线处应填入的内容是(两个下划线的填写内容相同)A.FileInputSdiveamB.FileOutputSdiveamC.FileD.RandomAccessFile参考答案:C参考解析:该题考查File类提供的方法,File类中提供的list()方法返回一个字符串数组,为该文件所在目录下的所有文件名列表。[单选题]18.在下列代码中应填入下划线中的是()。程序中publicstaticvoidmaim应改为publicstaticvoidmainA.staffB.doubleC.intD.Sdiving参考答案:D参考解析:String[]args是用来传递用户在命令行输入的参数的。之所以采用String类型是因为Java缺省就认为输入的参数都为字符串,之后可以进行类型转换。这里需要传递给主函数的命令参数,是字符串类型数组,因此选D。[单选题]19.Object类中的方法publicinthashCode(),在其子类中覆盖该方法时,其方法修饰符可以是()。A.protectedB.publicC.privateD.缺省参考答案:B参考解析:在覆盖一个方法时,子类方法不能低于父类方法的可见性。即如果父类方法是public,则其子类方法一定要声明为public。[单选题]20.下列代码中的内部类名是()。A.TimerB.ActionListenerC.listenerD.匿名参考答案:B参考解析:该题考查内部类的知识,Timer是类成员,ActionListener是在类TalkingClock内部声明的一个类,符合内部类的特点。因此ActionListener是内部类。[单选题]21.已知zipname是一个压缩文件名,则zipname在下列代码中出现的正确位置是()。A.①B.②C.③D.④参考答案:A参考解析:当输入一个zip文件时要将Zip文件作为FileInputStream构造方法的参数,即题目中的①处。[单选题]22.下列代码的执行结果是()。A.012345B.123456C.01234D.12345参考答案:C参考解析:上述代码循环对数组numbers中的每一个成员赋值,numbers.1enght=6,循环变量i的范围是1~5,每一个成员的值为i-1,并输出该成员值,因此结果是01234。[单选题]23.Java.API中支持线程的类或接口是()。A.ⅠⅡB.ⅠⅡⅢC.ⅠⅡⅣD.ⅠⅡⅢⅣ参考答案:B参考解析:在Java中,有如下支持线程的类:java.Lang.Thread、java.lang.Runnable、java.lang.Object、java.lang.ThreadGroup、java.lang.ThreadDeath。而Serializable是序列化,是将一个对象的状态保存起来,在适当的时候再获得,它不支持线程。[单选题]24.下列关于Test类的定义中,正确的是()。A.B.C.D.参考答案:A参考解析:通过实现Runnable接口创建线程的时候必须要实现run()方法而不能只是声明run()方法,因此A项正确B项错误;而C、D两项均没有实现run()方法。[单选题]25.下列方法被调用后,一定使调用线程改变当前状态的是()。A.notify()B.yield()C.sleep()D.isAlive()参考答案:C参考解析:A项,notify()方法是用来唤醒一个线程,需要唤醒的线程不一定能够被唤醒,所以线程不一定改变状态;B项,yield()方法是放弃当前获得的CPU时间片,回到可运行状态,这时与其他进程处于同等竞争状态,有可能会接着又让这个进程进入运行状态,所以线程状态不一定改变;D项,isAlive()方法是判断线程当前状态是否处于Alive状态,不改变线程状态;而C项,调用sleep()方法之后,线程一定进入阻塞状态,所以C项正确。[单选题]26.在堆栈类SharedStack的定义中,为了保证堆栈在并发操作中数据的正确性,应在下划线处填入的修饰符是()。(两个下划线的填写内容相同)A.publicB.不使用修饰符C.privateD.protected参考答案:C参考解析:private访问控制符指明该属性为私有属性,只允许类成员函数调用,继承类也不允许调用,也即只有在调用类成员函数的时候才能改变私有属性值。为了保证堆栈在并发操作中数据的正确性,必须保证多线程访问时,线程的安全,即当一个线程访问该类的某个属性时,其他线程不能进行访问直到该线程读取完,其他线程才可使用。为了避免在多线程调用时,同一个成员对象的属性值不一致,造成线程不安全,必须定义成私有属性。[单选题]27.关于下列代码编译或执行结果的描述中,正确是()。A.不能通过编译,TestThread类中不能定义变量和构造方法B.输出0neOneTwoTwoC.输出TowOneOneTwoD.选项B或C都可能出现参考答案:D参考解析:线程的基本控制中,sleep()方法使一个线程暂停运行一段固定的时间,在休眠时间内,线程将不运行。Sleep()方法结束后,线程将进入可运行(Runnable)状态。由于线程的调度是根据CPU当时的运行状态决定因此各种情况都有可能发生,即D项正确。[单选题]28.下列关于Applet的叙述中,正确的是()。A.为了使Applet在浏览器中运行,需要在HTML文件智能嵌入相应的Applet类B.Applet不能从外部接受参数C.Applet不能使用javac命令进行编译D.JavaApplication与Applet都必须包含main()方法参考答案:A参考解析:B项,Applet可以从外部接受参数;C项,Applet可以使用javac命令进行编译;D项,程序在作为Applet运行时,可以像普通Applet类一样构造,不必在意main()方法的存在,在运行Applet时,main()方法一般是不被调用的。[单选题]29.下列代码的下划线处应填入的方法名是()。A.repaintB.printlnC.paintD.show参考答案:C参考解析:paint()方法所传入的参数--java.awt.Graphics对象将是一个经裁剪的相关显示区的图像代表(而不会是整个显示区)。我们对字符串的绘制就是在通过paint()方法,对传入的Graphics对象进行操作完成的。[单选题]30.下列变量定义中,错误的是()。A.intx=3;B.floatf;d;C.SdivingS=“Hello!”;D.booleanb=divue;参考答案:B参考解析:A项定义了一个整型变量,C项定义了一个字符串,D项定义了一个布尔型变量,这三个定义都是正确的;B选项中的f;d不符合标识符规范,因而选B。[单选题]31.下列代码的执行结果是()。A.5B.2C.10D.6参考答案:A参考解析:“Hello”.length()将返回“Hello”字符串长度,Java在计算字符串长度时只计算实际字符串长度,即其长度为5。[单选题]32.下列代码的编译或执行结果是()。A.1B.nullC.0D.编译错误参考答案:D参考解析:booleanb[]=newBoolean[5];等号左右布尔类型大小写要一致,故会出现编译错误,选项D正确。[单选题]33.若变量a是Sdiving类型的变量,那么表达式(a+a)的类型是()。A.charB.SdivingC.intD.long参考答案:B参考解析:Java允许将字符串用‘+’运算符连接起来,两个String类型或者一个String类型和一个int类型数据连接后,其数据类型为String类型。[单选题]34.Component类中用于刷新组件的方法是()。A.getFont()B.getName()C.update()D.paint()参考答案:C参考解析:A项,getFont()方法用于获得构件字体;B项,getName()方法用于获得构件名称;C项,update()方法用来刷新构件;D项,paint()方法用于绘制构件。[单选题]35.鼠标在窗口中移动时,产生的事件是()。A.ActionEventB.PrintEventC.KeyEventD.MouseEvent参考答案:D参考解析:鼠标的进入、点击、拖放等,产生的事件都是MouseEvent(鼠标事件)。ActionEvent是动作事件,按钮按下、在TextField中按Enter键时产生该事件;KeyEvent是键盘事件,键按下、释放时产生该事件;Java中没有PrintEvent事件。[填空题]1.有序线性表能进行二分查找的前提是该线性表必须是存储的。参考答案:顺序参考解析:二分法查找只适用于顺序存储的有序表。有序是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)。数据的地址必须是连续分布在内存中的,不能是链表结构。[填空题]2.一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为。参考答案:DEBFCA参考解析:中序遍历:首先遍历左子树,然后访问根结点,最后遍历右子树;前序遍历:首先访问根结点,然后遍历左子树,最后遍历右子树;后序遍历:首先遍历左子树,然后遍历右子树,最后访问根结点。由题中所给的前序遍历和中序遍历可得该二叉树为:因此,后序遍历的结果为DEBFCA。[填空题]3.对软件设计的最小单位(模块或程序单元)进行的测试通常称为测试。参考答案:单元参考解析:软件测试过程一般按4个步骤进行,即单元测试、集成测试、验收测试(确认测试)和系统测试。其中,对模块或函数进行测试称为单元测试,对整个系统进行测试称为系统测试。[填空题]4.实体完整性约束要求关系数据库中元组的属性值不能为空。参考答案:主键参考解析:在关系模式中,主关键字作为唯一标志,而主关键字的属性(称为主属性)不能取空值,否则表明关系模式中存在着不可标识的实体,这与现实世界是不相符的。[填空题]5.在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称是关系A的外码。参考答案:D参考解析:外键表示了两个关系之间的相关联系。表M中的某属性集是表N的候选键或者主键,则称该属性集为表M的外键(码),在本题中,A中属性集D是B的主关键字,故D是A的外键(码)。[填空题]6.若类声明时加上修饰符,则表示该类不能有子类。参考答案:final参考解析:final关键字用来修饰类时,表示该类不可被继承,即不能有子类。[填空题]7.Java的类库中提供Throwable类来描述异常,它有Error和两个直接子类。参考答案:Exception参考解析:Java的类库中提供Throwable类来描述异常,它有Error和Exception两个直接子类。Error类包括动态连接失败、硬件设备和虚拟机出错等;Exception类包括运行时出现的异常,并对这类异常作出处理。[填空题]8.类中的某些方法通过类名就可以直接被调用,例如JOptionPane.showMessageDialog(null,”按确定键退出“)中的showMessageDialog方法,这种方法称为方法。参考答案:静态(static)参考解析:static字面上是“静态”的意思,而实际上是一个类的所有对象“共享”的意思,一个类的各个对象可以共享方法、也可以共享数据。访问和调用这些方法或数据,不必对象引用,只要在前面冠以类名就可以了。[填空题]9.在对象流中,对象的传送首先要将所传送的对象串行化,也就是实现Serializable接口。以下代码中必须要实现Serializable接口的类是。参考答案:ObjectInput参考解析:要实现完全定制串行化,子类必须实现Serializable接口,还需要将父类的数据写到对象流中。[填空题]10.下列代码的执行结果是。publicclassExpression{publicstaticvoidmain(Sdiving[]args){intv1=10,v2=99,v3=0;System.out.println((v1<0)&&((v2/v3)==3));}}参考答案:false参考解析:此题中逻辑与表达式后半部分除数是0,按常理说应该报异常,且不会得出结果。但是在Java中计算&&运算时采用了部分结果方法,即先运算前半部分,如果前半部分为假,则不必计算后半部分,整个表达式为假,如果前半部分为真,这时才计算后半部分的值。此题中,前半部分已经为假,所以结果为假,不计算后半部分。[填空题]11.语句Threadthread1=newSomeThreadClass()成功运行后,线程thread1处于生命周期的状态。

温馨提示

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

评论

0/150

提交评论