国家二级(JAVA)机试模拟试卷1(题后含答案及解析)
国家二级(JAVA)机试模拟试卷1 (题后含答案及解析)
题型有:1. 选择题 2. 基本操作题 3. 简单应用题 4. 综合应用题
选择题
1. 下列选项中属于Java语言的垃圾回收机制的一项是( )。
A.语法检查
B.堆栈溢出检查
C.跨平台
D.内存跟踪
正确答案:D
解析:算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执行情况的,它 们之间没有内在联系。
2. 下列Java组件中,不属于容器的是( )。
A.Panel
B.Window
C.Frame
D.Label
正确答案:D
解析:本题考查Java组件中容器的基本知识。选项A错误,Panel类派生自容器类Container,属于容器的一种;选项B错误,Window类也派生自容器类Container,也属于容器的一种;选项C错误,Frame类派生自Window类,也是一种容器;选项D正确,Lable组件是标签组件,不属于容器。
3. 关系数据库管理系统能实现的专门关系运算包括( )。
A. 排序、索引、统计
B. 选择、投影、连接
C. 关联、更新、排序
D. 显示、打印、制表
正确答案:B
解析:关系数据库管理系统能实现的专门关系运算包括选择、投影、连接。
4. sum的值为0,则result=sum==0?1:num/sum的值为( )。
A.0
B.1
C.01
D.无法输出
正确答案:B
解析:本题考查条件运算符“?”的用法。该运算符是三元运算符,一般形式为:表达式?语句1:语句2。其中,表达式的值为一个布尔值,如果这个值为true,就执行语句1,否则执行语句2。此外语句1和语句2需要返回相同的数据类型,而且该类型不能是void。本题中sum==0成立,故值为1。
5. 数据流图中带有箭头的线段表示的是( )。
A.控制流
B.事件驱动
C.模块调用
D.数据流
正确答案:D
解析:数据流图是从数据传递和加工的角度,来描述数据流从输入到输出的移动变换过程。其中带箭头的线段表示数据流,数据沿箭头方向传递,一般在旁边标注数据流名。
6. 在软件开发中,需求分析阶段可以使用的工具是( )。
A.N -S 图
B.DFD 图
C.PAD 图
D.程序流程图
正确答案:B
解析:在软件开发中,需求分析阶段常使用的工具有数据流图(DFD)、数据字典(DD)、判断树和判断表。
7. 在面向对象方法中,不属于“对象”基本特点的是( )。
A.一致性
B.分类性
C.多态性
D.标识唯一性
正确答案:A
解析:对象具有如下特征:标识唯一性、分类性、多态性、封装性和模块独立性。
8. 在长度为z的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A.O(n)
B.O(n2)
C.O(log2n)
D.O(nlog2n)
正确答案:C
解析:对于长度为n的有序线性表,在最坏情况下,二分法查找只需比较log2n次,而顺序查找需要比较n次。
9. 在数据管理技术发展的三个阶段中,数据共享最好的是( )。
A.人工管理阶段
B.文件系统阶段
C.数据库系统阶段
D.3个阶段相同
正确答案:C
解析:数据管理技术的发展经历了3个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。人工管理阶段无共享,冗余度大:文件管理阶段共享性差,冗余度大:数据库系统管理阶段共享性大,冗余度小。
10. 有如下三个关系R、S 和T:由关系R 和S 通过运算得到关系T,则所使用的运算为( )。
A.笛卡儿积
B.交
C.并
D.自然连接
正确答案:D
解析:在实际应用中,最常用的连接是一个叫自然连接的特例。它满足下面的条件:两关系间有公共域:通过公共域的相等值进行连接。通过观察3个关系R、S 和T 的结果可知,关系T 是由关系R 和S 进行自然连接得到的。
11. 一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A.12345ABCDE
B.EDCBA54321
C.ABCDE12345
D.54321EDCBA
正确答案:B
解析:栈是按照“先进后出”或“后进先出”的原则组织数据的,所以出栈顺序是EDCBA5432l。
12. 使用如下( )保留字可以使只有在定义该类的包中的其他类才能访问该类。
A.abstract
B.private
C.protected
D.不使用保留字
正确答案:D
解析:本题考查类的修饰符。类的默认访问控制策略是不使用保留字来定义类,这会限制其他包中的类访问该类,该类只能被同一个包的类访问和引用,也不能用i mport 语句引用,选项D 正确。protected 保留字不起作用,具有protected
成员的类的子类可以在包外访问这些被保护的成员。abstract 修饰符修饰的类被称为抽象类,没有具体对象的概念类,不满足题意。private 修饰符修饰的类只能被该类自身访问和修改,而不能被任何其他类获取和引用,不满足题意。可见本题正确答案为选项D。
13. 下面( )是合法的标识符。
A.$persons
B.2Users
C.*poi nt
D.this
正确答案:A
解析:本题考查Java 标识符的命名,属于考试重点内容,应该掌握。Java 中标识符的命名规则是:标识符以字母、下画线或美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见,Java 中标识符不能以数字开头,所以选项B错误;不能以“*”开头,选项C错误;this 是专用标识符,具有专门的意义和用途,选项D 错误,只有选项A 正确。
14. 下列表达式中正确的是( )。
A.5++
B.(a+b)++
C.++(a+b)
D.++x
正确答案:D
解析:本题考查Java 中的运算符。“++”和“--”都是一元算术运算符,主要用于自加和自减,在Java中不允许对表达式进行这样的运算,选项B和选项C都是错误的,更不允许对数字进行这样的运算,选项A 也错误,只有选项D 正确。
15. 在Java 中,所有类的根类是( )。
A.java.lang .Object
B.java.lang .Class
C.java.applet .Applet
D.java.awt .Frame
正确答案:A
解析:本题考查考生对Java 类的掌握。在Java中java.lang 包封装着所有编程应用的基本类。Object 是所有类的根,它所包含的属性和方法被所有类集
成。Class 类是由编译器自动生成对象的一个特殊类,它伴随每个类。选项C和选项D 都是普通类。
16. 在Java 中,用package 语句说明一个包时,该包的层次结构必须是( )。
A.与文件的结构相同
B.与文件目录的层次相同
C.与文件类型相同
D.与文件大小相同
正确答案:B
解析:本题考查Java 包的概念。Java 采用包来管理类名空间,为编程提供一种命名机制,也是一种可见性限制机制。定义一个包要用package 关键字,用package 语句说明一个包时,该包的层次结构必须与文件目录的层次相同。否则,在编译时可能出现查找不到的问题,所以选项B正确。
17. 在读字符文件Employee .dat 时,使用该文件作为参数的类是( )。
A.BufferedReader
B.DataInputStream
C.DataOutputStream
D.FileInputStream
正确答案:D
解析:本题考查java.io 包中的字符输入流。Java 的输入输出包括字节流、文件流和对象流等,要注意区分不同流使用的不同类。字符类输入流都是抽象类InputStreamReader 及其子类FileReader、BufferedReader 等。选项A 中BufferedReader 是把缓冲技术用于字符输入流,提高了字符传送的效率,但它不能处理文件流。选项B中DataInputStream 类是用来处理字节流的,实现了DataInput 接口,不能处理文件流。选项C中DataOutputStream 类实现了DataOutput 接口,不能处理文件流。选项D 中FileInputStream 可对一个磁盘文件涉及的数据进行处理,满足题目要求。
18. 类Panel 默认的布局管理器是( )。
A.GridLayout
B.BorderLayout
C.FlowLayout
D.CardLayout
正确答案:C
解析:本题考查Java 中的布局管理器。FlowLayout 是Pane 和Applet 默认的布局管理器,构件在容器中从上到下、从左到右进行放置,所以选项C为正确答案。BorderLayout 是Wi ndow、Frame 和Dialog 的默认布局管理器,在BorderLayout 布局管理器中构件分成5个区域,每个区域只能放置一个构件。GridLayout 使容器中各个构件呈网状布局,平均占据容器的空间。GardLayout 把
国家二级(JAVA)机试模拟试卷19(题后含答案及解析)
国家二级(JAVA)机试模拟试卷19 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 请在下面程序中的每条横线处填写一个语句,使程序的功能完整。程序的输出结果为: TIME=1867 b=9 i=123 注意:请勿改动main( )主方法和其他已有的语句内容,仅在横线处填入适当的语句。
import java.io.*; public class DataType{ public______________void
main(String args[]) {byte b;int i;//定义变量i为int类型___________________________ //定义常量TIME为整型,且值为1867i=123;//给变量i赋值,该值为十进制的123__________________________________//给变量赋值,改值为,八进制的11,十进制的9System.out.println(“TIME”+TIME);System.out.println(“b=“+b);System.out.println(“i=“+i); } }
正确答案:Static final int TIME=1867; b=011;
解析:本题主要考查main( )主方法的使用以及如何定义常量。static修饰符是说明main( )方法是静态方法,final int TIME=1867;语句的功能是定义一个整型的常量TIME,并且其值为1867,b=011;语句是给变量b赋值为八进制的11,十进制的9。
简单应用题(40分)
2. 请完成下列Java程序。程序的执行结果是生成一个具有一个TextField类型的对象in、But ton类型的对象btn和Label类型的对象out图形用户界面,程序的功能是计算用户输入数的平方。 注意:请勿改动main( )主方法和其他已有的语句内容,仅在下画线处填人适当的语句。 import java.awt.*;
国家二级(C语言)机试模拟试卷1(题后含答案及解析)_1
国家二级(C语言)机试模拟试卷1 (题后含答案及解析)
题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题
程序填空题(30分)
1. 请补充main函数,该函数的功能是求方程ax2+bx+c=0的两个实数根。方程的系数a、b、c从键盘输入,如果判别式 (disc=b2-4ac)小于0,则要求重新输入a、b、c的值。 例如,当a=1,b=2,c=1时,方程的两个根分别是x1=-1.00,
x2=-1.00。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序: #include”math.h” #include <stdio.h> main( ) { float
a,b,C,disc,X1,x2; clrscr( ); do { printf(“Input a,b,C:”); scanf(“%f,%f,%f”,&a,&b,ac); disc=b*b-4*a*c; if(disc<0)
printf(“disc=%f\n Input again! \n”,disc); }while(【 】);
printf(“****+* the result *+*****\n”); x1=【 】; x2=【 】;
printf(“\nx1=%6.2f\nx2=%6.2f\n”,x1/x2); }
正确答案:disc<0(-b+sqrt(disc))/(2*a)(-b-sqd(disc))/(2*a)
解析:第一空:题目要求当判别式disc小于0时,要重新输入a、b、c的值,所以do--while循环的执行条件是disc<0。第二空:方程ax2+bx+c=0的一个实数根是:。第三空:方程ax2+bx+c=0的另一个实数根是:。
国家二级(JAVA)机试模拟试卷89(题后含答案及解析)
国家二级(JAVA)机试模拟试卷89 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 在程序中,随机产生100个学生的成绩,并计算出他们的平均成绩。学生的成绩按照五级打分制,“A”表示4分、“B”表示3分、“C”表示2分、“D”表示1分、“E”表示0分。平均成绩用浮点数表示。请填写横线处的内容。 注意:请勿修改main( )主方法和其他已有语句内容,仅在横线处填入适当语句。
import java.math.*; public class basic { public static void main(String[] args)
{float aver=0;int a=0, b=0, c=0, d=0, e=0, f=0;for(______; i < 100; i++){ double
sd= Math.random( )*5+’A’; char score=______; ______(score) { case‘A’:
aver+=4;a++;break; case‘B’: aver+=3;b++;break; case‘C’:
aver+=2;c++;break; case‘D’: aver+=1;d++;break; case‘E’:
aver+=0;e++;break; default: break; }}aver/=100;System.out.println(“平均分数为”+aver+”,学生人数100”);System.out.println(“得A的学生有”+a+”人”);System.out.println(“得B的学生有”+b+”人”);System.out.println(“得C的学生有”+c+”人”);System.out.println(“得D的学生有”+d+”人”);System.out.println(“得E的学生有”+e+”人”); } }
国家二级(JAVA)机试模拟试卷33(题后含答案及解析)
国家二级(JAVA)机试模拟试卷33 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 下面程序是关于类的继承的用法。阅读下面程序,根据程序中的注释在每一条横线处填写一个语句,使程序的功能完整,且运行程序后的输出结果为:
I am parentclass! I am childclass! I am childclass! 注意: 请勿改动main( )主方法和其他已有的语句内容,仅在下划线处填入适当的语句。 class Parent
{ void printMe( ) { System.out.println(“I am
parentclass!”); } } class Child extends Parent { void printMe( )
{ System.out.println(“I am childclass!”); } void printAll( )
{ ______________.printMe ( ); // 调用父类的方法 ______________.
printMe ( ); //调用本类的方法 printMe ( ); } } public class
TestJieCheng { public static void main(String args[]) { ______________
myC.printAll( ); } }
正确答案:super this Child myC=new Child( );
解析:本题主要考查super,this关键字以及如何生成对象。解答本题的关键是熟练super,this的用法、对象的生成。在本题中, super.printMe( );语句的功能是调用父类的printMe( )方法,this.printMe( );语句的功能是调用本类的printMe( )方法,Child myC=new Child( );语句的功能是生成Child类的对象myC。
国家二级(JAVA)机试模拟试卷46(题后含答案及解析)
国家二级(JAVA)机试模拟试卷46 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 下面的程序的功能是将数组array下标为奇数的元素相乘(数组的位置是从0开始的),并将乘积存放到变量total中。请在程序的每条横线处填入适当的语句,使程序的功能完整。 注意:请勿改动main( )主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class JiShuJi { public
static void main(String args[ ]){ int array[ ]={1,2,3,5,7,9}; long total=
________________________; for(int i=1;i<=__________________ i++)
{ ____________________ i++; }System.out.println(total);} }
正确答案:1 array.length-1; total*=array[i];
解析:本题主要考查for循环语句和数组的知识。解答本题的关键是熟练掌握for循环语句和数组的知识。一个for循环语句一般应包含4部分内容:(1)初始化部分:用来设置循环控制的一些初始条件,如设置计数器等。(2)循环体部分:这是反复执行的一段代码,可以是单一的一条语句,也可以是复合语句(代码块)。(3)迭代部分:用来修改循环控制条件。常常在本次循环结束,下一次循环开始前执行。例如,使计数器递增或递减。(4)判断部分:也称终止部分。是一个关系表达式或布尔逻辑表达式,其值用来判断是否满足循环终止条件。每执行一次循环都要对该表达式求值。解答循环语句题要抓住这四个部分。
简单应用题(40分)
国家二级(JAVA)机试模拟试卷92(题后含答案及解析)
国家二级(JAVA)机试模拟试卷92 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 在程序中,给出两个整数4和5,计算他们的和,并在屏幕上显示出来。请将程序补充完整。 注意:请勿修改main( )主方法和其他已有语句内容,仅在横线处填入适当语句。 ______Add { private int a; private
int b; public Add(int n1,int n2) {a=nl;b=n2; } public int
getAdd( ) {return a +b; } } public class basic
{ public ______void main(String[] args) {int n1=4, n2=5;Add
aAddB=______Add(nl,n2);System.out.println(“4+5=“+aAddB.getAdd( ));
} }
正确答案:class new static
解析:本题考查知识点:面向对象编程的基本概念和特征,类的基本组成和使用,对象的生成和使用。解题思路:本题主要考查Java编程中类的使用。主方法生成Add类对象的实例aAddB,然后调用getAdd( )方法计算出4加5的和。首先,定义类必须使用关键字class,因此第1个空应该填写class。在生成类的对象时,必须使用关键字new,由此得到第2个空。 Main方法作为Java的一个特殊方法,其最大的特点就是这个方法始终都是静态的,因为一个程序必须要有一个静态的入口,系统才能对其进行调用,所以第3个空应该填写static。
简单应用题(40分)
2. 本程序中,主窗口有一个按钮“显示对话框”,点击该按钮后显示一个对话框,对话框的标题是“对话框”,其上有一个文字标签“这是一个练习,希望大家都能考个好成绩”,此时仍允许对原来窗口进行操作,当关闭新生成的对话框时退出程序。运行结果如图所示。 注意:请勿改动main( )主方法和其他已有语句内容,仅在横线处填入适当语句。 Import __________;
国家二级(JAVA)机试模拟试卷1(题后含答案及解析)_0
国家二级(JAVA)机试模拟试卷1 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 下列程序中,给出两个整数2和3,分别求2除以3和2乘以3的结果,要求调用类ex1_1的方法method( )来输出相应的结果,请将程序补充完整。程序运行结果如下: 0.6666666666666666 6 public class
ex1_1{ public static void main(String[]args) { int n1=2,n2=3; ex1_1
obj1_1=new ex1_1( ); obj1_1. ______; } public void method(int x,int y){ System.out.println(______);
System.out.println(______); } }
正确答案:method(n1,n2)(double)x/yX*y
解析:本题主要考查Java语言的数据类型和结构以及不同数据类型之间的转换,和对象调用方法以及基本的运算操作。解题关键是熟悉Java语言的基本数据类型和类型之间的转换,用类的对象来调用方法,以及熟悉Java语言的基本运算。在本题中,第一空通过类ex1_1的对象obj1_1调用类ex1_1的方法method( ),将变量n1和n2作为参数传递给方法。第二空由于x, y都是int,则x/y的结果为0.666....,这会转换为int,其值为0。所以要对数据进行类型转换,将x转换为double型则y也转换为double型,因此结果为double,值为0.666...。第三空无需做类型转换,直接输出x*y的值6即可。
简单应用题(40分)
2. 请完成下列Java程序:首先建立一个类,包含2个私有成员变量,分别为int和double型,并提供公共方法setInt( )和 setDouble( )分别给这两个变量赋值和用toString( )方法显示对象的私有成员变量的值,要求将这个类定义为Serializable,再创建这个类的持久对象,将对象写入名为ex3_2.data的文件中并显示对象的2个成员变量,最后从这个文件中读取这个对象并显示对象的2个成员变量。 注意:请勿改动main( )主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下: ex3_2: i=123
国家二级ACCESS机试(基本操作题)模拟试卷1(题后含答案及解析)
国家二级ACCESS机试(基本操作题)模拟试卷1 (题后含答案及解析)
题型有:1.
在考生文件夹下,“sampl.accdb”数据库文件中已建立三个关联表对象(名为“职工表”、“物品表”和“销售业绩表”)、一个窗体对象(名为“fTest”)和一个宏对象(名为“mTest”)。试按以下要求,完成表和窗体的各种操作:
1. 分析表对象“销售业绩表”的字段构成、判断并设置其主键。
正确答案:步骤1:打开“sampl.accdb”数据库窗口,右键单击“销售业绩表”,选择“设计视图”快捷菜单命令,打开表设计视图。步骤2:同时选中“时问”、“编号”和“物品号”字段,单击【工具】分组中的“主键”按钮。步骤3:单击快速访问工具栏中的“保存”按钮,关闭设计视图。
2. 为表对象“职工表”追加一个新字段。字段名称为“类别”、数据类型为“文本型”、字段火小为2,设置该字段的有效性规则为只能输入“在职”与“退休”值之一。
正确答案:步骤1:右键单击“职工表”,选择“设计视图”快捷菜单命令,打开表设计视图。步骤2:在“性别”字段的下一行“字段名称”列中输入:类别,“数据类型”列中选择“文本”,在“字段属性”的“字段大小”行中输入:2,在“有效性规则”行中输入:”在职”or”退休”。步骤3:单击快速访问工具栏中的“保存”按钮,关闭设计视图。
3. 将考生文件夹下文本文件Test.txt中的数据链接到当前数据库中。其中,第一行数据是字段名,链接对象以“tTest”命名保存。
正确答案:步骤1:在【外部数据】功能区的“导入并链接”组中单击“文本文件”按钮。步骤2:在弹出的【获得外部数据】对话框中,单击“浏览”按钮,在弹出的【打开】对话框内浏览“test.txt”文件所在的存储位置(考生文件夹下),选中“test.txt”文件,单击“打开”按钮。步骤3:接着在【获得外部数据】对话框中选中“创建链接表来链接到数据源”项,单击“确定”按钮。步骤4:系统弹出【导入数据表向导】对话框,单击“下一步”按钮,选中“第一行包含列标题”复选框,单击“下一步”按钮,设置导入的表名为“tTest”,单击“完成”按钮,最后单击“关闭”按钮,关闭向导。
国家二级(JAVA)机试模拟试卷83(题后含答案及解析)
国家二级(JAVA)机试模拟试卷83 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 下列程序中,给出两个整数4和6,分别求4除以6和4乘以6的结果,要求调用类exl的方法method( )来输出相应的结果,请将程序补充完整。程序运行结果如下: 0.6666666666666666 24 注意:不改动程序结构,不得增行或删行。 public class ex1 { public static void main(String[] args)
{int n1=2,n2=3;ex1 obj1=new ex1( );obj1.______; } public void
method(int x, int y)
{System.out.println(______);System.out.println(______); } }
正确答案:method(n1,n2) (double)x/y x*y
解析:本题主要考查Java语言的数据类型和结构以及不同数据类型之间的转换,对象调用方法以及基本的运算操作。解题关键是熟悉Java语言的基本数据类型和类型之间的转换,用类的对象来调用方法,以及熟悉Java语言的基本运算。在本题中,第1空通过类ex1的对象。obj1调用类ex1的方法method( ),将变量n1和n2作为参数传递给方法。第2空由于x,y都是int,则x/y的结果为0.666…,这会转换为int,其值为0。所以要对数据进行类型转换,将x转换为double型则y也转换为double型,因此结果为double型,值为0.666…。第3空无须做类型转换,直接输出x*y的值24即可。
简单应用题(40分)
2. 下列程序使用FlowLayout布局管理器管理3个Button构件在Frame中的位置。请将程序补充完整。 注意:不改动程序结构,不得增行或删行。
国家二级(JAVA)机试模拟试卷82(题后含答案及解析)
国家二级(JAVA)机试模拟试卷82 (题后含答案及解析)
题型有:1. 基本操作题 2. 简单应用题 3. 综合应用题
基本操作题(30分)
1. 如下程序在编译时出错,请改正程序中的错误,使之顺利通过编译和运行。 注意:不改动程序结构,不得增行或删行。 class SubClass extends
BaseClass { } class BaseClass { String str; public
BaseClass( ) {SyStem.out.println(“good”); } public
BasecClass(String s) {str=s; } } public class ConstructTest1
{ public static void main(String args[]) {SubClass s=new
SubClass(“hi”);BaseClass b=new BaseClass(“Java”); } }
正确答案:改为SubClass=new SubClass( );
解析:本题是考查对类构造函数的理解。当一个类中未显示定义构造函数时,默认的构造函数是以类名为函数名,参数为空,函数体为空。虽然父类中的某一构造函数有字符串参数s,但是,子类继承父类时,并不继承构造函数,所以它只能使用默认构造函数。
简单应用题(40分)
2. 在当前文件夹中生成一个名为Filel.txt的文件,在D盘里生成一个名为mydir的文件夹,并在该文件夹中生成一个名为File2.txt的文件,最后输出文件File2.txt的完整路径。修改下列程序中的错误之处,使程序能够正确运行。 注意:不改动程序结构,不得增行或删行。 import java.io.*; public class FileTest
