国家二级(JAVA)机试模拟试卷12(共185题)_第1页
国家二级(JAVA)机试模拟试卷12(共185题)_第2页
国家二级(JAVA)机试模拟试卷12(共185题)_第3页
国家二级(JAVA)机试模拟试卷12(共185题)_第4页
国家二级(JAVA)机试模拟试卷12(共185题)_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

国家二级(JAVA)机试模拟试卷12(共9套)(共185题)国家二级(JAVA)机试模拟试卷第1套一、基本操作题(本题共1题,每题1.0分,共1分。)1、下面的程序是10000以内的“相亲数”。所谓相亲数是指这样的一对数:甲数的约数之和等于乙数,而乙数的约数等于甲数,(例如220和284是一对相亲数)请在程序的每条横线处填写一条语句,使程序的功能完整。注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。publicclassQinShu{publicstaticvoidmain(Stringargs[]){for(intn=1;n<9999;n++){ints=divsum(n);if()System.out.println(n+","+s);}}publicstaticintdivsum(intn){//该方法的功能是求一个数的所有约数ints=0;for(inti=1;____________________i++)if(____________________)s+=i;returns;}}标准答案:n<s&&divsum(s)==ni<n;n%i==0知识点解析:本题主要考查for循环语句、逻辑与运算符(&&)和求余运算符(%)。解答本题的关键是熟悉使用for循环语句。在本题中,if(n<s&&divsum(s)==n)语句是用来调用divsum(n)方法(其中n为方法的实际参数)和判断某个自然数是否为“完全数”。for(inti=1;i<n;i++)循环语句是用来控制被判断的数是否为“相亲数”。if(n%i==0)语句是用来判断数n是否能被数i整除。二、简单应用题(本题共1题,每题1.0分,共1分。)2、请完成下列Java程序:用JFrame建立一个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2行2列4个按钮,要求对按钮的大小进行设定,宽度为150,高度为80。注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassex9_2{publicstaticvoidmain(String[]args){JFramefrm:newJFrame();frm.setTitle("ex9_2");Containercont=frm.getContentPane();_____________;cont.add(newJButton("button1"));cont.add(newJButton("button2"));Dimensiondimen=____________;JButtonbtn1=newJButton("button3");btn1.setPreferredSize(dimen);cont.add(btn1);cont.add(newJButton("button4"));frm.addWindowListener(newWindowAdapter(){publicvoidwinowClosing(WindowEventwe){System.exit(0);}});frm.pack();frm.setVisible(true);}}标准答案:cont.setLayout(newGridLayout(2,2))newDimension(150,80)知识点解析:本题主要考查网格布局管理器(GridLayout)在使用swing制作图形用户界面时的一些简单应用。解题关键是熟悉GridLayout的使用方法,初始化的方法是通过容器Container的对象调用setLayout()方法实现的,而它的一些特点,如并不会保持当初组件所定义的大小等,也需要很熟悉。本题中,第1个空,采用初始化Dimension类的对象来给出Button组件的初始大小:参数分别是宽度和高度;第2个空,将容器通过网格布局管理器设置为2行2列。三、综合应用题(本题共1题,每题1.0分,共1分。)3、下面是一个Applet程序,其功能是建立一个图形用户界面的窗口,包括一个文本显示区和一个按钮,单击按钮,可以在文本区已有的文本基础上追加显示10条“欢迎您,参加Java考试!”信息,并且文本区由滚动条控制文本的上下滚动。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。源程序文件代码清单如下;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;<appletcode="ex13_3.class"width=800height=400></applet>publicclassex13_3extendsJApplet{JButtonjb=newJButton("AddText");JTextPanejtp=newJTextPane();publicvoidinit(){jb.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){for(inti=1;i<10;i++)jtp.getText(jtp.setText()+"欢迎您,参加Java考试!");}});Containercp=getContentPane();cp.add(newJScrollPane(jtp));cp.add(BorderLayout.SOUTH,jtp);}publicstaticvoidmain(Stringargs[]){ex13_3obj13_3=newex13_3();Stringstr=obj13_3.getClass().toString();if(str.indexOf("class")!=-1)str=str.substring(6);JFramefrm=newJFrame(str);frm.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEventwe){System.exit(0);}});frm.getContentPane().addiex133);frm.setSize(300,400);frm.setVisible(true);}}ex13_3.html<HTML><HEAD><TITLE>ex13_3</TITLE></HEAD><BODY><appletcode="ex13_3.class"width=800height=400></applet></BODY></HTML>标准答案:jtp.setText(jtp.qetText()+“欢迎您,参加Java考试!\n”)cp.add(BorderLayout.SOUTH.jb)frm.getContentPane().add(obj13_3)知识点解析:本题主要考查Applet和Swing结合进行图形用户界面设计的综合应用。解题关键是掌握Swing的基本构件JTextPanel,JButton,JScrollPanel的用法,掌握BorderLayout布局管理器的使用方法,以及熟练掌握最基本的对象概念。本题中,第1处,JTextPanel的两个基本方法,setText()和getText(),熟悉这两个功能,则很容易就能将错误改正;第2处,应该是通过BorderLayout布局管理器在窗口的最下方添加一个JButton对象,需要清楚程序中每个对象所对应的类;第3处,应该是将类ex13_3的对象。obj13_3加入容器中,而不是把类作为参数传递给add()方法。程序的输出结果如下。国家二级(JAVA)机试模拟试卷第2套一、选择题(本题共39题,每题1.0分,共39分。)1、Java程序的并发机制是()。A、多线程B、多接口C、多平台D、多态性标准答案:A知识点解析:Java是通过多线程实现并发机制的。多线程是指一个程序中包含多个执行流,多线程程序设计的含义是可以将程序任务分成几个并行的子任务。2、将E-R图转换为关系模式时,实体和联系都可以表示为()。A、属性B、键C、关系D、域标准答案:C知识点解析:将E-R图转换为关系模式时,实体和联系都可以表示为关系。3、下列方法中,不属于类String的方法是()。A、toLowerCase()B、valueOf()C、charAt()D、append()标准答案:D知识点解析:String的方法中,toLowerCase()方法是转换成小写,valueof()方法是获得相应数值,charAt()方法是提取字符串中指定位置的字符。append()是StringBuffer的方法。4、grid[9][5]描述的是()。A、二维数组B、一维数组C、五维数组D、九维数组标准答案:A知识点解析:这是一个二维数组,[]中的数字是每一维的大小。5、下列运算符中,优先级最高的是()。A、++B、+C、*D、>标准答案:A知识点解析:在这些运算符中++运算符优先级最高。6、下面叙述中错误的是()。A、软件测试的目的是发现错误并改正错误B、对被调试的程序进行“错误定位”是程序调试的必要步骤C、程序调试通常也被称为DebugD、软件测试应严格执行测试计划,排除测试的随意性标准答案:A知识点解析:软件测试的目的是为了发现错误及漏洞而执行程序的过程。软件测试要严格执行测试计划。程序调式通常也称Debug,对被调试的程序进行“错误”定位是程序调试的必要步骤。7、耦合性和内聚性是对模块独立性度量的两个标准,下列叙述中正确的是()。A、提高耦合性降低内聚性有利于提高模块的独立性B、降低耦合性提高内聚性有利于提高模块的独立性C、耦合性是指一个模块内部各个元素间彼此结合的紧密程度D、内聚性是指模块间互相连接的紧密程度标准答案:B知识点解析:耦合是指模块间相互连接的紧密程度,内聚性是指在一个模块内部各个元素间彼此之间接合的紧密程序。高内聚、低耦合有利于模块的独立性。8、数据库应用系统中的核心问题是()。A、数据库设计B、数据库系统设计C、数据库维护D、数据库管理员培训标准答案:A知识点解析:数据库设计的目的是设计一个能满足用户要求,性能良好的数据库。所以数据库设计的核心是数据库应用。9、有两个关系R、S如下:由关系R通过运算得到关系S,则所使用的运算为()。A、选择B、投影C、插入D、连接标准答案:B知识点解析:本题考察关系的运算,一个关系R通过投影运算后仍为一个关系R′,R′是由R中投影运算所得到的域的列所组成的关系。选择运算主要是对关系R中选择由满足逻辑条件的元组所组成的一个新关系,所以题中关系S是由R投影所得。10、支持子程序调用的数据结构是()。A、栈B、树C、队列D、二叉树标准答案:A知识点解析:根据栈的定义,栈是一种限定在一端进行插入与删除的线性表。在主函数调用子函数时,主函数会保持当前状态,然后转去执行子函数,把子函数的运行结果返回到主函数,主函数继续向下执行,这种过程符合栈的特点。所以一般采用栈式存储方式。11、Java虚拟机(JVM)运行Java代码时,不会进行的操作是()。A、加载代码B、校验代码C、编译代码D、执行代码标准答案:A知识点解析:Java虚拟机加载代码是在运行前的操作。运行代码时会校验、编译和执行代码。12、下列叙述中正确的是()。A、栈是“先进先出”的线性表B、队列是“先进后出”的线性表C、循环队列是非线性结构D、有序线性表既可以采用顺序存储结构,也可以采用链式存储结构标准答案:D知识点解析:本题考查了栈、队列、循环队列的基本概念,栈的特点是先进后出,队列的特点是先进先出,根据数据结构中各数据元素之间的复杂程度,将数据结构分为线性结构与非线性结构两类。有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。13、在方法内部使用,代表对当前对象自身引用的关键字是()。A、superB、ThisC、SuperD、this标准答案:D知识点解析:super关键字为实现对父类变量的访问和对父类方法的调用。对当前对象自身的引用应使用this关键字。14、阅读下列程序publicclassVariableUse{publicstaticvoidmain(String[]args){inta;if(a==8){intb=9;System.out.println("a="+a);System.out.println("b="+b);}System.out.println("a="+a);System.out.println("b="+b);}}该程序在编译时的结果是()。A、变量a未赋值B、第二个System.out.println("b="+b)语句中,变量b作用域有错C、第二个System.out.println("a="+a)语句中,变量a作用域有错D、第一个System.out.println("b="+b)语句中,变量b作用域有错标准答案:B知识点解析:局部变量b是在if(a==8){}里定义的,作用域也只在这个if语句范围内,第二个System.out.println("b="+b)语句中,变量b超出了作用域。15、下列不属于Swing的构件是()。A、JButtonB、JLabelC、JFrameD、JPane标准答案:D知识点解析:Swing构件中JButton是按钮构件,JLabel为标签构件,JFrame为顶层窗体容器构件。中间容器面板应为JPanel,而不是JPane。16、对鼠标单击按钮操作进行事件处理的接口是()。A、MouseListenerB、WindowListenerC、ActionListenerD、KeyListener标准答案:C知识点解析:动作事件和按钮按下,以及在TextField中按<Enter>键对应的事件为ActionEvent事件,进行处理的接口应为ActionListener。MouseListener是MouseEvent事件的实现接口,响应的是鼠标的移动、单击(不包括单击按钮)事件。17、AWT中用来表示颜色的类是()。A、FontB、ColorC、PanelD、Dialog标准答案:B知识点解析:AWT中Font是表示字体的类,Color是表示颜色的类,Panel是表示面板的类,Dialog是表示对话框的类。18、软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。A、编辑程序B、操作系统C、教务管理系统D、汇编程序标准答案:C知识点解析:编译程序和汇编程序属于开发工具,操作系统属于系统软件,而教务管理系统属于应用软件。19、Java语言中属于跳转语句的是()。A、tryB、catchC、finallyD、break标准答案:D知识点解析:Java语言中跳转语句为break。try、catch和finally为异常处理语句。20、阅读下列利用递归来求n!的程序。classFactorialTest{staticlongFactorial(intn){//定义Factorial()方法if(n==1)return1;elsereturnn*Factorial{};}publicstaticvoidmain{Stringa[]}{//main()方法intn=8;System.out.println{n+"!="+Factorial(n)};}}为保证程序正确运行,在下画线处应该填入的参数是()。A、n-1B、n-2C、nD、n+1标准答案:A知识点解析:因为在n不为1时,n!=n*(n-1)*(n-2)*…*1=n*(n-1)!,所以此处应为n-1。21、该代码的运行结果是()。A、编译时将产生错误B、编译时正确,运行时将产生错误C、输出零D、输出空标准答案:C知识点解析:arr[]为整型数组,分配地址后默认值为0,所以创建数组时也是对每个数组元素赋初值0。22、在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是()。A、importB、packageC、includeD、packet标准答案:A知识点解析:定义一个包要用package关键字,使用一个包中的类时,首先要使用import导入这些类所在的包。include为C语言的包含头文件的关键字,不是Java的。23、阅读下列代码片段:classInterestTestActionListener{……publicvoidactionPerformed(ActionEventevent){doubleinterest=balance*rate/100;balance+=interest;NumberFormatformat=NumberFormat.getCurrencyInstance();System.out.print]b("balance="+formatter.format(balance)};}Privatedoublerate;}在下画线处,应填的正确选项是()。A、ImplementationB、InheritanceC、implementsD、extends标准答案:D知识点解析:继承父类应使用的关键词为extends。24、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。A、10B、8C、6D、4标准答案:C知识点解析:根据二叉树的性质判定,在任意二叉树中,度为0的叶子结点总是比度为2的结点多一个。25、信息隐蔽的概念与下述哪一种概念直接相关()。A、软件结构定义B、模块独立性C、模块类型划分D、模拟耦合度标准答案:B知识点解析:信息隐蔽的概念与模块独立性这一概念直接相关。26、Java类库中,将信息写入内存的类是()。A、java.io.FileOutputStreamB、java.io.ByteArrayOutputStreamC、java.io.BufferedOutputStreamD、java.io.DataOutputStream标准答案:B知识点解析:在java.io中,提供了ByteArrayInputStream、ByteArrayOutputStream和StringBufferInputStream类可以直接访问内存,其中用ByteArrayOutputStream可以向字节数组(缓冲区)写入数据。27、阅读下列Java语句:ObjectOutputStreamout=newObjectOutputStream(new______("employee.dat"));在下画线处,应填的正确选项是()。A、FileB、FileWriterC、FileOutputStreamD、Outputstream标准答案:C知识点解析:ObjectOutputStream即继承了OutputStream抽象类,又实现了ObjectOutput接口,这是Java用接口技术代替双重继承的例子,其构造方法参数是串行化了的对象。所以,此处应为串行化的文件输出流。28、使新创建的线程参与运行调度的方法是()。A、run()B、start()C、init()D、resume()标准答案:B知识点解析:start()方法使线程参与运行调度。29、Java中的线程模型由三部分组成,与线程模型组无关的是()。A、虚拟的CPUB、程序代码C、操作系统的内核状态D、数据标准答案:C知识点解析:Java中线程模型包含三部分,①一个虚拟的CPU;②该CPU执行的代码;③代码所操作的数据。30、当Applet需要更新显示内容时,应该调用的方法是()。A、paintB、update()C、start()D、repaint()标准答案:D知识点解析:Applet与显示相关的有三个方法,①paint()方法,具体执行Applet的绘制;②update()方法,用于更新Applet的显示;③repaint()方法,主要用于Applet的重新显示;Applet程序可以在需要显示更新时调用该方法,通知系统刷新显示。31、向Applet传递参数的正确描述是()。A、<paramname=age,value=20>B、<appletcode=Try.classwidth=100,height=100,age=33>C、<name=age,value=20>D、<appletcode=Try.classname=age,value=20>标准答案:A知识点解析:<Applet>标记的参数部分一般格式是[<PARAMNAME=appletParameterVALUE=value>]。32、Applet的默认布局管理器是()。A、BorderLayoutB、FlowLayoutC、GridLayoutD、PanelLayout标准答案:B知识点解析:Applet是一个面板容器,它默认使用Flow布局管理器,所以可以在Applet中设置并操作AWT构件。33、阅读下列代码段。classTestimplementsRunnable{publicintrun(){inti=0;while(true){i++;System.out.println("i="+i);}}}上述代码的编译结果是()。A、程序通过编译并且run()方法可以正常输出递增的i值B、程序通过编译,调用run()方法将不显示任何输出C、程序不能通过编译,因为while的循环控制条件不能为“true”D、程序不能通过编译,因为run()方法的返回值类型不是void标准答案:D知识点解析:while的循环控制条件可以为true,run()方法没有返回值,所以不能是int型,故此程序不能通过编译。34、如果线程调用下列方法,不能保证使该线程停止运行的是()。A、sleep()B、stop()C、yield()D、wait()标准答案:C知识点解析:线程的方法中sleep()方法的作用是使比当前线程优先级低的线程运行。该方法使一个线程暂停运行一段固定时间。在休眠时间内,线程将不运行,低优先级的线程将有机会运行。yield()方法为只让给同等优先级的线程运行。如果没有同等优先级的线程是可运行状态,yield()方法将什么也不做,即线程将继续运行。stop()方法是强行终止线程。wait()方法是线程间交互的方法,是使一个线程停止运行,进入等待状态。35、假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为()。A、50B、19C、1D、20标准答案:B知识点解析:当前栈中的所有元素的个数就是用栈底指针减去栈顶指针。36、在E-R图中,表示实体联系的框是()。A、矩形B、椭圆形C、菱形D、正方形标准答案:C知识点解析:本题考察E-R的关系,在E-R图中,用菱形来表示实体之间的联系。矩形表示实体集,椭圆形表示属性。37、Java语言中,对当前对象的父类对象进行引用的关键字是()。A、caseB、superC、charD、break标准答案:B知识点解析:当子类隐藏了父类的变量,并重写了父类方法后,又要使用父类变量或父类被重写的方法时,可以通过super来实现对父类变量的访问和对父类方法的调用。38、能打印出一个双引号的语句是()。A、System.out.println{""};B、System.out.println{"*"};C、System.out.println{"/"};D、System.out.println{"\""};标准答案:D知识点解析:双引号字符的输出应使用转义字符。39、使下列程序正常运行并且输出“Hello!”,横线处应填写的内容是()。classTest________{publicstaticvoidmain(string[]args){Testt=newTest();t.start();}Publicvoidrun(){System.out.println("Hello!");}}A、extendsThreadB、extendsFloatC、extendsIostreamD、extendsStdio标准答案:A知识点解析:从后面重写了run()方法来看,这是通过继承Thread类,并重写run()方法定义线程体,然后创建该子类的对象的方式来创建线程。二、基本操作题(本题共1题,每题1.0分,共1分。)40、本题是判断一个字符串“Tom”是否在另外一个字符串“IamTom,IamfromChina”中出现。publicclassjava1{publicstaticvoidmain(String[]args){______;str1="IamTom,IamfromChina.";str2="Tom";inti=______;if(______)System.out.println("\""+str2+"\"isinthestring:\""+str1+"\"");elseSystem.out.println("\""+str2+"\"isnotinthestring:\""+str1+"\"");}}标准答案:第1处:Stringstr1,str2第2处:str1.index0f(str2)第3处:i!=-1知识点解析:第1处使用前定义变量str1和str2;第2处和第3处判断str2是否是str1的子串。三、简单应用题(本题共1题,每题1.0分,共1分。)41、本题的功能是将文件java2.java复制为文件java2.java.bak。importjava.io.*;publicclassjava2{publicstaticvoidmain(Stringsarg[]){try{Filefile=newFile("java2.java.bak");______;FileInputStreamrfile=newFileInputStream("java2.java");FileOutputStreamwfile=newFileOutputStream("java2.java.bak");intc;while(______)wfile.write((char)c);rfile.close();wfile.close();}catch(Exceptione){System.out.println("读取文件的时候发生错误!");}System.out.println("复制操作完成!");}}标准答案:第1处:file.createNewFile()第2处:(c=rfile.read())!=-1知识点解析:本题考查文件操作,第1处在写入文件前要创建文件;第2处为判断是否是文件尾。四、综合应用题(本题共1题,每题1.0分,共1分。)42、本题的功能是用按钮来控制文本框中文本的颜色。窗口中有两个带有文字标题的面板“Sampletext”和“Textcolorcontrol”,窗口的底部还有一个复选按钮“Disablechanges”。在“Sampletext”面板中有一个带有字符串的文本框,而在“Textcolorcontrol”面板中有三个按钮“Black”、“Red”和“Green”,并且每个按钮上都有一个对应颜色的圆。点击任意按钮,文本框的文本变成对应的颜色,如果选中“Disablechanges”复选框,则三个颜色按钮变为不可用,如果取消选中复选框,则三个按钮变为可用。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassjava3extendsJFrame{privateJPanelupper,middle,lower;privateJTextFieldtext;privateJButtonblack,red,green;privateJCheckBoxdisable;publicjava3(StringtitleText){super(titleText);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});upper=newJPanel();upper.setBorder(BorderFactory.createTitledBorder("Sampletext"));______text=newJTextField("Changethecolorofthistext");upper.add(text,BorderLayout.CENTER);middle=newJPanel();middle.setBorder(BorderFactory.createTitledBorder("Textcolorcontrol"));middle.setLayout(newFlowLayout(FlowLayout.CENTER));black=newJButton("Black",newColorIcon(Color.black));black.addActionListener(newButtonListener(Color.black));middle.add(black);red=newJButton("Red",newColorIcon(Color.red));red.addActionListener(newButtonListener(Color.red));middle.add(red);green=newJButton("Green",newColorIcon(Color.green));green.addActionListener(newButtonListener(Color.green));middle.add(green);lower=newJPanel();lower.setLayout(newFlowLayout(FlowLayout.RIGHT));disable=newJCheckBox("Disablechanges");disable.addItemListener(newItemListener(){publicvoiditemStateChanged(ItemEvente){booleanenabled=(e.getStateChange()==ItemEvent.DESELECTED);black.setEnabled(enabled);red.setEnabled(enabled);green.setEnabled(enabled);}});lower.add(disable);Containercp=getContentPane();cp.add(upper,BorderLayout.NORTH);cp.add(middle,BorderLayout.CENTER);cp.add(lower,BorderLayout.SOUTH);pack();setVisible(true);}______{privateColorc;publicButtonListener(Colorc){this.c=c;}publicvoidactionPerformed(ActionEvente){text.setForeground(c);}}classColorIconimplementsIcon{privateColorc;privatestaticfinalintDIAMETER=10;publicColorIcon(Colorc){______;}publicvoidpaintIcon(Componentcp,Graphicsg,intx,inty){g.setColor(c);g.fillOval(x,y,DIAMETER,DIAMETER);g.setColor(Color.black);g.drawOval(x,y,DIAMETER,DIAMETER);}publicintgetIconHeight(){returnDIAMETER;}publicintgetIconWidth(){returnDIAMETER;}}publicstaticvoidmain(String[]args){newjava3("java3");}}标准答案:第1处:upper.setLayout(newBorderLayout())第2处:classButtonListenerimplementsActionListener第3处:this.c=c知识点解析:第1处JAVA是大小写敏感的;第2处ActionListener是接口,应用implements;第3处引用当前对象成员应用this。国家二级(JAVA)机试模拟试卷第3套一、选择题(本题共40题,每题1.0分,共40分。)1、下列叙述中正确的是()。A、线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B、线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C、线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D、上述三种说法都不对标准答案:B知识点解析:与顺序存储结构相比.线性表的链式存储结构需要更多的空间存储指针域,因此。线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。2、下列叙述中正确的是()。A、在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B、在栈中。栈顶指针不变,栈中元素随栈底指针的变化而动态变化C、在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D、上述三种说法都不对标准答案:C知识点解析:栈是限制仅在表的一端进行插入和删除的运算的线性表,通常称插入、删除的这一端为栈顶,男一端称为栈底。3、软件测试目的是()。A、评估软件可靠性B、发现并改正程序中的错误C、改正程序中的错误D、发现程序中的错误标准答案:D知识点解析:软件测试的目的主要是在于发现软件铡误.希望在软件开发生命周期内尽可能早的发现尽可能多的bug.4、下面描述中。不属于软件危机表现的是()。A、软件过程不规范B、软件开发生产率低C、软件质量难以控制D、软件成本不断提高标准答案:A知识点解析:①对软件开发的进度和费用估计不准确;②用户对已完成的软件系统不满意的现象时常发生;③软件产品的质量往往靠不住;④软件常常是不可维护的;⑤软件通常没有适当的文档I⑥软件成本在计算机系统总成本中所占的比例逐年上升;⑦软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。5、软件生命周期是指()。A、软件产品从提出、实现、使用维护到停止使用退役的过程B、软件从需求分析、设计、实现到测试完成的过程C、软件的开发过程D、软件的运行维护过程标准答案:A知识点解析:软件生命周期(SDLC,SystemsDevelop—mentLifeCycle)是软件的产生直到退役的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。6、面向对象方法中,继承是指()。A、一组对象所具有的相似性质B、一个对象具有另一个对象的性质C、各对象之间的共同性质D、类之间共享属性和操作的机制标准答案:D知识点解析:继承;在程序设计中。继承是指子类自动享用父类的属性和方法,并可以增加新的属性和方法的一种机制。它是实现代码共享的重要手段。可以使软件更具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,也是面向对象的主要优点之一。继承又分为单重继承和多重继承.单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承了多个父类的属性和操作。Java是一种单重继承语言.而C++是一种多重继承语言。7、层次型、网状型和关系型数据库划分原则是()。A、记录长度B、文件的大小C、联系的复杂程度D、数据之间的联系方式标准答案:D知识点解析:层次型、网状型和关系型数据库划分的原则是数据之间的联系方式。8、一个工作人员可以使用多台计算机.而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是()。A、一对一B、一对多C、多对多D、多对一标准答案:C知识点解析:一个工作人员对应多台计算机。一台计算机对应多个工作人员,则实体工作人员与实体计算机之间的联系是多对多。9、数据库设计中反映用户对数据要求的模式是()。A、内模式B、概念模式C、外模式D、设计模式标准答案:C知识点解析:外模式,也称为用户模式。在一个数据库模式中,有n个外模式,每一个外模式对应一个用户。外模式保证数据的逻辑独立性。内模式属于物理模式,因此,一个数据库只有一个内模式。内模式规定了数据的存储方式、规定了数据操作的逻辑、规定了数据的完整性、规定了数据的安全性、规定了数据存储性能。10、有三个关系R、S和T如下:则南关系R和s得到关系T的操作是()。A、自然连接B、交C、投影D、并标准答案:A知识点解析:自然连接是将表中具有相同名称的列自动进行记录匹配。11、下列关于顺序存储结构的叙述中.错误的是()。A、存储密度大B、某些非线性结构也可以采用顺序方法存储C、结点中只有自身信息域。没有链接信息域D、便于进行插入、删除等运算操作标准答案:D知识点解析:顺序结构每个结点只包含自身的信息域,且逻辑上相邻的结点物理上也是相邻的。因此其存储密度大。但插入、删除运算操作不方便,需移动大量的结点。12、有下三角矩阵A[0…10,0…10],按行优先顺序存放其非零元素,每个非零元素占两个字节,存放的基地址为100,则元素A[5.5]的存放地址为()。A、110B、120C、130D、140标准答案:D知识点解析:A[5][5]元素存储的位置在第6行第6列.但由于矩阵A为下三角矩阵,所以A[5][5]之前的非零元素才计入地址内,因而所存储的非零元素的个数应为1+2+3+4+5+5=20,这些元素占用的空间为20×2=40字节。所以A[8][5]的存储位置为100+40=140。13、设数组data[0…m]作为循环队列sq的存储空间.front为队头指针,rear为队尾指针,则执行出队操作的语句为()。A、sq↑.front;=sq↑.front+1;B、sq↑.front;=(sq↑.front+1)%maxsize}C、sq↑.rear:=(sq↑.rear+1)%maxsize;D、sq↑,front;=(sq↑.front+1)%(maxsize+1);标准答案:B知识点解析:循环队列采用的方法是;假设向量sq↑.data[maxsize]是一个首尾相接的圆环,即sq十.data[0]接在sq↑.data[maxslze一1]之后。我们将这种意义下的向量称循环向量,并将循环向量中的队列称为循环队列。若当前尾指针等于向量的上界,则再做入队列操作时.令尾指针等于向量的下界,这样就利用到已被删除的元素空间,克服假上溢现泉。因此入队操作时,在循环意义下的尾指针加1操作可描述为:if(sq↑.rear>=maxsize)sq↑.near:=0;elsesq十.rea!’++;如果利用“模运算”,上述循环意义下的尾指针加1操作,可以更简洁地描述为:sq↑.rear=(sq↑.rear+1)%maxsize。同样。出队操作时,在循环意义下的头指针加1操作,也可利用“模运算”来实现:sq↑.from:=(sq↑.front+1)%max—size。14、如果人栈序列为CEDB,以下哪一个是从栈中删除元素的序列?()A、BEDB、BDEC、BEDCD、BDEC标准答案:D知识点解析:根据栈的先进后出原则,可知从栈中删除的元素的序列为BDEC。15、设待排序关键码序列为(25,18,9,33.67,82,53,95.12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法。第一趟排序完成后关键码95被放到第()个位置。A、7B、8C、9D、10标准答案:B知识点解析:快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序.整个排序过程可以递归进行,以此达到整个数据变成有序序列。具体操作如下图:进行第一趟排序完成后的结果如下:12,18,9,25,67,82,53,95,33,70所以第一趟排序完成后关键码95被放到第8个位置。16、下列特点中不属于Java的是()。A、多线程B、多重继承C、跨平台D、动态性标准答案:B知识点解析:Java不支持多重继承(子类只能有一个父类)。17、Java的反汇编命令是()。A、javapB、javacC、jdbD、java标准答案:A知识点解析:javap命令是Java反汇编命令;javac命令是Java语言编译器,jdb是基于文本和命令行的调试工具.java命令是Java解释器。18、下列变量定义中,不合法的是()。A、intsx;B、int_123;C、intSummer2010一gross—saletD、int#dim;标准答案:D知识点解析:Java中标识符的命名规则为:①区分大小写,如a和A是两个变量;②标识符由字母、下画线、美元符号和数字组成,并且第一个字符不能是数字。19、下列选项中为单精度数的是()。A、2B、5.2C、0.2fD、23标准答案:C知识点解析:Java中单精度常量以f或F结尾。20、下列关于boolean类型的叙述中,正确的是()。A、可以将boolean类型的数值转换为int类型的数值B、可以将boolean类型的数值转换为字符串C、可以将boolean类型的数值转换为char类型的数值D、不能将boolean类型的数值转换为其他基本数据类型标准答案:D知识点解析:由于基本数据类型中boolean类型不是数字型。所以基本数据类型的转换是除了boolean类型以外的其他7种类型之间的转换。21、若定义inta=2,b=2,下列表达式中值不为4的是()。A、a*(++b)B、a*(b++)C、a+bD、a*b标准答案:A知识点解析:++b,先自加,再计算,即a*(++b)等价于b=b+l;a*b。22、下列可以获得构件前景色的方法是()。A、getsize()B、getF0reground()C、getBackground()D、paint()标准答案:B知识点解析:A是获得控件大小,B是获得构件的前景色,C是获得构件的背景色.D是继承Applet的子类需要实现的方法。23、下列程序的运行结果是()。publiccIasstest{privateString[]data={“10”,”10.5”};publicvoidfun(){doubles=0lfor(inti=0}i<3Ii++){try{s=s+Integer.parseInt(data[i]);catch(Exceptione){System.Out.print(”errorl:”+data[i]);}}}publicstaticvoidmain(string[]args){try{testd=newtest();d.fun();}catch(Exceptione){System.out.println(“error2”)}}}A、errorlll0.5B、error2C、errorl:10.5error2D、以上都不对标准答案:C知识点解析:try—catch块是可以嵌套分层的.并且通过异常对象的数据类型来进行匹配,以找到正确的catchblock异常错误处理代码。以下是通过异常对象的数据类型来进行匹配找到正确的catchblock的过程。①首先在抛出异常的try—catch块中查找catchblock,按顺序先与第一个catchblock块匹配,如果抛出的异常对象的数据类型与catchblock中传入的异常对象的临时变量(就是catch语句后面参数)的数据类型完全相同,或是它的子类型对象,则匹配成功,进入到catchblock中执行t否则到第2步;②如果有两个或更多的catchblock,则继续查找匹配第二个、第三个,直至最后一个catchblock,如匹配成功,则进入到对应的catchblock中执行,否则到第3步;③返回到上一级的try—catch块中.按规则继续查找对应的catchblock。如果找到,进入到对应的catchblock中执行,否则到第4步;④再到上上级的try—catch块中,如此不断递归,直到匹配到顶级的try—catch块中的最后一catchblock,如果找到,进入到对应的catchblock中执行l否则程序将会执行terminate()退出。所以本题选C。24、下列程序片段中.能通过编译的是()。A、publicabstractclassAnimal{publicvoidspeak()1}B、publicabstractClaSSAnimal{C、publicclassAnimal{publicvoidspeak(){};}D、publicabstractclassAnimal{pubileabstractvoidspeak()I}pubilcabstractvoidspeak(){}l}标准答案:A知识点解析:Java中一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰(abstract类也可以没有abstract方法)。有abstract方法的父类只声明,由继承他的子类实现。所以选A。25、下列不属于接口WindowListener的方法是()。A、windowClosing()B、windowClosed()C、windowMinimized()D、window()pened()标准答案:C知识点解析:接口WindowListener包括以下方法:windowActivated、windowDeactivated、windowClosing、win-dowClosed、windowlconified、windowDeiconified、win—dowOpened方法。所以选C。26、下列选项中,不能输出100个整数的是()。A、for(inti=0;i<100Ii++)System.OUt.println(i);B、inti=0;do{System.out.println(i);i++;}while(i<100);C、inti=0;while(i<100){System.out.println(i);i++;}D、inti=0;while(i<100){i++;if(i<100)continue;System.out.println(i);}标准答案:D知识点解析:continue语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选D。27、类变量必须带有的修饰符是()。A、staticB、finalC、publicD、volatile标准答案:A知识点解析:类变量用static修饰。28、下列选项中属于字符申常量的是()。A、.abe.B、“abe”C、[abclD、(abe)标准答案:B知识点解析:Java中字符串常量由双引号和其中间的字符所组成。29、Java程序默认引用的包是()。A、java.text包B、java.awt包C、java.1ang包D、java.util包标准答案:C知识点解析:java.1ang包提供Java编程语言进行程序设计的基础类。java.1ang包是编译器自动导入的。30、为使下列代码正常运行。应该在下厕线处填人的选项是()。ObjectInputStreamIn=new________(newFilelnputStream(”employee.doc”));Employee[]newstaff一(Employee[])in.readObject();In.close();A、ReaderB、InputStreamC、ObjectlnputD、()bjectlnputStream标准答案:D知识点解析:ObjectlnputStream类和ObjectOutput—Stream类分别是lnputStream类和OutputStream类的子类。ObjectlnputStream类和ObjectOutputStream类创建的对象被称为对象输入流和对象输出流。对象输入流使用read()bject()方法读取一个对象到程序中。31、下列代码将对象写入的设备是()。ByteArrayOutputStreambout=newByteArrayOut—putStream();ObjeetOutputStreamout=newObjectOutputStream(bout);out.writeObject(this);out.close();A、内存B、硬盘C、屏幕D、网络标准答案:A知识点解析:()bject()utputStream类的构造方法是ObieetOutputStream(()utputStreamout)。Java中的二进制流全都写入到内存中。32、为使下列代码正常运行.应该在下面线处填人的选项是()。intE]numbers=newintEn];for(inti=0;iA、sizeB、1engthC、dimensionD、measurement标准答案:B知识点解析:length表示数组的长度。33、为使下列代码正常运行,应该在下面线处填入的选项是()。abstractclassperson{publicPerson(Stringn){name=n;}public——StringgetDescription()IpublicStringgetName(){returnname;}privatestringname;}A、staticB、privateC、abstractD、final标准答案:C知识点解析:抽象类中的抽象方法可以只声明,定义延迟到其子类。34、下列能够正确创建线程的方法是()。①.继承java.1ang.Thread类。并重写run()方法②.继承java.1ang.Runnable类,并重写start()方法③.实现java.1ang.Thread接口.并实现run()方法④.实现java.1ang.Runable接口,并实现run()方法A、①,③B、②.④C、②,③D、①,④标准答案:D知识点解析:用Thread类的构造方法Thread(Runna—bletarget)创建线程对象时,构造方法中的参数必须是一个具体的对象.该对象称作线程的目标对象,创建目标对象的类必须要实现Runnable接口。35、下列线程状态转换序列。在线程实际运行中可能出现的序列是()。A、新建→运行→阻塞→终止B、……运行→阻塞→可运行→终止C、……可运行→运行→阻塞→运行……D、新建→可运行→运行→阻塞→可运行……标准答案:D知识点解析:线程状态转换序列如下图所示:g故选D。36、为了支持压栈线程与弹栈线程之间的交互与同步.应在下厕线处填入的选项是()。publicclassStackTest{privateintidx=0;privateint[]data=newint[8]publicvoidpush(inti){synchronized(this){——;data(idx)=i;idx++;}}}……A、this.notify()B、interrupt()C、this.wait()D、sleep()标准答案:A知识点解析:当一个线程使用的同步方法中用到某个变量,而且需要其他线程修改此变量后才能复合本线程的需要,那么可以使用wait()方法。wait()方法的作用是使本线程等待.并允许其他线程使用此同步方法。当其他线程使用完后应使用notify()或者notifyAll()方法允许其他线程使用此同步方法。Interrupt()方法的作用是在run方法执行完之前就消灭此线程,而sleep()方法的作用是延迟一段时间后执行。因为本题是为了支持压栈线程与弹栈线程之间的交互与同步,所以选A。37、对下列程序的叙述中,正确的是()。1)publicclassXextendsThreadimplementsRunnable{2)publicvoidrun(){3)system.out.println(”thisisrun()”);4)}5)publicstaticvoidmain(Stringargs[-]){6)Threadt=newThread(newX());7)t.start();8))9)A、第1行会产生编译错误B、第6行会产生编译错误C、第6行会产生运行错误D、程序正常运行标准答案:D知识点解析:程序正常运行打印thisisrun()。用Thread类的构造方法Thread(Runnabletarget)创建线程对象时.构造方法中的参数必须是一个具体的对象,该对象称作线程的目标对泉,创建的目标对象的类必须实现Runna—ble接口。38、下列关于Applet的叙述中,正确的是()。A、Applet不仅可以嵌入到浏览器中运行,还可以独立运行B、Applet的主类要定义为Applet类或JApplet类的子类C、同一个页面中的Applet之间不能通信D、Applet不支持多线程标准答案:B知识点解析:Applet不可以单独运行,Applet支持多线程。39、当一个Applet所在的Web页面被其他页面覆盖后。不可能被调用的Applet方法是()。A、destroy()B、init()C、stop()D、start()标准答案:B知识点解析:在JavaApplet的生命周期中,共有4种状态.即4种方法:init()、start()、stop()和destory()。在Applet装载时.调用init()通知该Applet巳被加载到浏览器中,使Applet执行一些基本初始化操作。40、要向Applet传递参数。应该在下列drawing.html文件的下面线处填入的选项是()。</applet>A、B、C、D、标准答案:D知识点解析:param中name属性值不可重复,value是绝对路径,必须都用引号引用起来。二、基本操作题(本题共1题,每题1.0分,共1分。)41、本题提示输入年份,然后判断该年份是否为闰年。importjava.io.*;publicClaSsjaval{publicstaticvoidmain(String[]args){InputStreamReaderir;BufferedReaderin;ir=newInputStreamReader(System.in);in=newBufferedReader(ir);intyear=1900;System.out.print(”请输入年份:”);try{Strings=in.readLine();——;}——(Exceptione){}if()System.out.println(year+”是闰年”);elseSystem.out.println(year+”不足闰年”);}}标准答案:第1处:year=Integer.parseInt(s)第2处:catch第3处tyear%4==0&.8f.year%1001=0||year%400==0知识点解析:第1处是将String型的s转换成整型;第2处是捕获异常的catch子旬.用来处理由try所抛出的异常事件;第3处是判断是否为闰年的条件。即能被4整除且不能被100整除的或能被400整除的就是闰年。三、简单应用题(本题共1题,每题1.0分,共1分。)42、本题的功能是通过按钮来选择窗口显示的风格。窗口中有三个按钮:“Metal”、“Motif”和“Windows”,单击任何一个按钮.就能将窗口的风格改变为按钮名称所对应的风格。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classPlafPanelextendsJPanelimplementsActionl,is—tener{public——(){metalButton=newJButton(“Metal”);motifButton=newJButton(“Motif”);windowsButton=newJButton(“Windows”);add(metalButton);add(motifButton);add(windowsButton);metalButton.addActionListener(this);motifButton.addActionListener(this);windowsButton.addActionListener(this);}publicvoidactionPerformed(ActionEventevt){Objectsource=evt.getSource();Stringplaf="";if(source==metaIButton)plaf=”javax.swing.plaf.metal.MetalLookAnd—Feel”;elseif(source==motifButton)plaf=”corn.sun.java.swing.plaf.motif.Moti-fLookAndFeel”;elseif(source==windowsButton)plaf=”corn.sun.java.swing.plaf.windows.Win—dowsLookAndFeel”;try{UIManager.setLookAndFeel(__________);SwingUtilities.updateComponentTreeUl(this);}catch(Exceptione){)}privateJButtonmetalButton;privateJButtonmotifButton;privateJButtonwindowsButton;}classPlafFrameextendsJFrame{publicPlafFrame(){setTitle(”simple”);setSize(300,200);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(O);}});ContainercontentPane=getC0ntentPane();contentPane.add(newPlafPanel());}}publicclassjava2{publicstaticvoidmain(String[]args){JFrameframe=newPlafFrame();frame.show();}}标准答案:第1处:lafPanel第2处:plal知识点解析:第一处由题意可知。类PlafPanel缺少构造函数.所以填PlafPanel。第二处是通过string类型的对象plat.和uIManagersetLookAndFeel()方法实现显示风格的切换。四、综合应用题(本题共1题,每题1.0分,共1分。)43、本题的功能是监听鼠标的操作。鼠标置于窗口中单击时(左键或右键),在单击的地方会画一个小矩形.如果将鼠标置于小矩形上,则鼠标光标状态改为小十字。按下鼠标左键可拖曳,双击鼠标左键(或右键)时,小矩形消失。importjava.awl.*;importjava.awt.event.*;importjava.util.*;importjava.awt.geom.*;importjavax.swing.*;publicclassjava3(publicstaticvoidmain(Stringr]args){MouseFrameframe=newMouseFrame();frame.setDefaultClose()peration(JFrame.EXIT一()N—CLOSE);frame.show();}}classMouseFrameextendsJFrame{publicMouseFrame(){setTitle(”java3”);setSize(DEFAULT—WIDTH,DEFAULT—HEIGHT);MousePanelpanel=newMousePanel();ContainercontentPane=getContentPane();contentPane.add(panel);}publicstaticfinalintDEFAULTWlDTH=300;publicstaticfinalintDEFAUT一HEIGHT=2001}classMousePaneIextendsJPanel{publicMousePanel(){squares=newArrayList();current=null;addMouseListener(newMouseHandler());addMouseMotionListener(newMouseMotionHan.dler());}publicvoidpaintComponent(Graphicsg){super.paintComponent(g);Graphics2Dg2=(Graphics2D)g;for(inti=0;ip

温馨提示

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

评论

0/150

提交评论