2009年9月Java全国计算机等级考试二级笔试试卷
Posted 专治八阿哥的孟老师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2009年9月Java全国计算机等级考试二级笔试试卷相关的知识,希望对你有一定的参考价值。
(1)下列数据结构中,属于非线性结构的是
A)循环队列
B)带链队列
C)二叉树
D)带链栈
(2)下列数据结构中,能够按照“先进后出”原则存取数据的是
A)循环队列
B)栈
C)队列
D)二叉树
(3)对于循环队列,下列叙述中正确的是
A)队头指针是固定不变的
B)队头指针一定大于队尾指针
C)队头指针一定小于队尾指针
D)队头指针可以大于队尾指针,也可以小于队尾指针
(4)算法的空间复杂度是指
A)算法在执行过程中所需要的计算机存储空间
B)算法所处理的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的临时工作单元数
(5)软件设计中划分模块的一个准则是
A)低内聚低耦合
B)高内聚低耦合
C)低内聚高耦合
D)高内聚高耦合
(6)下列选项中不属于结构化程序设计原则的是
A)可封装
D)自顶向下
C)模块化
D)逐步求精
(7)软件详细设计产生的图如下:
该图是
A)N-S图
B)PAD图
C)程序流程图
D)E-R图
(8)数据库管理系统是
A)操作系统的一部分
B)在操作系统支持下的系统软件
C)一种编译系统
D)一种操作系统
(9)在E-R图中,用来表示实体联系的图形是
A)椭圆图
B)矩形
C)菱形
D)三角形
(10)有三个关系R,S和T如下:
其中关系T由关系R和S通过某种操作得到,该操作为
A)选择
B)投影
C)交
D)并
(11)用于设置组件大小的方法是
A)paint( )
B)setSize( )
C)getSize( )
D)repaint( )
(12)点击窗口内的按钮时,产生的事件是
A)MouseEvent
B)WindowEvent
C)ActionEvent
D)KeyEvent
(13)AWT中用来表示对话框的类是
A)Font
B)Color
C)Panel
D)Dialog
(14)下列运算符中,优先级最高的是
A)+=
B)= =
C)&&
D)++
(15)下列运算结果为1的是
A)8>>1
B)4>>>2
C)8<<1
D)4<<<2
(16)下列语句中,可以作为无限循环语句的是
A)for(;😉
B)for(int i=0;i<10000;i++)
C)while(false)
D)do while(false)
(17)下列表达式中,类型可以作为int型的是
A)“abc”+”efg”
B)“abc”+’efg’
C)‘a’+’b’
D)3+”4”
(18)阅读下列程序
public class Test implements Runnable
private int x=0;
private int y=o;
boolean flag=true;
public static void main(string[ ] args)
Test r =new Test( );
Thead t1=new Thead(r);
Thead t2=new Thead(r);
t1.start( );
t2.start( );
public void run()
while(flag)
x++;
y++;
System.out.println(“(” +x_ “,”+y+”)”);
if (x>=10)
flag=false;
下列对程序运行结果描述的选项中,正确的是
A)每行的(x,y)中,可能有;每一对(x,y)值都出现两次。
B)每行的(x,y)中,可能有;每一对(x,y)值仅出现一次。
C)每行的(x,y)中,可能有x=y;每一对(x,y)值都出现两次。
D)每行的(x,y)中,可能有x=y;每一对(x,y)值都出现一次。
(19)如果线程正处于运行状态,则它可能到达的下一个状态是
A)只有终止状态
B)只有阻塞状态和终止状态
C)可运行状态,阻塞状态,终止状态
D)其他所有状态
(20)在下列程序的空白处,应填入的正确选项是
import java.io.*;
public class writeInt
public static void main(string[ ] a)
int[ ] myArray = 10,20,30,40;
try
DataOutputSystem dos= new DataOutputSystem
(new FileOutputSystem(“ints.dat”));
for (int i=0;I<MYARRAY.LENGTH;I++)
dos.writeInt(myArray[i]);
System.out.println (“Have written binary file ints.dat”);
catch(IOException ioe)
System.out.println(“IOException”);
A)start( )
B)close( )
C)read( )
D)write()
(21)在一个线程中调用下列方法,不会改变该线程运行状态的是
A)yield方法
B)另一个线程的join方法
C)sleep方法
D)一个对象的notify方法
(22)在关闭浏览器时调用,能够彻底终止Applet并释放该Applet所有资源的方法是
A)stop( )
B)destroy( )
C)paint( )
D)start( )
(23)为了将HelloApplet(主类名为HelloApplet.class)嵌入在greeting.html文件中,应该在下列greeting.html文件的横线处填入的代码是
A)HelloApplet.class B)CODE=” HelloApplet.class” C)CODE=” HelloApplet.class” WIDTH=150HEIGHT=25 D)CODE=” HelloApplet.class” WIDTH=10 HEIGHT=10(24)下列变量名的定义中,符合Java命名约定的是
A)fieldname
B)super
C)Intnum
D)$number
(25)自定义异常类的父类可以是
A)Error
B)VirtuaMachineError
C)Exception
D)Thread
(26)阅读下列程序片段
Public void test()
try
sayHello();
system.out.println(“hello”);
catch (ArrayIndexOutOfBoundException e)
System.out.println(“ArrayIndexOutOfBoundException”);
catch(Exception e)
System.out.println(“Exception”);
finally
System.out.println(“finally”);
如果sayHello( )方法正常运行,则test( )方法的运行结果将是
A)Hello
B)ArrayIndexOutOfBondsException
C)Exception
Finally
D)Hello
Finally
(27)为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件
A)分开
B)结合
C)联系
D)融合
(28)Java中的基本数据类型int在不同的操作系统平台的字长是
A)不同的
B)32位
C)64位
D)16位
(29)String、StingBuffer都是______类,都不能被继承。
A)static
B)abstract
C)final
D)private
(30)下列程序的功能是统计字符串中“array”的个数,在程序的空白处应填入的正确选项是
public class FindKeyWords
public static void main(sring[] args)
sting text=
“ An array is a data structur that stores acollection of”
+ “values of the same type . You access eachindividual value”
+ “through an integer index . For example,if a
is an array”
+ “of inergers, then a[i] is the ith integer in the array.”;
Int arrayCount =0;
Int idex = -1;
Sting arrarStr =”array”;
Index = text.indexof(arrayStr);
While(index 0)
++arrayCount;
Index += arrayStr.length();
Index = text.indexof(arrayStr,index);
System.out.println
(“the text contains” + arrayCount + “arrays”);
A)<
B)=
C)<=
D)>=
(31)构造方法名必须与______相同,它没有返回值,用户不能直接调用它,只能通过new调用。
A)类名
B)对象名
C)包名
D)变量名
(32)在多线程并发程序设计中,能够给对象x加锁的语句是
A)x.wait( )
B)synchronized(x)
C)x.notify( )
D)x.synchronized( )
(33)Java中类ObjectOutputStream支持对象的写操作,这是一种字节流,它的直接父类是
A)Writer
B)DataOutput
C)OutputStream
D)ObjectOutput
(34)在下列程序的空白处,应填入的正确选项是
import java.io.*;
pulilc class ObjectStreamTest
publilc static void main(string args[]) throwsIOException
ObjectOutputStream oos= new ObjectOutputStream
(new FileOutputStream(“serial.bin”));
java.util.Date d= new Java.util.Date();
Oos (d);
ObjectInputStream ois=
new ObjectInputStream(newFileOutputStream(“serial.bin”));
try
java.util.date restoredDate =
(Java.util.Date) ois.readObject();
System.out.println
(“read object back from serial.bin file:”
+ restoredDate);
Catch (ClassNotFoundException cnf)
System.out.println (“class not found”);
}
A)WriterObject
B)Writer
C)BufferedWriter
D)WriterObject
(35)Class类的对象由______自动生成,隐藏在.class文件中,它在运行时为用户提供信息。
A)Java编译器
B)Java解释器
C)Java new 关键字
D)Java类分解器
二、填空题(每空2分,共30分)
(1)某二叉树由5个度为2的结点以及3个度为1的结点,则该二叉树中共有 14【1】 个结点。
(2)程序流程图中的菱形框表示的是 逻辑条件【2】 。
(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中需求分析【3】阶段产生“软件需求规格说明书“。
(4)在数据库技术中,实体集之间的联系可以是一对一或一对多的,那么“学生“和”可选课程“的联系为 【4】多对多 。
(5)人员基本信息一般包括:身份证号、姓名、性别、年龄等。其中可以做主关键字的是 【5】身份证号 。
(6)按照Java的线程模型,代码和数据 【6】 构成了线程体。
(7)在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的 【7】run ()方法。
(8)在下列Java applet 程序的横线处填入代码,使程序完整并能够正确运行。
import java. awt. *;
import java. applet. *;
public class Greeting extends applet
public void paint 【8】(Graphics g)
g.drawSting(“how are you!”,10,10);
(9)在Java语言中,用 abstract【9】 修饰符定义的类为抽象类。
(10)在Java中,字符是以16位的Unicode【10】 码表示。
(11)请在下列程序的空白处,填上适当的内容:
import java. awt. *;
import java. util. *;
class BufferTest
public static void main(string args[])
throws IOException
FileOutputStream unbuf=
new FileOutputStream(“test.one”) ;
BufferedOutputStream buf=
new BufferedOutputStream 【11】 (newFileOutputStream(“test.two”));
System.out.println
(“write file unbuffered: ” + time(unbuf) + “ms”);
System.out.println
(“write file buffered: ” + time(buf) + “ms”);
Static int time (OutputStream os)
Throws IOException
Date then = new Date();
for (int i=0; i<50000; i++)
os.write(1);
os.close();
return(int)(()new Date()).getTime() -then.getTime());
(12)代码System.out.println(066)的输出结果是【12】54 。
(13)Swing中用来表示工具栏的类是 javax.swing. Jtoolbar【13】 。
(14)表达式(10*49.3)的类型是double【14】 型。
(15)抛出异常的语句是 throwException
【15】 语句。
二级java答案:
1-5:CBDAB
6-10:ACBCD
11-15:BCDDB
16-20:ACBCB
21-25:BBCAC
26-30:DABCD
31-35:ABCDA
1-15 : 14 逻辑条件 需求分析 多对多 身份证号码
数据 run paint abstruct Unicode
BufferedOutputStream 54 JToolBar double t hrowException
全国计算机等级考试二级Python(2021年9月)备考笔记 第十二天
文章目录
Python 二级等考(第三季)精品题3
单项选择题
第一题
第二题
第三题
第四题
第五题
第六题
第七题
第八题
第九题
第十题
第十一题
第十二题
第十三题
第十四题
第十五题
第十六题
第十七题
第十八题
第十九题
第二十题
第二十一题
第二十二题
第二十三题
第二十四题
第二十五题
第二十六题
第二十七题
第二十八题
第二十九题
第三十题
第三十一题
第三十二题
第三十三题
第三十四题
第三十五题
第三十六题
第三十七题
第三十八题
第三十九题
第四十题
程序设计题
第一题
代码如下:
x = eval(input()) #输入为"65",由eval函数转变为数值65
print("{:c}".format(x)) #输出Unicode编码为65,对应的字符为"A"
# 如果输入的是"a",会出现如下错误提示:
# File "<string>", line 1, in <module>
# NameError: name 'a' is not defined
# 原因:eval函数只能识别数字字符串,对于输入"a",只能被识别为一个变量名称为a,
# a 这个变量是不存在的,从而出现错误。
# 如果要避免这样的意外出现,请尝试使用try-catch语句完善代码。
# 本题目的考察点在于format函数的格式输出规则。
第二题
代码如下:
s = input() #从键盘获取输入,返回字符串
print(s[::-1],end="") #字符串逆序输出,详见代码后说明
print(len(s)) #输出字符串长度
'''
本题考查的是字符串的一些基本知识。
反序字符串的写法是s[::-1]。
[x:y:z]切片索引,x是左端,y是右端,z是步长,在p[x,y)区间从左到右每隔z取值,默认z是1,可以省略参数z,步长为负号就是反向,从右到左取值。
'''
第三题
代码如下:
import random #导入random模块
random.seed(123) #设置随机数种子123,保证每次执行时生成的相同的随机序列
for i in range(10): #遍历循环
print(random.randint(1,999), end=",")
#输出[1,999]上的随机整数,以结尾英文逗号隔开
#如:54,275,90,788,418,273,111,859,923,896,
#因为随机种子固定,每次执行会得到同样的输出。
'''
seed()方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。
seed()方法的语法:
import random
random.seed([x])
注意:seed()是不能直接访问的,需要导入random模块,然后通过random静态对象调用该方法。
参数x -- 改变随机数生成器的种子seed。
random.randint(a,b)返回一个a至b区间(包含a和b)的整数。
'''
第四题
代码如下:
import turtle
turtle.pensize(2)
d = 0
for i in range(1,9):
turtle.fd(100)
d += 45
turtle.seth(d)
第五题
代码如下:
#从键盘上获取字符串,按回车键结束输入。形如:计算机 金融 计算机 建筑 土木 土木 计算机
names = input("请输入各个同学行业名称,行业名称之间用英文空格间隔(回车结束输入):")
#str.split()函数可分割从键盘上获取的字符串,返回一个列表,默认缺省分隔符为英文空格。
'''
| split(self, /, sep=None, maxsplit=-1)
| Return a list of the words in the string, using sep as the delimiter string.
|
| sep
| The delimiter according which to split the string.
| None (the default value) means split according to any whitespace,
| and discard empty strings from the result.
| maxsplit
| Maximum number of splits to do.
| -1 (the default value) means no limit.
'''
t = names.split()
d = {} #定义一个字典
for c in range(len(t)): #对列表t中每一个元素统计出现次数
d[t[c]] = d.get(t[c],0)+1 #要掌握字典get方法的具体使用,详见代码后面。
ls = list(d.items()) #将字典的items()转换为列表,形如[("计算机",3),...]
ls.sort(key=lambda x:x[1], reverse=True) # 按照数量排序
for k in range(len(ls)): #输出排序后的统计结果
zy,num = ls[k]
#例如:ls[0]=("计算机",3),执行完该语句后,zy="计算机",num = 3
print("{}:{}".format(zy,num))#按照格式输出结果
第六题
代码如下:
fi = open("论语.txt", "r")
fo = open("论语-原文.txt", "w")
a=0
for line in fi:
if a==1 and line.count("【注释】")==0 and line.count("【原文】")==0:
line = line.strip(" \\n")
if line.strip():#判断line是否为空串
fo.write('{}\\n'.format(line))
if line.count("【原文】")>0:
a=1
if line.count("【注释】")>0:
a=0
fi.close()
fo.close()
第七题
代码如下:
fi = open("论语.txt", "r")
fo = open("论语-原文.txt", "w")
a=0
for line in fi:
if a==1 and line.count("【注释】")==0 and line.count("【原文】")==0:
line = line.strip(" \\n")
if line.strip():#判断line是否为空串
fo.write('{}\\n'.format(line))
if line.count("【原文】")>0:
a=1
if line.count("【注释】")>0:
a=0
fi.close()
fo.close()
以上是关于2009年9月Java全国计算机等级考试二级笔试试卷的主要内容,如果未能解决你的问题,请参考以下文章
全国计算机等级考试二级Python(2021年9月)备考笔记 第十四天