1、国家二级( JAVA)机试模拟试卷 14及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)一个算法的空间复杂度大,则其时间复杂度必定大 ( B)一个算法的空间复杂度大则其时间复杂度必定小 ( C)一个算法的时间复杂度大,则其空间复杂度必定小 ( D)上述 3种说法都不对 2 开发软件时对提高开发人员工作效率至关重要的是 ( )。 ( A)操作系统的资源管理功能 ( B)先进的软件开发工具和环境 ( C)程序员的数量 ( D)计算机的并行处理能力 3 程序设计语言的基本成分 是数据成分、运算成分、控制成分干和 ( )。 ( A)对象成分 ( B)变量成分 ( C)语句成分 (
2、D)传输成分 4 对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为 ( )。 ( A) 125 ( B) n 2 ( C) n ( D) n+1 5 有下列二又树,对此二叉树前序遍历的结果为 ( ) 3 ( A) XZCYAB ( B) XYZABC ( C) XY ABCZ ( D) XY AZBC 6 下列叙述中正确的是 ( )。 ( A)在面向对象的程序设计中,各个对象之间具有密切的 关系 ( B)在面向对象的程序设计中,各个对象都是公用的 ( C)在面向对象的程序设计中各个对象之间相对独立相互依赖性小 ( D)上述 3种说法都不对 7 软件工程的理论和技术性研究的内容主要
3、包括软件开发技术和 ( )。 ( A)消除软件危机 ( B)软件工程管理 ( C)程序设计自动化 ( D)实现软件可重用 8 在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送 ( )。 ( A)调用语句 ( B)命令 ( C) H令 ( D)消息 9 下列选项中。是软件调试技术的是 ( )。 ( A)错误推断 ( B)集成测试 ( C)回溯法 ( D)边界值分析 10 数据库 DB、数据库系统 DBS、数据库管理系统 DBMS之间的关系是 ( )。 ( A) DB包括 DBS和 DBMS ( B) DBMS包括 DB和 DBS ( C) DBS包括 DB和 DBMS ( D)没有任
4、何关系 11 下列 ( )不是高级程序设计讲言。 ( A) FORTRAN ( B) Java ( C) C+ ( D) VisualASM 12 16根地址总线的寻址范围是 ( )。 ( A) 531KB ( B) 64KB ( C) 640KB ( D) 1MB 13 在一所大学中,每个系都有自己的局域网,则连接各个系的校园网 ( )。 ( A)是广域网 ( B)还是局域网 ( C)是地区网 ( D)这些局域网不能互连 14 下列关于信息加密的叙述中,正确的是 ( )。 ( A)加密通过加密算法实现 ( B)加密前的文件称为密文 ( C)加密后的文件称为明文 ( D)将明文变为密文的过程称
5、为解密 15 下列关于域名和 IP地址的叙述中,不正确的是 ( )。 ( A)在 Internet中访问一台主机必须 使用它的主机名 ( B) 200 201 202 203是一个 C类 IP地址 ( C) 1P地址采用的是分层结构 ( D)主机名与 IP地址是一对应的 16 Java语言中负责并发管理的机制是 ( )。 ( A)垃圾回收 ( B)虚拟机 ( C)代码安全 ( D)多线程 17 下列描述中,错误的是 ( )。 ( A) Java要求编程者管理内存 ( B) Java的安全性体现在多个层次上 ( C) Applet要求在支持 Java的浏览器上运行 ( D) Java有多线程机制
6、 18 Java为移动设备 提供的平台是 ( )。 ( A) J2ME ( B) J2SE ( C) J2EE ( D) JDK5 0 19 JDK中提供的文档生成器是 ( )。 ( A) javadoc.exe ( B) javap exe ( C) java exe ( D) javaprof exe 20 下列不属于 Swing中构件的是 ( )。 ( A) JPanel ( B) JTable ( C) Menu ( D) JFrame 21 阅读下面程序 importjava io *; publicclassTypeTransition publicstaticvoidmain(S
7、tringargs) chara=h; inti=100; intj=97; intaa=a+i; System out println(“aa=”+aa); charbb=(char)j System out println(“bb=”+bb); 如果输出结果的第二行为 bb=a那么第一行的输出结果是 ( )。 ( A) aa=I ( B) as=204 ( C) aa=v ( D) aa=156 22 阅读下面程序 publicclassOperatorsAndExpressions voidequalsMethodl( ) Stringsl=newString(“howareyou”);
8、 Strings2=newString(“howareyou”); System out println(sl=s2); publicstaticvoidmain(Stringargs) OperatorsAndExpressions( )perAndExp=new( )per atorsAndExpressions ( ); 用于复合类型数据的 “=”运算符 ( )perAndExp equalsMethodl( ); 程序运行结果是 ( )。 ( A) = ( B)真 ( C)假 ( D) equal 23 阅读下面代码 if(x=0)System out println(”冠军 ”)Ie
9、lseif(x一3)System out println(”亚军 ”); elseSystem out println(”季军 ”)I若要求打印字符串 ”季军 ”则变量 X的取值范围 是 ( )。 ( A) x=08Lx0 ( C) X一 3 ( D) x。 “Save”的快捷键为 而 “Help”菜单以及其中的菜单项 “Index”和 “About”设定了第一个字母为其快捷字母,通过鼠标单击任一个菜单项或通过快捷键以及快捷字母,都能在后台输入所选择的菜单项。 importjava awt *; importjava awl event *; importjavax swing *; impo
10、rtjavax swing event *; publicclassjava2extendsJFrame_ privateJMenuhemsaveItem; privateJMenuhemsaveAshem; privateJPopupMenupopup; privateJTextAreatextArea; publicjava2( ) (setTitle(”java2”); setSize(400, 300); addWindowListener(newWindowAdapter( ) publicvoidwindowClosing(WindowEvente) System exit(0);
11、 ); textArea=newJTextArea(0, 0); ContainercontentPane=getContentPane(); contentPane add(newJScrollPane(textArea)。 “Center”); JMenuBarmenuBar=newJMenuBar(); menuBar setLayout(newBoxLayout(menuBar。 BoxLayout YAXIS); getContentPane() add(menuBar, BorderLayout WEST) HorizontalMenufileMenu=newHorizontalM
12、enu (”File”) fileMenu addMenuListener(this) JMenuhemopenhem=newJMenultem (“()pen”); openhem setAccelerator(KeyStroke getKeyStroke (KeyEvent VK一 (), lnputEvent CTRL一 MASK); savehem=newJMenuhem(”Save”); saveltem setAcceIerator(KeyStroke getKeyStroke (KeyEvent VK S, InputEvent CTRL一 MASK); saveAshem=ne
13、wJMenuhem(”SaveAs”); menuBar add(makeMenu(fileMenu newObject( ”New”topenhem, null, savehem saveAshem。 null, “Exit” ), this); HorizontalMenuhelpMenu=newHorizontal Menu(”Help”); helpMenu _(H); menuBar addgBox createVerticalGlue(); menuBar add(makeMenu(helpMenu, new()bject newJMenultem(“Index”, l), new
14、JMenuhem(“About” A) this); publicvoidaetionPerformed(ActionEventevt) Stringarg=evt getActionCommand(); System Out println(arg); if(arg equals(”Exit”) System exit(0); publicvoidmenuSelected(MenuEventevt) publicvoidmenuDeseleeted(MenuEventevt) publicvoidmenuCanceled(MenuEventevt) publicHorizontalMenum
15、akeMenu(Objectparent, Objectitems ()bjecttarget) HorizontalMenum=nulh if(parentinstanceoHorizontalMenu) m=(HorizontalMenu)parent; elseif(parentinstanceofString) m=newHorizontalMenu(String)parent); else returnnull; m setMinimumSize(m getPreferredSize(); for(inti=0;iSyatem.out.println(evt.getChat( );
16、publicstaticvoidmain(Stringargs) newjava3( )I ClassKeyButtonextendsComponent Keyl, istenerkeyListener; booleanhighlighted; charkey; KeyButton(chark) this key=k; addMouseListener(newMouseEventHandler( ); publicvoidpaint(Graphicsg) intW=getSize( ) width; inth=getSize( ) height; Strings=”+key! FontMetr
17、icsfm=g getFontMetrics( ); if(highlighted) g setColor(getBackground( ); g fillR0undRect(0, 0, w一 1, h一 1, 10, 10); g setColor(getF0reground( ); g drawRoundRect(0 0, w一 1。 h一 1, 10 10); g drawString(s, (wfm stringWidth(s)12 (hfm getHeight( ) 2十 fm getAscent( ); classMouseEventHandlerextendsMouseAdapt
18、er publicvoidmouserPressed(MouseEventevt); if(keyListener!=null) keyListener keyTyped( FlewKeyEfent(KeyButton this, KeyEvent KEY TYPED System currentTimeMillis( )。 O, KeyEvent VKUNDEFINED, key); publicvoidmouseEntered(MouseEventevl) highlighted=true; repaint( ); public: voidmouseExited(MouseEventevt
19、) highlighted=false; repaint( ); publicsynchronizedvoidaddKeyListener(KeyLis tener1) keylListener=AWTEventMuhicaster add(key Listener, 1); publicsynchronizedvoidremoveKeyListener(Key Listenetl) keyListener=AWTEventMulticaster remove (keyListener,1); 国家二级( JAVA)机试模拟试卷 14答案与解析 一、选择题 1 【正确答案】 D 【试题解析】
20、算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系。 2 【正确答案】 B 【试题解析】 先进的软件开发工具和环境对提高开发人员工作效率是至关重要的。 3 【正确答案】 D 【试题解析】 程序设计语言的基本成分有:数据成分,用于描述程 序所涉及的数据 ;运算成分,用于描述程序中所包含的运算 ;控制成分,用于描述程序中所包含的控制 ;传输成分,用于表达程序中数据的传输。 4 【正确答案】 C 【试题解析】 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较直到两者相符,查找到所要找的元素为止。在最坏情况下。要查找的元素是表
21、的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。 5 【正确答案】 D 【试题解析】 对二叉树的前序遍历是指:先访问根结 点,然后访问左子树,最后访问右子树,并且在访问左、右子树时,先访问根结点,再依次访问其左、右子树。 6 【正确答案】 C 【试题解析】 面向对象的程序设计是用对象模拟问题领域中的实体各对象之间相对独立相互依赖性小通过消息来实现对象之间的相互联系。 7 【正确答案】 B 【试题解析】 基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理。 8 【正确答案】 D 【试题解析】 在面向对象方法中,
22、对象之间通过消息进行通信。消患中只包含传递者的 要求,但并不指示接受者应该怎么完成这些处理。 9 【正确答案】 C 【试题解析】 软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推断都是黑盒测试的方法。 10 【正确答案】 C 【试题解析】 数据库系统 (DBS)由数据库 (DB)、数据库管理系统 (DBMS)、数据库管理员,硬件平台和软件平台 5个部分组成,因此 DB和 DBMS都是 DBS的组成部分。 11 【正确答案】 D 【试题解析】 高级语言是一类人工设计的语盲因为它对具体的算法进行了描述,所以又称为算法语言。 它是面向程序设计独立于计算机的硬件。目前,计算机常用的高
23、级语言有: BASIC语盲、 F()RTRAN语言、 C()BOL语言、 PASCAL语言、 C语言、 PR()LOG语言、而当前流行的。面向对泉的程序设计语盲有 C+和用于网络环境的程序设计语盲 Java等。 12 【正确答案】 B 【试题解析】 假设地址总线有 n条,内存的寻址范围是 2n。 13 【正确答案】 B 【试题解析】 广域网是指远距离的计算机互联网络分布范围可达几千千米乃至上万千米甚至跨越国界、州界、遍及全球范围。局域网是指一个局部 区域中的、近距离的计算机互联网络,通常采用有线方式连接,分布范围从几百米到几千米,例如一座大楼内或相邻的几座楼之阃的互联网络。一个单位、学校内部的
24、网络多为局域网。 14 【正确答案】 A 【试题解析】 一般人们将加密前的文件称为明文,而加密后的文件称为密文,因此加密的目的就是将明文变为密文。而反过来将密文变为明文的过程则称为解密。 15 【正确答案】 A 【试题解析】 每台直接连接到 Internet上的计算机、路由器都必须有唯一的 lP地址。 lP地址是 Internet赖以工作的基础。 Internet中的计算机与路由器的 IP地址采用分层结构,它是由网络地址与主机地址两部分组成。对于 C类地址其网络地址空间长度为 21位,主机地址空间长度为 8位, C类 IP地址范围从;192 0 0 0 223 255 255 255。主机名与
25、它的 IP地址一一对应,因此在Internet上访问一台主机既可以使用它的主机名,也可以使用它的 IP地址。 16 【正确答案】 D 【试题解析】 多线程是 Java程序的并发机制,它能同步共享数据、处理不同的事件。 17 【正确答案】 A 【试题解析】 为了充 分利用资源, Java有一个系统级的线程用来对内存的使用进行跟踪,它可以在系统空闲时对不用的内存空间进行回收,从而使程序员从繁忙的内存管理中解放出来。 18 【正确答案】 AC 【试题解析】 Java2平台包括: J2ME平台、 J2SE平台和 J2EE平台。其中: 12ME是为嵌入式和移动设备提供的 Java平台 IJ2SE是面向企
26、业级应用与服务的综合性标准开发平台; J2EE是面向大型企业级用容器管理专用构件的应用平台。而 J13K5 0是一个 Java开发软件包。 19 【正确答案】 A 【试题解 析】 在 JDK中: javadoCexe是文档生成器,将 Java源代码和包以MMI。格式生成 AP文档, java exe是 Java解释器 Ijavap exe是 Java反汇编器 ;javaprof exe是 Java剖析工具提供解释器剖析信忠。 20 【正确答案】 C 【试题解析】 JPanel是 Swing的中间容器 ;JTable是 Swing中可编辑信患的构件 ;JFrame是 Swing的顶层容器。 21
27、 【正确答案】 B 【试题解析】 本题考查的是 Java的基本数据类型及其运算。程序开始生成了一个字符型变量 a和 3个整型变量 i、 j、 aa。而整型变量 aa的初始值是 a+i,其中 a是一个字符型变量。如何进行加法运算呢 ?Java语言规定。 chat型数据可以自动转换成 int类型。转换的结果就是该字符的 ASCII码值。因此,整型变量 aa的初始值为字符 ”h”的 ASCII码值加上 100。如果记住 h的 ASCII码值是 104,则直接就确定 aa的初始值是 204,选项 B为正确答案。如果记不得 h的 ASCII码题目中则给出提示。题目中说 ”输出结果的第二行为 bb=a”也
28、就是字符 bb的值为字符8, bb的生成语句是 charbb=(char)j,是把整型变量 j的值强制转换为字符型。同样把 ASCII码值为 j(97)所对应的字符赋值给 bb,,显然。字符 a的 ASCII码值为 97,字符 b的 ASCII码值为 98,依次类推,字符 h的 ASCII码为 104。因此,本题的正确答案是 B。 22 【正确答案】 C 【试题解析】 本题考查的是 Java语言中运算符的特殊用法。相等比较运算符 ”=”,不仅可用于基本类型的数据之间的比较,还可以用于复合类型数据之间的比较。但是,对于复合类型数据的 ”=”运算,其比较的目标是两个操作数是否是同一个对象。 如果需
29、要比较两个对象的值是否相同,则可以调用 equals()方法。题目中函数 equalsMethodl()的代码非常简单,首先生成两个字符串对象 s1和s2,然后输出表达式 ”s1=s2”的结果。根据上面介绍的相等比较运算符的用法,字符串对象 s1和 s2是复合类型数据因此表达式 ”s1=s2”比较的是 s1和 s2是否同一个对象。显然。 s1和 s2虽然具有相同的值,即 “howareyou”,但它们是两个不同的对象。因此,本题的正确答案是 C。 23 【正确答案】 D 【试题解析】 本题考查的是条件分支语句 ifelse。 ifelse根据判定条件的真假来执行两种操作中的一种。当条件为真时,
30、执行 if语句后面的代码块 ;当条件为假时,执行 else后面的代码块。题目中的代码段是一个 ifelse的嵌套语句根据ifelse语句的执行过程来进行分析。当 x的值为 O时,布尔表达武 ”x=O”的结果为真,就输出 ”冠军 ”;当 x的值不为 O时,则执行 else语句中的内容。 else语句中的代码又是一个 ifelse语句,还是和上面一样进行分析。当 x的值不等于 O且大干一 3时,布尔表达式 ”x一 3”的结果为真,输出 ”亚军 ”;当 x的值 不等于 O且不大干一 3,也就是 x的值不等于 O同时 x的值小于等于一 3时则输出 ”季军 ”。经过上述分析可知要想输出 “季军 ”, x
31、所满足的条件为 x!=0 x标记的一般格武是。 ahernateHTML 因此可以看出,选项 B不是 APPLET标记。 40 【正确答案】 B 【试题解析】 开放数据库连接 (ODBC, ()penDatebaseConnectivity)它是用 C语言定义的。由于 J2EE要求与 Java绑定,因此规定使用 Java数据库连接(JDBC, JavaDataBaseConnectivity),作为 Java与数据库连接的技术。 二、基本操作题 41 【正确答案】 第 1处 ;charc1, e2第 2处: c1=c2第 3处: strl equals(str2) 【试题解析】 第 1处声明两
32、个字符型变量 c1和 c2;第 2处表示当 c1等于 c2时 if条件为真 ;第 3处判断 str1和 str2是否相等 返回值是布尔类型 true或 false。 三、简单应用题 42 【正确答案】 第 1处: implementsActionListener,MenuListener第 2处:setMnemonic 【试题解析】 第 1处是实现了 ActionListener。接口, MenuListener接口 第 2处是设置卜 lelp的快捷键为 。 四、综合应用题 43 【正确答案】 第 1处: inti=0; ikeys 1ength( ); i+第 2处:kb addKeyl istener(NewKeyEventHandler( )第 3处:system out println(evt getKeyChar( ) 【试题解析】 第 1处是作为遍历 keys中元素的条件而 keys中的字符元素就是各个按钮对应的字符;第 2处注册键盘事件监听功能 KeyButton实现了KeyLlstener接口,而 kb是 KeyButton类的对象,所以它是合格的监听者;第 3处将从键盘读到的字符输出。