计算机二级(JAVA)笔试177_第1页
计算机二级(JAVA)笔试177_第2页
计算机二级(JAVA)笔试177_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、 模拟 计算机二级 (JAVA) 笔试 177一、选择题 (每小题 2 分,共 70 分) 下列各题 A 、B 、C 、D 四个选项中,只有一个选项是正确的。第 1 题: 对于建立良好的程序设计风格,下面描述中最正确的是 ( ) 。A. 程序应简单、清晰、可读性好B. 符号名的命名要符合语法C .充分考虑程序的执行效率D. 程序的注释可有可无参考答案: A答案解析:要形成良好的程序设计风格, 主要应注重和考虑: 符号名的命名应具有一定的实 际含义,以便于对程序功能的理解; 适当的注释能够帮助读者理解程序; 程序编 写应优先考虑清晰性, 除非对效率有特殊要求, 程序编写要做到清晰第一、 效率 第

2、 2 题:非空的循环单链表head的尾结点(由p所指向),满足()。A. p- > next= = NULLB. p=NULLC. p->next=headD. p = head参考答案: C答案解析:循环链表就是将链表的最后一个结点指向链表头结点 (或第一个结点 ) ,即 p- > next=head。第 3 题:下面叙述中,正确的是 ()。A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D .以上三种叙述都不对参考答案: C答案解析:算法的设计可以避开具体的计算机程序没

3、计语言, 但算法的实现必须借助程序设 计语言中提供的数据类型及其算法。 数据结构和算法是计算机科学的两个重要支 柱,它们是一个不可分割的整体。 算法在运行过程中所需辅助存储空间的大小称为算法的空间复杂度。 算法的有穷性是指一个算法必须在执行有限的步骤以后结 束。第 4 题:在数据流图(DFD)中,带有名字的箭头表示()。A. 控制程序的执行顺序B. 模块之间的调用关系C. 数据的流向D. 程序的组成成分参考答案: C答案解析:在数据流图中, 用标有名字的箭头表示数据流, 它相当于一条管道, 并有一级数 据 ( 信息)流经它。数据流可以从加工流向加工,也可以从加工流向文件或从文 件流向加工,并且

4、可以从外部实体流向系统或从系统流向外部实体。第 5 题: 在结构化方法中,软件功能分解属于下列软件开发中的阶段是 () 。A .详细设计B. 需求分析C. 总体设计D. 编程调试参考答案: C 答案解析: 软件开发要经历需求分析、总体设计、详细设计、编程调试的过程。需求分析远 离在计算机上的实现, 谈不上功能的分解; 有了需求分析报告, 软件设计员可以 思考让软件怎么做,开始总体设计,其间将软件的功能分解, 确定模块之间的接, 口;有了每个模块功能的分解, 再对每个模块进行详细设计; 接下来是程序员的 任务,编写代码,开始编程调试。第 6 题: 数据库概念设计的过程中,视图设计一般有三种设计次

5、序,以下各项中不对的 是 () 。A. 自顶向下B. 由底向上C. 由内向外D. 由整体到局部参考答案: D 答案解析: 数据库概念设计的过程中,视图设计一般有三种设计次序,它们是:自顶向下、 由底向上、由内向外。第 7 题: 下列不属于结构化分析常用工具的是 ( ) ;A. 数据流图B. 数据字典C. 判定树D. PAD 图 参考答案: D答案解析:结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而PAD图是常 见的过程设计工具中的图形设计。第 8 题: 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程 序流程图,通常也把这种图称为 () 。A. PAD 图B.

6、 N-S 图C. 结构图D. 数据流图 参考答案: BN-S图、PAD图和HIP0图。其中,为了避提出了用方框图来代替传统的程序流程图,答案解析: 常见的过程设计工具有:程序流程图、 免流程图在描述程序逻辑时的灵活性, 通常也把这种图称为 N-S 图。第 9 题: 需求分析阶段的任务是确定 ()A. 软件开发方法B. 软件开发工具C. 软件开发费用D. 软件系统功能 参考答案: D答案解析:需求分析是软件定义的最后一个阶段, 其基本任务是详细调查现实世界要处理的 对象( 组织、部门、企业等),充分了解原系统的工作概况, 明确用户的各种需求, 然后在此基础上确定新系统的功能。选项 A,软件开发方

7、法是在总体设计阶段完 成的任务;选项B,软件开发工具是在实现阶段需完成的任务;选项 C,软件开 发费用是在可行性研究阶段需完成的任务。第 10 题: 栈和队列的共同点是 ()A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素 D .没有共同点参考答案: C答案解析: 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。 二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出” 的线性表; 而队列只允许在表的一端进行插入操作, 在另一端进行删除操作, 是 一种“先进先出”的线性表。第 11 题:关于 Java 语言的内存回收机制,下列选项中最正

8、确的一项是 ()A. Java 程序要求用户必须手工创建一个线程来释放内存 B .内存回收线程不能释放内存对象 C .内存回收线程负责释放无用内存D. 以上说法都不正确参考答案: C答案解析:Java 语言提供了一个系统级的线程,实现对内存使用的监控、回收闲置不用的 内存,从而减轻了程序员对内存管理的负荷。第 12 题:Java 语言属于下列哪一种语言 ?( )A. 面向机器的语言B. 面向对象的语言 C .面向过程的语言 D .面向操作系统的语言参考答案: B答案解析:Java 语言是一种面向对象的语言,与其他面向对象语言相比, Java 利用面向对 象技术更彻底,它把所有的 Java 应用

9、和 Applet 都看作对象。第 13 题: 下列说法中正确的是 () 。A. float 类型在运算中会产生溢出的问题,但是只会出现超过 float 类型的 最大值,称为上溢。B. float 类型在运算中会产生溢出的问题,但是只会出现超过 float 类型的 最小值,称为下溢。C. float 类型在运算中如果出现下溢,则系统将结果设置为 0.0。D. float 类型在运算中如果出现上溢,则系统将结果设置为 0.0。参考答案: C答案解析:float 和 double 类型都属于实型数据,它们在运算时没有溢出问题,因为系统 给出了处理方案:如果下溢,则结果设置为 0.0 ;如果上溢,则结

10、果设置为± Infinity( 正负无穷大 ) 。第 14 题: 下列关于自动类型转换的说法中,正确的是 ( ) 。A. 操作数1是byte类型,操作数2是long类型,结果为byte类型B. 操作数 1是byte类型,操作数2是long类型,结果为long类型C. 操作数 1是long类型,操作数2是byte类型,结果是byte类型D. 操作数 1是long类型,操作数2是byte类型,结果是long类型 参考答案: B答案解析:操作数 1 为 byte 类型,操作数 2 为 long 类型,则自动转换为 long 类型,系统 自动将短的类型转换为长的类型,但是反过来就不可以。第

11、15 题:下面选项中不是 Java 中整型常量的正确书写格式的是 ()A. 120B. 012C. Ox12D. (10)B参考答案: D答案解析:Java中整型常量分3种书写格式:十进制整数,如A选项;八进制整数,以0开 头,如B选项;十六进制整数,以0x或0X开头,如C选项。第 16 题:若 a 的值为 3 时,下列程序段被执行后, c 的值是 ()int c=1 ;if(a > 0) if(a > 3)c=2; else c=3 ; else c=4 ;A. 1B. 2C. 3D. 4参考答案: C答案解析:本题主要考查 if-else 的使用,当 if 语句中的条件为真时执

12、行其后的语句,并 跳过 else 执行下面的语句;当条件为假时执行 else 后的语句。第 17 题: 下面程序段的输出结果是 ( ) 。public class Test public static void main (String args) int n=10 , result=0 ;for (int i=1;i v= n ;i+) result+=i;A. result is 55B. result is 45C. result is 56D. result is 54参考答案: A答案解析:for 循环执行时,首先执行初始化操作, 然后判断终止条件是否满足, 如果满足, 则执行循环体

13、中语句, 最后执行迭代部分。完成一次循环后,重新判断终止条件。 题目中求1到10的和,主要注意终止条件是i v =n,因此包括10在内,所以结 果为 55,选择 A。第 18 题:下面关于 while 和 do-while 循环的说法中,正确的是 ()。A. 与do-while语句不同的是,while语句的循环体至少执行一次B. do-while 语句首先计算终止条件, 当条件满足时, 才去执行循环体中的语 句C. 两种循环除了格式不同外,功能完全相同D. 以上答案都不正确参考答案: D答案解析:do-while 循环属于“直到型”循环,循环体至少执行一次。 while 循环先计算终 止条件,

14、当条件为真时,才去执行循环体中的语句。两种循环格式不同,功能也 不相同。因此选择 D。第 19 题:下列程序的输出结果为 () 。public class Test public static void main (String args) int i,j,k,a=3,b=2;i=(-a=b+)? -a:+b;j=a+;k=b;System. out. println("i="+i+" ,j =" +j+",k ="+k);A. i=2, j=1, k=3B. i=1, j=1, k=2C. i=4, j=2, k=4D. i=1,

15、j=1, k=3参考答案: D答案解析: 本题的关键是要弄清条件表达式的执行步骤和自增 (或自减 )运算的求值过程。 程序的执行过程如下: 首先求出关系表达式 -a=b+ 的值为“真”。注 意:-a是先使当前的a值(为3)减1后才参加关系运算;而b+则是先使当前 的b值(为2)参加关系运算后再增1。由于关系表达式的结果为“真”,因此进行-a运算。由于a的当前值已为2,所以运算结果的值是1(注意:这时 对+b不进行运算),即整个条件表达式的值为1,从而得到i二1。这时a和b的 值分别为1和3。 执行j=a+和k=b后,将分别得到:j=1(把a的当前值 1 赋给 j 后, a 再增 1), k=3

16、。第 20 题:给出下面的程序代码片段,m为下列哪个值时将会输出default?()switch (m)case 0: System. out. println ("case 0");case 1: System. out. println ("case 1"); break;case 2: System. out. println ("case 2"); break; default: System. out. println ("default");A. 0B. 1C. 2D. 3参考答案: D答案解析:本题主

17、要考查 switch 语句的用法。 switch 的判断条件必须是一个 int 型或者是 byte short 和 char 型的值,需要注意的是一个 case 后面一般要接一个 break 语句才能结束,否则将继续执行其他 case 而不进行任何判断,如果没有任何值 符合 case 列出的判断,则执行 default 语句, default 是可选的,可以没有, 如果没有 default 而又没有任何值匹配 case 中列出的值,则 switch 不执行任何 语句。本题中,要想输出default ,m的值不能是0、1、2,所以选D。第 21 题:列类声明正确是的 ( ) 。A. abstra

18、ct final class HI . B. abstract private move() . C. protected private number;D. public abstract class Car . 参考答案: D答案解析:类声明的格式为:修饰符class 类名extends父类名implements 类实现的接口列表 .修饰符指明类的访问控制符和类型说明符。修饰符包括:public、默认(也称 friendly) 、 abstract、final。public 和默认(也称 friendly) 为访问控制符, abstract 和 final 是类型说明符。访问控制符可以和

19、类型说明符搭配使用。本题中B C选项没有class关键字,明显不符合格式规范;A选项中,abstract和final都是类型说明符,搭配使用不正确。D选项符合格式要求。第 22 题:如下代码定义了一个类 Test:class Test private int y;Test (int x) y:x; 现在为 Test 类生成一个对象,正确的语句是 ()。A. Test t = new Test( );B. Test t=new Test(10, 20);C. Test t;D. Test t=new Test(10);参考答案: D答案解析:首先,C选项不正确,Test t;只是定义了一个对象变

20、量,并未生成Test的对象; 如果程序定义了一个或多个构造方法, 在创建对象时, 必须用已定义的构造方法 来初始化,如果 Java 解释器按参数没有找到相应构造方法,只会报错而不会自 动生成空的构造方法。选项A不可以使用默认构造方法,选项B的参数不符合构 造方法的要求,因此,选项 A和B也是不正确的。选项D正确使用已定义的构造方法,是正确答案。第 23 题:能够正确创建含有 3 个空串的数组是 ()for (intA. String a=new String3; i=0; i v 3; ai+=null);B. String3 a;C. String a3;D. String a= "

21、; "," "," "参考答案: D答案解析:选项B、C只是声明了一个数组a但是并没有为数组分配内存空间。在选项A中, 不但声明了一个数组a,为数组分配内存空间,而且还使用循环语句将每个数组 元素赋值为 null 。但是需要指出的是, null 与空串是两个不同的概念, null 表 示数组元素不指向任何 String 对象。第 24 题:执行下列程序之后,变量 n 的值为 ()public class Test publie static void main (String args) int y=2;int z=3;int n=4;n=n+

22、 -y * z/n;System. out. println (n);A.3B.-1C.-12D.-3参考答案:A答案解析:本题考查 Java 表达式的运算。 main() 方法中的前 3 行是基本的赋值语句,第 4 行是算术运算语句,该语句执行的过程是:首先对 y取负值,得到-2,然后乘以 z得到-6,再除以n得到-1,最后和n做加法得到3,从而根据赋值运算将3赋 值给变量 n。第 25 题:下面对于 Java 的继承机制描述错误的是 ()A. 继承是面向对象方法的一个重要基本特征B. 声明子类时使用extends子句C. Java 支持多重继承D. 继承时子类可以添加新的方法和状态 参考答

23、案: C答案解析:Java 不支持多重继承。继承性是面向对象方法的一个重要特征,它使代码可重 用,可降低程序的复杂性。 Java 语言中,所有的类都是通过直接或间接地继承 而得到的。对一个类的继承是指在现有类 ( 父类) 的基础上构 建一个新类 (子类) ,子类重用 (继承)了父类的方法和状态, 同时还可以向新类中增添新的方法和状态。)。第 26 题: 当子类中的成员变量与父类中的成员变量相同时, (A. 父类中的成员变量隐藏了子类中的变量B. 子类中变量无效C. 该声明非法D. 子类中的成员变量隐藏父类中的变量参考答案: D答案解析:Java 中,类是分层次的,当子类的成员变量与父类的成员变

24、量名字相同时, 子类 的成员变量会隐藏父类的成员变量,当子类的成员方法与父类的成员方法名字、 参数列表、返回值类型都相同时,子类的方法是父类的方法的重写。第 27 题: 下列叙述中,错误的是。 ()。A. File 类能够存储文件B. File 类能够读写文件C. File 类能够建立文件D. File 类能够获取文件目录信息 参考答案: B答案解析:Pile 类是 java.io 包中专门处理文件并获取文件有关信息的一个类。 File 类不 是 InputStream 类或者 OutputStream 类的子类,它不负责数据的输入输出,而 是专门用来管理文件和目录。所以选B。第 28 题:

25、当把一个程序、线程或代码段的输出连接到另一个程序、线程或代码段的输入 时,应使用 ( ) 流。A. FileOutputB. BufferedOutputC. PipedOutputD. DataOutput参考答案: C答案解析:java.io 提供了 PipedInputStream 和 PipedOutStream 类作为管道的输入 / 输出 构件,是为了把一个程序、 线程或代码段的输出连接到另一个程序、 线程或代码 段的输入。它们的使用要求管道的输入流与管道的输出流必须事先连接好, 管道 的输入流作为管道的接收方,而管道的输出流作为发送方。第 29 题: 随机文件流用 ( ) 接口来实

26、现。A. DataInput 和 DataOutputB. ObjectInputC. DataInputD. DataOutput参考答案: A答案解析:文件操作中经常需要 RandomAccessFile 类提供的随机访问文件的功能,它继承 自 Object 类,用 DataInput 和 DataOutput 接口来实现。第 30 题: 调用线程的下列方法中,不释放线程中持有的锁的方法是 ( )A. sleep()B. yield()C. join()D. suspend()参考答案: D答案解析:suspend() 方法只是挂起线程,并不释放线程中持有的锁。第 31 题: 下列关于线程

27、暂停类方法的叙述,错误的是 ( ) 。A. sleep()方法使线程暂停,让出CPU合低优先级的线程运行B. yield()方法使线程暂停,让出 CPU使低优先级的线程运行,如果不存在 有机会运行的线程, yield() 方法将直接返回,线程继续C. join() 方法使当前线程暂停,等待某线程类特定对象运行结束D. suspend() 挂起的线程不能自动恢复参考答案: B答案解析:sleep()方法的功能是使线程暂停,让出CPU使更低优先级的线程运行;yield() 方法的功能是使线程暂停,让出 CPU使同优先级的其他线程运行,如果不存在 有机会运行的线程, yield() 方法将直接返回,

28、 线程继续 ;join() 方法的功能是使 当前线程暂停, 等待到某线程类对象运行结束; suspend () 方法的功能是挂起线 程,挂起后的线程将不能自动恢复,只能在线程中调用 resume () 方法恢复线程 的状态。第 32 题:类 Panel 默认的布局管理器是 ()A. GridLayoutB. BorderLayoutC. FlowLayoutD. CardLayout参考答案: C 答案解析: FlowLayout 是 Pane 和 Applet 的默认布局管理器,构件在容器中从上到下、从 左到右进行放置;BorderLayout是Window Frame和Dialog的默认布

29、局管理器, 在 BorderLayout 布局管理器中,构件分成 5 个区域,每个区域只能放置一个构 件; GridLayout 使容 器中各个构件呈网状布局,平均占据容器的空间; CardLayout 把容器分成许多层,每层只能放置一个构件。第 33 题: 下列方法中,不属于 WindowListener 接口的是 ()。A. windowOpened()B. windowClosed()C. windowActivated()D. mouseDragged()参考答案: D 答案解析:窗口事 件接口 WindowListener 有 几个关 键方法:public voidwindowClo

30、sing (WindowEvent e) 是 把退出 窗口的 语句 写在 本 方法 中。 public void windowOpened (WindowEvent e) 是窗口打开时调用。 public void windowClosed (WindowEvent e) 是窗口关闭时调用。public voidwindowlconified (WindowEvent e) 是窗口图标化时调用。public voidwindowDeiconified (WindowEvent e) 是窗口非图标化时调用。publicvoid windowActived (WindowEvent e) 是窗口激

31、活时调用。 public void windowDeactived (WindowEvent e) 是窗口非激活时调用。 mouseDragged () 不属于 WindowListener 接口,它属于 MouseMotionListener 接口,用于处理 鼠标拖动事件。第 34 题:与 Applet 生命周期相关的方法的数量是 () 。A.4 种B. 3 种C. 2 种D. 5 种 参考答案: A答案解析:Applet 生命周期是指从 Applet 下载到浏览器, 到用户退出浏览器、 终止 Applet 运行的过程。Applet生命周期包括Applet的创建、运行和消亡几个状态。Appl

32、et 类中提供了在生命周期不同阶段响应主要事件的 4种方法:init ()、start ()、 stop () 和 destroy ()。第 35 题:JDK中提供的文档生成器是()。C. javadoc.exeD. javaprof.exe参考答案: C答案解析:java.exe:Java 解释器,执行字节码程序。javap.exe:Java 类分解器,对.class文件提供字节代码的反汇编。 javaprof.exe:Java 剖析工具, 提供解释剖析信息。二、填空题 (每空 2分,共 30 分)第 36 题:数据库系统的三级模式分别为 模式、内部级模式与外部级模式 参考答案:概念 或 概

33、念级详细解答:数据库系统在其内部具有三级模式及二级映射, 三级模式分别是概念级模式、 内部级模式和外部级模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户 (应用)的公共数据视图。 内模式又称物理模式, 它给出了数据 库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及 hash 等存取方式与存取路径, 内模式的物理性主要体现在操作系统及文件级上, 它还 未深入到设备级上 (如磁盘及磁盘操作 ) 。外模式也称子模式或用户模式, 它是用 户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。第 37 题: 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可

34、以分为三种: 前序遍历、 遍历和后序遍历。参考答案: 中序详细解答: 在先左后右的原则下, 根据访问根结点的次序, 二叉树的遍历可以分为三种: 前序遍历、中序遍历和后序遍历。前序遍历是指首先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后 遍历左子树,最后遍历右子树;中序遍历指首先遍历左子树,然后访问根结点, 最后遍历右子树; 后序遍历指首先遍历右子树, 然后访问根结点, 最后遍历左子 树。第 38 题: 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、 和限制使用 goto 语句。参考答案:模块化详细解答: 结构化程序设计方法的主要原则可以概

35、括为自顶向下、逐步求精、模块化和限制使用 goto 语句。 自顶向下是指在程序设计时, 应先考虑总体, 后考虑 细节;先考虑全局目标,后考虑局部目标。逐步求精是指对复杂问题,应设计一 些子目标作过度, 逐步细化。 模块化是把程序要解决的总目标分解为分目标, 再 进一步分解为具体的小目标,把每个小目标称为一个模块。第 39 题: 软件的调试方法主要有:强行排错法、 和原因排除法。参考答案: 回溯法详细解答: 调试的关键在于推断程序内部的错误位置及原因。主要的调试方法有:强行 排错法、回溯法和原因排除法。 强行排错法是传统的调试方法,其过程可 概括为:设置断点、程序暂停、观察程序状态、继续运行程序

36、。这是目前使用较 多、效率较低的调试方法。 回溯法适合于小规模程序的排错。即一旦发现 了错误,先分析错误征兆,确定最先发现症状的位置。然后,从发现症状的地方 开始,沿程序的控制流程, 逆向跟踪源程序代码, 直到找到错误根源或确定错误 产生的原因。 原因排除法是通过演绎和归纳,以及二分法来实现的。第 40 题: 在面向对象的程序设计中,用来请求对象执行某一操作或回答某些信息的要求 称为 。参考答案:消息详细解答: 在面向对象的程序设计中, 用来请求对象执行某操作或回答某些信息的要求称为消息。 消息传递是对象间通信的手段, 一个对象通过向另一对象发送消息来 请求其服务,一个消息通常包括接收对象名、调用的操作名和适当的参数( 如有必要) 。消息只告诉接收对象需要完成什么操作, 并不指示接收者怎样完成操作。 消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。第 41 题:在 Java 语言中, 是最基本的元素。参考答案:对象详细解答: 作为面向对象的编程语言, Java 语言中最基本的元素就是对象, 一切概念都 是以对象

温馨提示

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

评论

0/150

提交评论