2017年计算机二级《C语言》操作题练,2017年计算机二级《JAVA》练习试题答案

副标题:2017年计算机二级《JAVA》练习试题答案

时间:2023-08-20 04:43:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

  一、选择题

  1.D。解析:算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系。

  2.B。解析:先进的软件开发工具和环境对提高开发人员工作效率是至关重要的。

  3.D。解析:程序设计语言的基本成分有:数据成分,用于描述程序所涉及的数据;运算成分,用于描述程序中所包含的运算;控制成分,用于描述程序中所包含的控制;传输成分,用于表达程序中数据的传输。

  4.C。解析:对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况

  下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为n。

  5.D。解析:对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。

  6.C。解析:面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。

  7.B。解析:基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理。

  8.D。解析:在面向对象方法中,对象之间通过消息进行通信。消息中只包含传递者的要求,但并不指示接受者应该怎么完成这些处理。

  9.C。解析:软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推断都是黑盒测试的方法。

  10.C。解析:数据库系统(DBS)由数据库(DB)、数据库管理系统(DBMS)、数据库管理员、硬件平台和软件平台5个部分组成,因此DB和DBMS都是DBS的组成部分。

  11.D。解析:高级语言是一类人工设计的语言,因为它对具体的算法进行了描述,所以又称为算法语言。它是面向程序设计独立于计算机的硬件。目前,计算机常用的高级语言有:BASIC语言、FORTRAN语言、COBOL语言、PASCAL语言、C语言、PROLOG语言、而当前流行的,面向对象的程序设计语言有C++和用于网络环境的程序设计语言Java等。

  12.B。解析:假设地址总线有n条,内存的寻址范围是2n。

  13.B。解析:广域网是指远距离的计算机互联网络,分布范围可达几千千米乃至上万千米甚至跨越国界、州界、遍及全球范围。局域网是指一个局部区域中的、近距离的计算机互联网络,通常采用有线方式连接,分布范围从几百米到几千米。例如,一座大楼内或相邻的几座楼之间的互联网络。一个单位、学校内部的网络多为局域网。

  14.A。解析:一般人们将加密前的文件称为明文,而加密后的文件称为密文,因此加密的目的就是将明文变为密文。而反过来将密文变为明文的过程则称为解密。

  15.A。解析:每台直接连接到Internet上的计算机、路由器都必须有的IP地址。IP地址是Internet赖以工作的基础。Internet中的计算机与路由器的IP地址采用分层结构,它是由网络地址与主机地址两部分组成。对于C类地址,其网络地址空间长度为21位,主机地址空间长度为8位,C类I P地址范围从:l92.0.0.0~223.255.255.255。主机名与它的IP地址一一对应,因此在Internet上访问一台主机既可以使用它的主机名,也可以使用它的I P地址。

  16.D。解析:多线程是Java程序的并发机制,它能同步共享数据、处理不同的事件。

  17.A。解析:为了充分利用资源,Java有一个系统级的线程,用来对内存的使用进行跟踪,它可以在系统空闲时对不用的内存空间进行回收,从而使程序员从繁忙的内存管理中解放出来。

  18.A。解析:Java 2平台包括:J2ME平台、J2SE平台和J2EE平台。其中:J2ME是为嵌入式和移动设备提供的Java平台;J2SE是面向企业级应用与服务的综合性标准开发平台;J2EE是面向大型企业级用容器管理专用构件的应用平台。而JDK 5.0是一个Java开发软件包。

  19.A。解析:在JDK中:javadoc.exe是文档生成器,将Java源代码和包以MML格式生成AP文档;java.exe是Java解释器;javap.exe是Java反汇编器;javaprof.exe是Java剖析工具,提供解释器剖析信息。

  20.C。解析:JPanel是Swing的中间容器;JTable是Swing中可编辑信息的构件;JFrame是Swing的顶层容器。

  21.B。解析:本题考查的是Java的基本数据类型及其运算。程序开始生成了一个字符型变量a和3个整型变量i、j、aa。而整型变量aa的初始值是a+i,其中a是一个字符型变量。如何进行加法运算呢?Java语言规定,char型数据可以自动转换成int类型,转换的结果就是该字符的ASCIl码值。因此,整型变量aa的初始值为字符”h”的ASCIl码值加上l00。如果记住h的ASCIl码值是104,则直接就确定aa的初始值是204,选项B为正确答案。如果记不得h的ASCIl码,题目中则给出提示。题目中说”输出结果的第二行为bb=a”,也就是字符bb的值为字符a,bb的生成语句是char bb=(char)j,是把整型变量j的值强制转换为字符型。同样,把ASCIl码值为j(97)所对应的字符赋值给bb。显然,字符a的ASCIl码值为97,字符b的ASCIl码值为98,依次类推,字符h的ASCIl码为l04。因此,本题的正确答案是B。

  22.C。解析:本题考查的是Java语言中运算符的特殊用法。相等比较运算符"= =",不仅可用于基本类型的数据之间的比较,还可以用于复合类型数据之间的比较。但是,对于复合类型数据的"= ="运算,其比较的目标是两个操作数是否是同一个对象。如果需要比较两个对象的值是否相同,则可以调用equals()方法。题目中函数equalsMethodl()的代码非常简单,首先生成两个字符串对象sl和s2,然后输出表达式"sl= =s2"的结果。根据上面介绍的相等比较运算符的用法,字符串对象sl和s2是复合类型数据,因此表达式"sl= =s2"比较的是sl和s2是否同一个对象。显然,sl和s2虽然具有相同的值,即"how are you",但它们是两个不同的对象。因此,本题的正确答案是C。

  23.D。解析:本题考查的是条件分支语句if-else。if-else根据判定条件的真假来执行两种操作中的一种。当条件为真时,执行if语句后面的代码块;当条件为假时,执行else后面的代码块。题目中的代码段是一个if-else的嵌套语句,根据if-else语句的执行过程来进行分析。当x的值为0时,布尔表达式"x= =0"的结果为真,就输出”冠军”;当x的值不为0时,则执行else语句中的内容。else语句中的代码又是一个if-else语句,还是和上面一样进行分析。当X的值不等于0且大于-3时,布尔表达式”x>-3”的结果为真,输出"亚军";当x的值不等于0且不大干-3,也就是X的值不等于0同时x的值小于等于-3时,则输出"季军"。经过上述分析可知,要想输出"季军",x所满足的条件为x!=O&x<=-3,但是当x<=-3时,x的值一定不会为0。所以,X所满足的条件可以简写为x<=-3。因此,本题的正确答案为D。

  24.C。解析:本题考查的是构造方法的使用。Java语言中,构造方法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态。Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法有如下特点:

  构造方法的名字必须与类名相同。

  构造方法不返回任何数据,但不用void来声明。

  用户不能直接调用构造方法,必须通过关键字new自动调用。

  构造方法可由用户在类中定义,默认时由Java语言自动生成。但它是个空方法,变量被赋予该数据类型的默认值。

  在构造方法实现中,可以进行方法重载,即定义多个构造方法。重载构造方法的目的是使类具有不同的初始值,为类对象的初始化提供方便。根据上述构造方法的特点可知,本题选项C的说法是错误的。

  25.D。解析:本题考查java.awt.event包中定义的适配器类。该包中定义的适配器类包括①ComponentAdapter构件适配器;②ContainerAdapter容器适配器;③FocusAdapter焦点适配器;④MouseAdapter鼠标适配器;⑤KeyAdapter键盘适配器⑥WindowAdapter窗口适配器,由此可知本题答案为D。

  26.D。解析:在Java中定义了两种类型的流,字节型和字符型,这两种流分别用4个抽象类表示:InputStream,OutputStream,Reader,Writer,其中InptutStream和OutStream表示字节流,Reader和Reader是表示字符流,所以字节输入抽象类为InptutStream。

  27.C。解析:本题考查Java的内存读写。在java.io中,还提供了 ByteArrayInputStream、ByteArrayoutputStream和StringBufferInputStream类可直接访问内存,它们是InputStream和OutputStream的子类。用ByteArrayOutputStream可向字节数组写入数据;ByteArrayInputStream可从字节数组中读取数据。

  28.A。解析:本题考查Java的关系运算符。B中写法不正确,C、D均为赋值运算符。

  29.C。解析:本题考查线程的基本操作。Java中提供了interrupt方法用来中断一个线程,当调用一个线程的interrupt方法时,即向该线程发送一个中断请求。在调用线程的interrupt方法时,如果该线程由于调用了sleep方法或wait方法而正在处于阻塞状态,那么线程会抛出一个InterruptException异常。

  30.C。解析:本题考查System类的基本知识。Systern类是一个final类,所有的方法都用类变量来调用,对System类不可能实例化。System类主要用来提供标准输入/输出和系统环境信息的访问设置。而System类的属性有:①public static final InputStream in;标准输入;②publicstatic final OutputStream out;标准输出;③pubhc static finalPrintStream err;标准错误输出。

  31.B。解析:本题考查的是Java增量运算符"++"。 x++是先使用后加l,即首先使用X的值进行表达式的计算,然后才对x的值加1。而++x是先加1后使用,即首先对x的值加1,然后使用x的值进行表达式的计算。本题首先生成一个整型变量C,其初始值为5。第一条输出语句输出c的初始值,即5。然后,第二条输出表达式c++的结果,即先输出C的值,然后才对c的值加1,所以,第二条输出语句输出的是5,输出后c的结果才为6。最后一条输出语句输出结果为6。因此,本题的正确答案为B。

  32.D。解析:本题考查的是Java中的Applet以及Applet与Application的区别。Applet是能够嵌入HTML语言中,并能够在浏览器中运行的类。Applet的运行环境是Web浏览器,所以必须建立HTML文件,告诉浏览器如何加载与运行Applet。因为Applet是不能直接通过Java命令行启动运行的。所以选项D的说法错误。

  33.D。解析:本题考查线程的基本知识。线程与进程在概念上是相关的,线程是由表示程序运行状态的寄存器、程序计数器、栈指针以及堆栈组成,它不包含进程地址空间中的代码和数据。代码所操作的数据是Java线程模型中的一个组成部分,数据与代码是独立的。数

  据可以被多个线程共享,也可不共享。Java语言中提供两种创建线程的方法,一种是通过继承Thread类创建线程,另一种是通过实现Runnable接口来创建线程。

  34.A。解析:处理对象传输就是把对象串行化。Java语言中,如果要串行化某些类的对象,这些类就必须实现Serializable接口。

  35.C。解析:本题考查Java语言的输入/输出流。InputStream类、FilelnputStream类和BufferedReader类都是Java语言中和输入输出直接相关的类,不属于辅助类,因此可以直接判断出选项C为正确答案。

  36.C。解析:paint()是与Applet显示相关的方法,由它来具体执行Applet的绘制功能。init()方法用于初始化Applet,start()方法用于激活Applet。在init()方法完成后,将调用start()方法,而且在Applet每次显示时都要调用。destroy()方法用于彻底终止Applet。

  37.C。解析:线程生命周期中出现的状态包括:新建状态、可运行状态、运行状态、阻塞状态和终止状态。

  38.C。解析:resume()是Thread类提供的用于线程控制的方法;start()是Thread类中的方法,新建的线程不会自动运行,必须调用线程的start()方法才能运行该线程;run()是Thread类中的方法,在该方法中定义了线程的具体行为,线程开始执行时,就是从它的run()方法开始执行的,就像Java应用程序从main()开始、Applet从ink()开始一样;init()不是Thread类中的方法。

  39.B。

  二、基本操作题

  第1处:int a,int b

  第2处:maxNum=a

  第3处:return maxNum

  【解析】第1处定义max()方法中的两个整型形参;第2处将两者中较大的赋给maxNum;第3处返回值。

  三、简单应用题

  第1处:choice.getSelectedltem()

  第2处:choice.getSelectedIndex()

  【解析】第1处是获取当前选中项的数据;第2处清除选中项的索引号。

  四、综合应用题

  第1处:int i=0;i  第2处:kb.addKeyListener(new KeyEventHandler())

  第3处:system.out.println(evt.getKeyChar())

  【解析】第1处是作为遍历keys中元素的条件,而keys中的字符元素就是各个按钮对应的字符。第2处注册键盘事件监听功能,KeyButton实现了KeyLIstener接口,而kb是KeyButton类的对象,所以它是合格的监听者。第3处将从键盘读到的字符输出。

2017年计算机二级《JAVA》练习试题答案.doc

本文来源:https://www.wddqw.com/Wivn.html