java国家二级试卷及答案
- 格式:pdf
- 大小:88.49 KB
- 文档页数:7
国家二级(JA V A)笔试模拟试卷99(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.下列各数据结构中不属于线性结构的是( )。
A.线形表B.栈与队列C.线性链表D.二叉树正确答案:D解析:一个线性结构需要满足以下两个条件:一是有且只有一个根节点:二是每个节点最多有一个前件,也最多有一个后件。
选项中的线形表、栈与队列、线性链表都满足这两个条件,所以它们都是线性结构,而二叉树虽然只有一个根节点,但它的每个节点可以有两个子树,不满足线性结构的每个节点最多有一个前件,也最多有一个后件这一条件。
所以它不是线性结构。
2.以下各项特点中,属于线性表的顺序存储结构的是( )。
A.线性表中所有元素所占的存储空间是不连续的B.线性表的数据元素在存储空间中是随便存放的C.线性表中所有元素所占的存储空间是连续的D.前后件两个元素在存储空间是随便存放的正确答案:C解析:线性表的顺序存储结构要求;线性表中所有元素所占的存储空间是连续的,并且线性表的数据元素在存储空间中是按逻辑顺序依次存放的。
因此,选项A、B是错误的。
在线性表的顺序存储结构中,前后件两个元素在存储空间中是紧邻的,因此,选项D也是错误的。
3.下列关于栈的叙述中不正确的是( )。
A.在栈中能插入数据B.在栈中能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表正确答案:C解析:栈是一种线性表,只不过是一种特殊的线性表。
在这种特殊的线性表中,插入和删除运算都只在线性表的一端进行。
即在这种线性表中,一端是封闭的,不允许进行插入与删除元素;一端是开口的,允许进行插入与删除元素。
选项A、B是正确的。
栈是一种先进后出的线性表。
4.下列关于链式存储的叙述中正确的是( )。
A.链式存储结构的空间不可以是不连续的B.数据节点的存储顺序与数据元素之间的逻辑关系必须一致C.链式存储方式只可用于线性结构D.链式存储也可用于非线性结构正确答案:D解析:链式存储结构不同于顺序存储结构,它的存储空间可以是不连续的,并且数据节点的存储顺序与数据元素之间的逻辑关系可以不一致,数据元素之间的逻辑关系是由指针域来确定的。
java二级试题及答案一、选择题1.下列哪个选项用于创建一个类的实例?A. newB. thisC. finalD. void2.以下哪个关键字用于定义一个类的方法可以被子类重写?A. publicB. finalC. staticD. abstract3.以下哪个关键字用于定义一个类的成员变量可以被子类直接访问?A. privateB. protectedC. staticD. transient4.下列哪个选项是Java的基本数据类型?A. StringB. IntegerC. BooleanD. Double5.以下哪个选项是Java中的循环结构?A. forB. ifC. switchD. try二、填空题1. 声明一个整型变量并将其初始化为10:int num = _________ ;2. 定义一个常量并赋值为3.14:final double PI = _________ ;3. 定义一个字符串变量,并将其初始化为空串:String str =_________ ;4. 声明一个布尔变量并将其初始化为真:boolean flag = _________ ;5. 将两个整数相加并将结果赋值给一个整型变量:int sum =_________ + _________ ;三、编程题1. 编写一个Java程序,实现输入一个整数n,并输出1到n之间所有偶数的和。
示例输入:10示例输出:302. 编写一个Java程序,实现输入一个字符串,判断该字符串是否是回文串(正序和反序读都一样)。
示例输入:radar示例输出:是回文串3. 编写一个Java程序,实现输入一个整数n,并输出斐波那契数列的前n项。
示例输入:5示例输出:0 1 1 2 3四、简答题1. 什么是Java的面向对象特性?举例说明面向对象编程的好处。
2. Java中的继承和多态的概念分别是什么?它们如何实现面向对象的特性?3. Java中的异常处理机制是什么?说明try-catch-finally语句的作用和使用方法。
一、选择题(每小题2分,共70分)(11)在Java中,负责对字节代码解释执行的是()。
A.垃圾回收器B.虚拟机C.编译器D.多线程机制(12)下列叙述中,正确的是A.Java语言的标识符是区分大小写的B.源文件名与public类名可以不相同C.源文件扩展名为.jar D.源文件中public类的数目不限(13)下列属于合法的Java标识符是A._cat=B.5books C.+static D.-3.14159(14)在Java中,表示换行符的转义字符是A.B.\f C.'n'D.\dd(15)在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是A.java.appletB.java.awtC.java.utilD.ng(16)在Java中,所有类的根类是A.ng.ObjectB.ng.ClassC.java.applet.AppletD.java.awt.Frame(17)在Java中,用Package语句说明一个包时,该包的层次结构必须是A.与文件的结构相同B.与文件目录的层次相同C.与文件类型相同D.与文件大小相同(18)在读字符文件Employee.dat时,使用该文件作为参数的类是A.BufferReaderB.DataInputStreamC.DataOutoutStreamD.FileInputStream(19)下列构造方法的调用方式中,正确的是A.按照一般方法调用B.由用户直接调用C.只能通过new自动调用D.被系统调用(20)类Panel默认的布局管理器是A.GridLayoutB.BorderLayoutC.FlowLayoutD.CardLayout(21)在Java中,能实现多重继承效果的方式是A.内部类B.适配器C.接口D.同步(22)char类型的取值范围是A.2-7~27-1B.0~216-1C.-215~215-1D.0~28-1(23)能够支持javadoc命令的注释语句是A./**...//B./*...*/C.//D./**...*/(24)十进制数16的16进制表示格式是A.0x10B.0x16C.0xAD.16(25)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是A.public int MAX_LENGTH=100B.final int MAX_LENGTH=100C.public const int MAX_LENGTH=100D.public final int MAX_LENGTH=100(26)下列不是InputStream子类的是A.文件输入流FileInputStreamB.final int MAX_LENGTH=100C.public const int MAX_LENGTH=100D.public final int MAX_LENGTH=100(27)下列方法中可以用来创建一个新线程的是A.实现ng.Runnable接口并重写start()方法B.实现ng.Runnable接口并重写run()方法C.实现ng.Thread类并重写run()方法D.实现ng.Thread类并重写start()方法(28)下列关于Java Application与Applet的说法中,正确的是A.都包含main()方法B.都通过“appletviewer”命令执行C.都通过“javac”命令编译D.都嵌入在HTML文件中执行(29)当启动Applet程序时,首先调用的方法是A.stop()B.init()C.start()D.destroy()(30)下列关于线程优先级的说法中,正确的是A.线程的优先级是不能改变的B.线程的优先级是在创建线程时设置的C.在创建线程后的任何时候都可以设置D.B和C(31)当浏览器重新返回Applet所在页面时,将调用Applet类的方法是A.start()B.init()C.stop()D.destroy()(32)按照Java的标识符命名规范,下列表示一个类的标识符正确的是A.HelloworldB.HelloWorldC.helloworldD.helloWorld(33)下列代码中,将引起一个编译错误的行是1)public class Test{2)int m,n;3)public Test(){}4)public Test(int a){m=a;}5)public static void main(String args[]){6)Test t1,t2;7)int j,k;8)j=0;k=0;9)t1=new Test();10)t2=new Test(j,k);11)}12)}A.第3行B.第5行C.第6行D.第10行(34)下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是public class Test implements Runnable{public static void main(String args[]){Test t=new Test();Thread tt=new Thread(t);tt.start();}public void run(){for(;;){try{;}catch(e){}System.put.println("Hello");}}}A.sleep(1000)InterruptedExceptionB.sleep(1000)InterruptedExceptionC.Thread.sleep(1000)RuntimeExceptionD.Thread.sleep(1000)InterruptedException(35)阅读下列代码后public class Person{int arr[]=new int[10];public static void main(String args[]){System.out.println(arr[1]);}}正确的说法是A.编译时将产生错误B.编译时正确,运行时将产生错误C.输出零D.输出空二、填空题(每空2分,共40分)请将每空的正确答案写在【1】至【20】序号的横线上,答在试卷上不得分。
全国计算机二级《Java》真题及答案1. 下列叙述中正确的是()。
A. 为了建立一个关系,首先要构造数据的逻辑关系B. 表示关系的二维表中各元组的每一个分量还可以分成若干数据项C. 一个关系的属性名表称为关系模式D. 一个关系可以包括多个二维表【答案】A2. 关系数据库管理系统所管理的关系是()。
A. 若干个二维表B. 一个DBF文件C. 一个DBC文件D. 若干个DBC文件【答案】A 本资料来源公_众.号:文得课堂,更多计算机等级考试题库及视频,上公_众.号:文得课堂。
3. 在关系中能唯一标识元组的最小属性集称为该表的键或码。
二维表中可能有若干个键,它们称为该表的()。
A. 连接码B. 关系码C. 外码D. 候选码【答案】D4. 设有关系表学生表S(学号,姓名,性别,年龄,身份证号),每个学生学号唯一。
除属性学号外,也可以作为键的是()。
A. 姓名B. 身份证号C. 姓名,性别,年龄D. 学号,姓名【答案】B5. 关系模型允许定义3类数据约束,下列不属于数据约束的是()。
A. 实体完整性约束B. 参照完整性约束C. 属性完整性约束D. 用户自定义的完整性约束【答案】C6. Java中定义常量的保留字是()。
A. constB. finalC. finallyD. native【答案】B7. 数据字典(DD)所定义的对象包含于()。
A. 数据流图(DFD)B. 程序流程图C. 软件结构图D. 方框图【答案】A8. 软件需求规格说明书的作用不包括()。
A. 软件验收的依据B. 用户与开发人员对软件要做什么的共同理解C. 软件设计的依据D. 软件可行性研究的依据【答案】D9. 下列属于黑盒测试方法的是()。
A. 语句覆盖B. 逻辑覆盖C. 边界值分析D. 路径分析【答案】C10. 下列不属于软件设计阶段任务的是()。
A. 软件总体设计B. 算法设计C. 制定软件确定测试计划D. 数据库设计【答案】C11. 对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()。
一、选择题(每小题1分,共40小题,共40分)1.下列叙述中正确的是( )。
A.对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/Z)C.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n) D.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)C。
【解析】二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次。
2.算法的时间复杂度是指( )。
A.算法的执行时间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数D。
【解析】算法的时间复杂度是指算法需要消耗的时间资源。
一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做T(n)=O(f(n))因此,问题的规模n越大,算法执行的时间的增长率与f(n)的增长率正相关,称作渐进时间复杂度(Asymptotic Time Cornplexity)。
简单来说就是算法在执行过程中所需要的基本运算次数。
3.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是( )。
A.编辑软件B.操作系统C.教务管理系统D.浏览器B。
【解析】编辑软件和浏览器属于工具软件,教务系统是应用软件。
4.软件(程序)调试的任务是( )。
A.诊断和改正程序中的错误B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质A。
【解析】调试的目的是发现错误或导致程序失效的错误原因,并修改程序以修正错误。
调试是测试之后的活动5.数据流程图(DFD图)是( )。
A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具C。
【解析】数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。
国家二级(JA V A)笔试模拟试卷50(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.在数据结构中,从逻辑上可以把数据结构分成( )。
A.动态结构和静态结构B.线性结构和非线性结构C.集合结构和非集合结构D.树形结构和图状结构正确答案:B解析:逻辑结构即数据元素之间的逻辑关系,是从逻辑关系上描述数据,与数据的存储无关。
因此根据数据元素之间的关系,逻辑结构被分为两大类:线性结构和非线性结构。
而集合结构和非集合结构、树形结构和图状结构指的都是特定的数据结构类型。
2.在一个长度为n的线性表中插入一个元素,以下说法不正确的是( )。
A.最好情况下需要移动的数据元素数目为0B.最坏情况下需要移动的数据元素数目为nC.在平均情况下需要移动的数据元素数目为n/2D.最坏情况下需要移动的数据元素数目为n/2正确答案:D解析:一般情况下,要在第i个元素之前插入一个新元素时,是从最后一个元素开始,直到第i个元素之间共n-i+1个元素依次向后移动一个位置,最好情况指的是在线性表的最后的元素之后插入一个新元素,则不需要移动表中元素。
A是正确的。
最坏情况指的是在线性表的第一个元素之前插入一个新元素,则需要移动表中所有的元素,B是正确的。
在平均清况下需要移动的数据元素数目为n/2,C是正确的。
3.下列关于栈的叙述中不正确的是( )。
A.在栈的两端都能插入或删除数据B.在栈中只能从一端插入或删除数据C.栈中的数据是先进后出的D.栈是一种特殊的线性表正确答案:A解析:栈的插入和删除运算都只在一端进行。
即它的一端是封闭的,不允许进行插入与删除元素;一端是开口的,允许进行插入与删除元素,选项B是正确的。
栈中的数据是先进后出的,选项C是正确的。
栈是一种特殊的线性表。
选项D是正确的。
4.以下各项中属于面向对象程序设计语言不同于其他语言的主要特点的是( )。
计算机二级考试《java》试题及答案计算机二级考试《java》试题及答案「篇一」1、以下不是Java中有效的关键字。
A、constB、NULLC、falseD、this本题考查的是Java的关键字。
Java中常量null,false,true,new,this,const,break都是小写。
故本题答案为B。
2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是。
A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问本题考查的是成员变量的修饰符。
private修饰的变量说明变量为私有访问。
只能被该类自己访问或调用,是对成员变量的高级保护。
故本题答案为C。
3、当检索一个压缩文件时,首先要建立压缩文件输入流对象。
该对象。
A、以选中的压缩文件为参数B、以FileInputStream对象为参数C、以InputStreamReader对象为参数D、以BufferedReader对象为参数本题考查的是压缩文件。
在java.io包中提供了对压缩文件进行操作的能力。
它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自InflaterInputStream与DeflaterOutputStream。
在创建压缩文件输入流时,其初始化参数是一个FileInputStream类的实例。
故本题答案为B。
4、计算机中的流是______ 。
A、流动的字节B、流动的对象C、流动的文件D、流动的数据缓冲区本题考查的是流的概念。
流,最早从C语言中引入的。
其可以看成是一个流动的数据缓冲区。
数据从数据源方向经过缓冲区流向数据的目的地。
在传送的过程中,其传送方式是串行的。
在Java中的java.io包中定义了Java中常见流的接口与类。
其中包括两个最基本的流的抽象类,它们分别是OutputStream与InputStream。
全国计算机等级考试二级Java语言程序设计真题精选5一、单项选择题1.下列数据结构中,属于非线性结构的是()。
A.双向链表B.循环链表C.二叉链表√D.循环队列解析:线性结构是指除了第一个和最后一个结点外,所有的元素都是首尾相连的,每一个结点只有一个前驱结点和一个后继结点。
线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构;二叉链表是二叉树的存储结构,而二叉树是非线性结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义。
2.在下列链表中,能够从任意一个结点出发直接访问到所有结点的是()。
A.单链表B.循环链表√C.双向链表D.二叉链表解析:由于线性单链表的每个结点只有一个指针域,由这个指针只能找到其后继结点,但不能找到其前驱结点。
循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置就可以从它出发访问到表中其他所有的结点。
双向链表中的每个结点设置有两个指针,一个指向其前驱,一个指向其后继,这样从任意一个结点开始,既可以向前查找,也可以向后查找,在结点的访问过程中一般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描,这样部分结点就要被遍历两次,因此不符合题意。
二叉链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉链表只能由根结点向叶子结点的方向遍历。
3.下列与栈结构有关联的是()。
A.数组的定义域使用B.操作系统的进程调度C.函数的递归调用√D.选择结构的执行解析:递归调用就是在当前的函数中调用自身并传给相应的参数,这一动作是层层进行的,直到满足一般情况的时才停止递归调用,开始从最后一个递归调用返回,函数调用是通过栈实现的。
4.下面对软件特点描述不正确的是()。
A.软件是一种逻辑实体,具有抽象性B.软件开发、运行对计算机系统具有依赖性C.软件开发涉及软件知识产权、法律及心理等社会因素D.软件运行存在磨损和老化问题√解析:软件具有以下特点:①软件具有抽象性,是一种逻辑实体;②软件没有明显的制作过程;③软件在使用期间不存在磨损、老化问题;④对硬件和环境具有依赖性;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。
全国计算机等级考试二级Java语言程序设计真题精选4一、单项选择题1.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:栈是操作受限的线性表,栈只能在栈顶插入和删除元素,按照先进后出的原则组织数据,入栈的顺序为12345ABCDE,题目要求各元素依次出栈,因此出栈的顺序为EDCBA54321。
2.下列叙述中正确的是()。
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定√解析:循环队列是指用一段地址连续的存储单元存储数据元素,定义两个游标:指向队头的游标(front)、指向队尾的游标(rear)。
循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环形空间。
循环队列仍然是顺序存储结构,是线性结构。
循环队列中的元素是动态变化的,每进行一次入队运算,队尾指针就加一,每进行一次出队运算,队头指针就加一,可见由队头指针和队尾指针一起反映队列中元素的动态变化情况。
从队头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。
3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A.O(n)B.O(n2)n)√C.O(log2D.O(nlogn)2解析:二分法查找又称为折半查找,它充分利用元素间的次序关系,不断的将序列分为可能包含和必然不包含的两部分,采用分治策略,可以快速查找成功,但要求线性表必须采用顺序存储的方法。
可以证明对于长度为n的有序线n次。
性表,在最坏情况下,二分法查找只需要比较log24.下列叙述中正确的是()。
国家二级(JA V A)笔试模拟试卷105(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.最初阶计算机编程语言是( )。
A.机器语言B.汇编语言C.高级语言D.低级语言正确答案:A2.专门的关系运算不包括下列的( )运算。
A.连接运算B.选择运算C.投影运算D.并运算正确答案:D3.“年龄在18~25之间”这种约束是属于数据库当中的( )。
A.原子性措施B.一致性措施C.完整性措施D.安全性措施正确答案:C4.软件生命周期中所花费用最多的阶段是( )。
A.详细设计B.软件编码C.软件测试D.软件维护正确答案:D5.下列叙述中正确的是( )。
A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对正确答案:A6.不能实现函数之间数据传递的是( )。
A.全局变量B.局部变量C.函数接口D.函数返回值正确答案:B7.下列叙述中正确的是( )。
A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令正确答案:A8.结构化程序设计所规定的三种基本控制结构是( )。
A.for、while、switchB.输入、输出、处理C.顺序结构、选择结构、循环结构D.主程序、子程序、函数正确答案:C9.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是( )。
A.选择B.连接C.投影D.并正确答案:B10.下列描述中正确的是( )。
A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题11.下列语言不属于高级语言的是( )。