全国计算机二级JAVA笔试模拟383.docx
《全国计算机二级JAVA笔试模拟383.docx》由会员分享,可在线阅读,更多相关《全国计算机二级JAVA笔试模拟383.docx(19页珍藏版)》请在冰豆网上搜索。
全国计算机二级JAVA笔试模拟383
二级JAVA笔试模拟383
一、选择题
1.设S为学生关系,SC为学生选课关系,sno为学生号,Cno为课程号,执行下面SQL语句的查询结果是
SelectS*FromS,SCWhereS.Sno=SC.Sno=andSC,Cno=C2'
A.选出选修C2课程的学生信息
B.选出选修C2课程的学生名
C.选出S中学生号与SC中学生号相等的信息
D.选出S和SC中的一个关系
答案:
A
2.与InputStream流相对应的Java系统的标准输入对象是______。
A.System.in
B.System.out
C.System.exit()
D.System.err
答案:
A
3.下列叙述中,正确的是()。
A.声明变量时必须指定一个类型
B.Java认为变量number与Number相同
C.Java中唯一的注释方式是“//”
D.源文件中public类可以有0个或多个
答案:
A
[解答]本题考查Java的基本概念。
Java的基本概念是考试重点,应该重视。
在Java中,声明变量时,必须指定类型,否则将会出错,所以选项A说法正确。
Java标识符是区分大小写的,变量number和Number对Java来说是不同的,选项B说法错误。
Java中有三种注释方式:
文档注释/**…*/,被javadoc处理,可以建立类的一个外部说明性文件;C语言注释风格/*…*/,用于去掉当前不再使用但仍想保留的代码等;单行注释//,格式上要求注释符//后必须紧跟一个空格,然后才是注释信息,选项C说法错误。
源文件中public类可以有0个或1个,不能多于1个,选项D说法错误。
4.下列程序段执行后的输出结果为。
intx=3;inty=10;
System.out.println(y%x);
A.0
B.1
C.2
D.3
答案:
B
[解答]此题考查%运算符的使用,%运算符的功能是求余运算,10除以3的余数为1,故选B。
5.在创建数据库表结构时,给该表指定了主索引,这属于数据完整性中的。
A.参照完整性
B.实体完整性
C.域完整性
D.用户定义完整性
答案:
B
6.以下数据结构中不属于线性数据结构的是。
A.队列
B.线性表
C.二叉树
D.栈
答案:
C
7.下面关于类及其修饰符的一些描述,正确的是______。
A.abstract类可以用来派生子类,也可以用来创建abstract类的对象
B.abstract能与final同时修饰一个类
C.final类不但可以用来派生子类,也可以用来创建final类的对象
D.abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法
答案:
D
[解答]Java程序中,用abstract说明的类是抽象类。
这种类必须被继承,而且它本身并不实现任何实际操作,不能用它来实例化一个对象。
从抽象类直接生成对象是没有意义的,所以选项A错误。
而用final说明的类不能有子类,即该类不能被继承。
Abstract和final是相对的,同时用来修饰一个类是没有意义的,所以选项B和C也是错误的。
对于选项D,因为一个类如果包含一个抽象方法就必须将该类声明为抽象类,而一个抽象类中可以有也可以没有抽象方法,所以选项D正确。
8.关键字super的作用是
A.用来访问父类被隐藏的成员变量
B.用来调用父类中被重载的方法
C.用来调用父类的构造函数
D.以上都是
答案:
D
[解答]在Java中,子类在隐藏了父类的成员变量或覆盖了父类的方法后,常常还需要用到父类的成员变量或方法或者父类的构造函数。
比如,为了简化代码的编写,子类中的覆盖方法就会经常调用父类中被覆盖的方法。
此时,使用变量super能够实现对父类成员的访问。
9.下列能表示字符串s1长度的是
A.s1.length()
B.s1.length
C.s1.size
D.s1.size()
答案:
A
[解答]在Java中,字符串是作为对象出现的。
所以表示字符串长度的是String类中的方法length()。
10.Character流与Byte流的区别是。
A.每次读入的字节数不同
B.前者带有缓冲,后者没有
C.前者是块读写,后者是字节读写
D.二者没有区别,可以互换使用
答案:
C
11.数据字典(DD)是定义以下哪种系统描述工具中的数据的工具?
A.数据流程图
B.系统流程图
C.程序流程图
D.软件结构图
答案:
A
[解答]本题考查数据字典的作用,数据字典是对数据流程图中出现的被命名的图形元素的确切解释。
12.下列代码段的执行结果是。
publicclassTest
{
publicstaticvoidmain(Stringargs[])
}
Strings1=newString("hello");
Strings2=newString{"hello");
System.out.println(s1==s2);
System.out.println(s1.equal(s2));
}
}
A.truefalse
B.truetrue
C.falsetrue
D.falsefalse
答案:
C
[解答]本题考查比较运算符(==)的使用。
比较运算符不仅可以用于基本数据类型的数据之间的比较,还可以用于复合数据类型的数据之间的比较。
题中s1和s2的值虽然都是hello,但是由于它们是不同的对象,因此运算后的结果为false。
如果需要比较两个对象的值是否相同,则可以调用equals()方法。
所以程序最后输出false和true。
13.下面不属于软件设计原则的是______。
A.抽象
B.模块化
C.自底向上
D.信息隐蔽
答案:
C
软件设计原则包括抽象、模块化、信息隐蔽和模块独立性。
14.若有说明ints[3][4]={0},则下面叙述正确的是。
A.只有元素s[0][0]可得到初值0
B.此说明语句不正确
C.数组s中各个元素都可得到初值,但其值不一定为0
D.数组s中每个元素均可得到初值0
答案:
D
[解答]本题考查数组的定义和初始化。
数组可在定义时初始化,初始化值的个数可以小于或等于数组定义的元素个数,但不可以多于数组元素个数。
不足部分的数组元素系统自动以0填充。
故本题答案是D。
15.下面说法中错误的是。
A.凡是语法错误,都属于编译错误
B.异常是程序无法控制的
C.对程序而言,一般有编译错误和运行错误两类
D.Java语言中,异常为一种对象
答案:
B
[解答]异常是在程序编译或运行中所发生的可预料或不可预料的异常事件,是不可避免的。
异常处理,将错误处理的控制流从正常运行的控制流中分离开,使我们再也不用检查一个特定的错误,并在程序的多处地方对其进行控制。
16.软件生命周期中花费时间最多的阶段是
A.详细设计
B.软件编码
C.软件测试
D.软件维护
答案:
D
[解答]软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。
本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。
17.用于输入压缩文件格式的ZipInputStream类所属包是
A.java.util
B.iava.io
C.java.nio
D.java.util.zip
答案:
D
[解答]本题考查ZipInputStream类的基本概念。
压缩文件输入流都是InflateInputStream的子类,是以字节压缩为特征的过滤流。
主要有三类,应该有所了解。
ZIPInputStream类在java.util.zip包中,该类用于输入以gzip格式进行压缩的文件,是对输入文件类型的一种过滤。
ZipInputStream类也在java.util.zip包中,用于输入zip格式的文件,这是对于文件类新格式的一种过滤。
JarlnputStream类在java.util.jar包中,是ZiplnputStream的子类,用于输入jar文件。
18.下列哪个选项不是InputStream类中的方法?
A.publicabstractintread()throwsIOException
B.publicfinalvoidwriteInt(intv)throwsIOException
C.publicvoidclose()throwsIOException
D.publicintavailable()throwsIOException
答案:
B
19.用于显示整个报表的计算汇总或其他的统计数字信息的是。
A.报表页脚节
B.页面页脚节
C.主体节
D.页面页眉节
答案:
A
20.下列方法能够用来实现线程之间通信的是
A.notify()
B.run()
C.sleep()
D.join()
答案:
A
[解答]在java.lang.object中,实现线程通信有两个方法:
wait()和notify(),它们可以完成线程间同步。
其中wait()方法使线程等待,并且暂时释放其占有的对象锁。
notify()方法通知因调用wait()方法而等待的线程重新占有该对象锁。
21.设有定义doublea[10],*s=a;,以下能够代表数组元素a[3]的是。
A.(*s)[3]
B.*(s+3)
C.*s[3]
D.*s+3
答案:
B
22.十进制数16的十六进制表示格式是。
A.0x10
B.0x16
C.0xA
D.016
答案:
A
[解答]本题考查Java语言中的进制换算。
首先要清楚各种进制的表示方法。
整型常量有3种书写格式:
十进制整数,如156,-230,345:
八进制整数:
以0开头,如012表示十进制的10;十六进制整数:
以0x或0X开头,如0X123表示十进制数291。
而十进制数16相当于十六进制的10,所以选项A正确。
23.阅读下面代码
classTestimplementsRunnable{
publicintrun(){
inti=0;
while(true){
i++;
System.out.println("i="+i);
}
}
}
上述代码的编译结果是
A.程序通过编译,并且run()方法可以正常输出递增的i值
B.程序通过编译,调用run()方法将不显示任何输出
C.程序不能通过编译,因为while的循环控制条件不能为true
D.程序不能通过编译,因为run()方法的返回值类型不是void
答案:
D
[解答]本程序是通过实现Runnable接口创建进程。
其中run()方法的类型在接口中已经定义好为void,而本题的程序中修改为了int,所以编译不会通过。
24.在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作。
A.循环的集合
B.地址的集合
C.路径的集合
D.目标的集合
答案:
C
[解答]软件的白盒测试方法是把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
25.下列哪个是用来实现客户和服务者之间的通信?
A.URL
B.UDP
C.JDBC
D.Socket
答案:
D
解析:
JDBC是用来Java程序和数据库连接的一种机制;Socket是用来实现客户与服务者之间的通信,Java在Socket中提供多线程机制,对实现大量客户通信带来了好处;数据报通信的协议UDP是无连接协议,它对传输数据的大小有限制,在64KB之内,它的传输不可靠,但操作简单;而URL是通过getProtocol(),getHost(),getPort()和
getFile()方法获取URL对象的属性,通过openStream()方法获得网上资源,通过URL-Connection提供的许多方法可以与网络连接。
26.下列程序的执行结果是______。
publicclassex3
{
publicstaticvoidmain(String[]args)
{
intsum=0;
for(inti=1;i<=100;i++)
{
sum+=i;
}
System.out.println("sum="+sum);
}
A.sum=5050
B.sum=4950
C.sum=100
D.sum=1
答案:
A
27.数据库设计的根本目标是要解决。
A.数据共享问题
B.数据安全问题
C.大量数据存储问题
D.简化数据维护
答案:
A
28.有定义语句:
int*p[4];,以下选项中与此语句等价的是。
A.intp[4];
B.int**p;
C.int*(p[4]);
D.int(*p)[4];
答案:
C
29.编制好的程序,确保它的正确性和可靠性的同时,还应强调良好的编程风格。
在书写功能性注解时应考虑。
A.仅为整个程序做注解
B.仅为每个模块做注解
C.为程序段做注解
D.为每个语句做注解
答案:
C
[解答]首先应该知道功能性注释是嵌在源程序体中的,用以描述其后的语句或程序段是在做什么工作,或是执行了下面的语句会怎么样。
所以它描述的是一段程序,而不是每一条语句,是为程序段做注解。
30.下列Applet在坐标(30,50)处以黄色字体显示“你好!
”。
请选择正确的语句填入横线处。
importjava.awt.*;
importjava.applet.*;
publicclassex27extendsApplet
{
publicvoidpaint<Graphicsg)
{
g.drawString("你好",30,50);
}
}
A.setColor(Color.yellow);
B.g.setColor(Color.Yellow),
C.g.setFontColor(Color.yellow);
D.g.setColor(Color.yellow);
答案:
D
31.设A为已定义的类名,则下列声明A类的对象a的语句中正确的是。
A.publicAa=newA()
B.publicAa=A()
C.Aa=newclass();
D.aA;
答案:
A
[解答]对象的生成包括声明、实例化和初始化3个方面的内容,一般格式是先定义一个对象变量,再用关键字new生成一个对象,并为该对象变量赋值。
32.下列选项中,不是APPLET标记的是。
A.PARAM
B.BODY
C.CODEBASE
D.ALT
答案:
B
[解答]必须使用特殊的HTML标记<APPLET>实现Applet或者JApplet的嵌入运行。
<APPLET>标记的一般格式是:
<APPLET
[CODEBSE=codebaseURL]
CODE=appletFile
[ALT=alternateText]
[NAMF=appletInstanceName]
WIDTH=pixels
HEIGHT=pixels
[ALIGN=alignment]
[VSPACE=pixels]
[HSPACE=pixels]
[ARCHIVE=archiveFiles]
[<PARAMNAME=appletParameter1VALUE-value>]
[<PARAMNAME=appletParameter2VALUE=value>]
…
[alternateHTML]
从上面格式可以看出,PARAM、CODEBASE、ALT都是APPLET标记。
因此,本题的正确答案是B。
33.若在一个类中对它同名构造函数进行了重载;它们之间的调用是通过关键字______来实现的。
A.this
B.that
C.those
D.super
答案:
A
34.下列不属于表达式语句的是。
A.++i;
B.--j;
C.b#a;
D.b*=a;
答案:
C
[解答]前两项是自加减运算,最后一项是b=b*a。
35.switch语句
A.都可以用if-elseif结构实现
B.都不可以用if-elseif结构实现
C.有的可以用if-elseif结构实现
D.大部分不可以用if-elseif结构实现
答案:
A
二、填空题
1.在长度为n的有序线性表中进行二分查找,所需要的比较次数为______。
答案:
log2n
[解答]对于长度为n的有序线性表,在最坏情况下,二分查找只需要比较log2n次,而顺序查找需要比较n次。
2.在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
答案:
自顶而下
3.数据库系统的核心是______。
答案:
数据库管理系统
[解答]数据库管理系统可以对数据库的建立、使用和维护进行管理,是数据库系统的核心。
4.设有定义:
floatx=123.4567;,则执行以下语句后的输出结果是______。
printf("%f\n",(int)(x*100+0.5)/100.0);
答案:
123.46或123.460000
5.在Java线程中,共享数据的所有访问都必须作为临界区,使用______进行加锁控制。
答案:
synchronized
[解答]本题考查线程同步的基本知识。
临界区是指一个程序中单独的、并发的线程对一个对象进行访问的代码段。
在Java线程中,共享数据的所有访问都必须作为临界区,临界区可以是一个语句块或是一个方法,并且用“synchronized”关键字标识。
Java平台将每个由synchronized语句指定的对象设置一个锁,称为对象锁。
Java中的对象锁是一种独占的排他锁。
这种锁的含义是,当一个线程获得了对象的锁后,便拥有该对象的操作权,其他任何线程不能对该对象进行任何操作。
经过上述分析,可知划线处应填入“synchronized”。
6.下列软件系统结构图
的宽度为______。
答案:
3或三
[解答]软件系统结构图的宽度:
整体控制跨度(最大模块数的层)的表示。
7.软件工程研究的内容主要包括______技术和软件工程管理。
答案:
软件开发
8.数组inta[3][3];共定义了______个数组元素。
答案:
9
9.数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。
答案:
存储结构或物理结构或物理存储结构
[解答]时间数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。
10.数据库的设计通常可以分为4个步骤;需求分析、概念设计、______和物理设计。
答案:
逻辑设计
[解答]本题考核数据库设计的四个主要阶段。
考生需要牢记数据库设计中的这四个阶段,并会区分不同阶段的功能。
其中需求分析就是分析用户的要求。
概念设计就是将需求分析得到的用户需求抽象为信息结构及概念模型的过程。
逻辑设计是在概念结构设计的基础上,将与数据库管理系统无关的E-R图转换成以数据库管理系统的逻辑数据模型表示的逻辑模式。
物理设计就是为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程。
11.异常类在Java程序中是一种比较特殊的类,在使用之前必须先定义,按异常处理不同可分为运行异常、捕获异常、声明异常和______。
答案:
抛出异常
[解答]异常类在使用之前先定义,按异常处理不同可分为运行异常、捕获异常、声明异常和抛出异常。
12.数据库管理系统常见的数据模型有层次模型、网状模型和______三种。
答案:
关系模型
[解答]数据库管理系统是位于用户与操作系统之间的一层系统管理软件,它总是基于某种数据模型建立的。
数据模型常见的有层次模型、网状模型和关系模型几种。
13.某二叉树中度为2的结点有18个,则该二叉树中有______个叶子结点。
答案:
19
[解答]在任意一棵二叉树中.度数为0的结点,总比度为2的结点多一个,因此该二叉树中叶子结点为18+1=19。
14.有如下代。
码片段,请填写完整相应的代码。
publicclassJavaProgextendsjava.applet,Applet
{
publicvoidinit()
{
//将applet初始化
}
Publicvoidstart()
{
______;
}
publicvoidstop()
{
//停止Applet
}
publicvoiddestory()
{
//销毁Applet
}
}
答案:
start()
[解答]以下对这4个方法做一简单说明。
①方法init():
当用浏览器去看JavaApplet的文件时,第1次读取Applet时,浏览器就会调用init()方法,因此通常都利用这个方法来为JavaApplet做初始化设定。
②方法start():
这个方法就是用来启动JavaApplet的,浏览器在调用完init()后,就会再调用start(),并且启动执行这个方法。
③方法stop();如果我们离开了JavaApplet的文件,则浏览器就会调用方法stop(),停止JavaApplet(注意并不是把JavaApplet销毁)。
④方法destoly():
这一个方法是当使用者关闭了浏览器的时候,浏览器会调用方法destoly()以来销毁JavaApplet。
15.以下程序的输出结果是______。
voidsub(int*a,intn,intk);
voidmain()
{intx=0;
sub(&x,8,1)