1、 一、选择题(每小题1分,共40小题,共40分) 1下列叙述中正确的是( )。 A对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 n B对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nZ) C对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n) D对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n) C。 【解析】二分法查找只适用于顺序存储的有序表,对于长度为 n 的有序线性表,最坏情况只需比较 log2n 次。2算法的时间复杂度是指( )。 A算法的执行时间 B算法所处理的数据量 C算法程序中的语句或指令
2、条数 D算法在执行过程中所需要的基本运算次数 D。 【解析】算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模 n 的函数 f(n),算法的时间复杂度也因此记做 T(n)=O(f(n)因此,问题的规模 n 越大,算法执行的时间的增长率与 f(n)的增长率正相关,称作渐进时间复杂度(Asymptotic Time Cornplexity)。简单来说就是算法在执行过程中所需要的基本运算次数。3软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是( )。 A编辑软件 B操作系统 C教务管理系统 D浏览器 B。 【解析】编辑软件和浏览器属于工具软
3、件,教务系统是应用软件。4软件(程序)调试的任务是( )。 A诊断和改正程序中的错误 B尽可能多地发现程序中的错误 C发现并改正程序中的所有错误 D确定程序中错误的性质 A。 【解析】调试的目的是发现错误或导致程序失效的错误原因,并修改程序以修正错误。调试是测试之后的活动5数据流程图(DFD 图)是( )。 A软件概要设计的工具 B软件详细设计的工具 C结构化方法的需求分析工具 D面向对象方法的需求分析工具 C。 【解析】数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。6软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于( )。 A定义阶段 B开发阶段 C维护阶段
4、D上述三个阶段 B。 【解析】开发阶段在开发初期分为需求分析、总体设计、详细设计3个阶段了,在开发后期分为编码、测试两个子阶段。7数据库管理系统中负责数据模式定义的语言是( )。 A数据定义语言 B数据管理语言 C数据操纵语言 D数据控制语言 A。 【解析】数据模式是由数据定义语言(Data Deftnition Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。8在学生管理的关系数据库中,存取一个学生信息的数据单位是( )。 A文件 B数据库 C字段 D记录 D。 【解析】一个数据库由一个文件或文件集合组成。这些文件中的信息可分解成一个个记录。9数据库设计中,用 E-
5、R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的( )。 A需求分析阶段 B逻辑设计阶段 C概念设计阶段 D物理设计阶段 C。 【解析】E-R(Entity-Relationship)图为实体一联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。10有两个关系 R 和 T 如下:则由关系 R 得到关系 T 的操作是( )。 A选择 B投影 C交 D并A。 【解析】选择是建立一个含有与原始关系相同列数的新表,但是行只包括那些满足某些特定标准的原始关系行。11破坏死锁的 4 个必要条件之一就可以预防死锁。假如规定一个进程在请求新资源之前首先释放已占有的资源,
6、则是破坏了哪个条件?( ) A互斥使用 B部分分配 C不可剥夺 D环路等待 B。 【解析】若一个进程请求新资源之前首先释放已占有的资源,这破坏了部分分配条件。12下列关于数据存储结构的叙述中,不正确的是( )。 A数据的存储结构是逻辑结构在计算机存储器中的实现 B数据的运算是在数据的存储结构实现的 C数据的存储结构即是数据在计算机内的物理结构 D数据运算是定义在数据的存储结构上的 D。 【解析】数据的存储结构是逻辑结构在计算机存储器中的实现,又称为物理结构。数据运算是定义在数据的逻辑结构上的,在存储结构上实现。13对一组记录的关键码(25,38,48,52,63,74)采用二分法查找 52 时
7、,第( )次会查找成功。 A4 B3 C2 D1 B。 【解析】根据二分查找法的基本思想,第一次找到的是 48,52 大于 48,再向右查找,第二次找到的是 63,第三次找到的是 52,至此查找完成。14在一个单链表中,若要删除 P 结点的后续结点,则执行( )。 APnext:=Pnextnext; BP:=Pnext;Pnext:=Pnextnext; Cfree(Pnext); DP:=Pnextnext; A。 【解析】在一个单链表中,若要删除 P 结点的后续结点,只要将 P 的指针域指向 P 的后继的后继即可,即 Pnext=Pnextnext。15下列关于链式存储结构的叙述中,不正
8、确的是( )。 A结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构 B逻辑上相邻的结点物理上不必相邻 C可以通过计算确定第 i 个结点的存储地址 D插入、删除运算操作方便,不必移动结点 C。 【解析】链式存储结构的主要特点有:结点中除自身信息外,还有表示链接信息的指针域,因此存储密度小、存储空间利用率低;逻辑上相邻的结点物理上不必相邻;插入、删除操作灵活方便。线性存储结构可以通过计算确定第 i 个结点的存储地址,但链式存储结构不能。16Java 中定义常量的保留字是( )。 Aconst Bfinal Cfinally Dnative B。 【解析】final 是最终的修饰符,其修饰
9、的是常量。17下列关于 Java 布尔类型的描述中,正确的是( )。 A一种基本的数据类型,它的类型名称为 boolean B用 int 表示类型 C其值可以赋给 int 类型的变量 D有两个值,1 代表真,0 代表假 A。 【解析】布尔类型数据只有两个值:true(真)、false(假),不对应任何数字,不能与数字进行转换,布尔类型数据一般用于逻辑判别。18Java 中所有类的父类是( )。 AFather BDang CException DObject D。 【解析】Object 是所有类的根。19下列程序段的输出结果是( )。 int data=0 ; char k=a,P=f ; d
10、ata=P-k: SystemOUtprintln(data); A0 Ba Cf D5 D。 【解析】a 和 f 的 ASCIl 值相差 5。20下列数中为八进制的是( )。 A27 B0x25 C026 D028 C。 【解析】采用 0,1,2,3,4,5,6,7 八个数码,逢八进位,并且开头一定要以数字 0开头的为八进制。21下列方法中,不属于 Throwable 类的方法是( )。 AprintMessage BgetMessage CtoString DfillStackTrace C。 【解析】toString 是 Object 类的方法,所有类都从 Object 类继承。22下列
11、程序的输出结果是( )。 public class Test public static void main(Stringargs) intarray=(2,4,6,8,lO); int size=6; int result =-1: try for(int i=0;i(size 8L&result= = -1;) if(arrayi= =20)result=i: catch(ArithmeticException e) Systemoutprintln(“Catch- - -l“); catch(ArraylndexOutOfBoundsException e) Systemoutprint
12、ln(“Catch- - -2“); catch(Exception e) Systemoutprintln(“Catch- - -3“);) ACatch- - -1 BCatch- - -2 CCatch- - -3 D以上都不对 B。 【解析】由题可知先判断 i20,并且 i 从 0 开始一直到 i=5 时发生越界,则输出 Cateh= =-2,结果为 B。23下列包中,包含 JOptionPane 类的是( )。 Ajavaxswing Bjavalang Cjavautil Djavaapplet A。 【解析】Swing 中提供了 JOptionPane 类来实现类似 Window
13、s 平台下的 MessageBox 的功能,利用 JOptionPane 类中的各个 static 方法来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能,且这些对话框都是模式对话框。24下列选项中,与成员变量共同构成一个类的是( )。 A关键字 B方法 C运算符 D表达式 B。 【解析】在类体中定义的两种成员,数据成员和成员函数,其中数据成员就是成员变量,而成员函数就是通常说的方法。25下列程序的功能是将一个整数数组写入二进制文件,在程序的下画线处应填入的选项是( )。 import javaio*; public class XieShuzu public stat
14、ic void main(Stringa) intmyArray=(10,20,30,40); try DataOutputStream dos= new DataOutputStream(new FileOutput Stream(“intsdat“); for(int i=0;idos (myArrayi); dosclose(); SystemOUtprintln(“已经将整数数组写入二进 制文件:intsdat“); catch(IOException ioe) SystemOUtprintln(“IO Exeepr_on“);) AwriteArray BwriteByte Cwri
15、teInt DwriteDouble C。 【解析】向流中写入整数数组,用 writeInt 方法。26Java 中的抽象类 Reader 和 Writer 所处理的流是( )。 A图像流 B对象流 C字节流 D字符流 D。 【解析ReaderWriter 所处理的流是字符流,InputStreamOutputStream 的处理对象是字节流。27下列叙述中,错误的是( )。 A内部类的名称与定义它的类的名称可以相同 B内部类可用 abstract 修饰 C内部类可作为其他类的成员 D内部类可访问它所在类的成员 A。 【解析】内部类与外部类的名称不能相同。28用于在子类中调用被重写父类方法的关
16、键字是( )。 Athis Bsuper CThis DSuper B。 【解析super 可用于调用被重写的父类方法,此题须注意 Java 对大小写敏感。29下列 Java 语句从指定网址读取 html 文件,在下画线处应填上的选项是( )。 Reader in=new(new URL(urlString) openStream(); AReader BDataOutputStream CByteArray InputStream DInputStreamReader A。 【解析】创建一个 Reader 流的对象 in。30下列不属于表达式语句的是( )。 A+i; B-j; Cb#a;
17、Db*=a; C。 【解析】前两项是自加减运算,最后一项是 b=b* a。31下列为窗口事件的是( )。 , AMouseEvent BWindowEvent CActionEvent DKeyEvent B。 【解析】MouseEvent 是鼠标事件,ActionEvent 是组件事件,KeyEvent 是键盘事件。32用鼠标点击菜单项(Menultem)产生的事件是( )。 AMenuEvent BActionEvent CKeyEvent DMouseEvent B。 【解析】ActionEvent 组件事件,当特定于组件的动作(比如被按下)发生时,由组件(比如 Button)生成此高级
18、别事件。事件被传递给每一个 ActionListener 对象,这些对象是使用组件的 addActionListener 方法注册的,用以接收这类事件。33下列不属于逻辑运算符的是( )。 A! B| C& D D。 【解析】!是逻辑非,是逻辑或,&是逻辑与,是按位或。34当使用 SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是( )。ASomeThread 类是包含 run()方法的任意 Java 类 BSomeThread 类一定要实现 Runnable 接口 CSomeThread 类是 Thread 类的子类 DSomeThread 类是 T
19、hread 类的子类并且要实现 Run- nable 接口 C。 【解析】由 SomeThread t=new SomeThread()可知此题是通过继承 Thread 类来创建线程的。35在程序的下画线处应填入的选项是( )。 public class Test : public static void main(String args) Test t=new Test(); Thread tt=new Thread(t); ttstart(); public void run() for(int i=0;i=2) remove(current); private class MouseMo
20、tionHandler implements Mouse- MotionListener public void mouseMoved(MouseEvent event) if(find(eventgetPoint)= =null) setCursor(CursorgetDefaultCursor(); else setCursor(CursorgetPredefinedCursor (CursorCROSSHAIR_CURSOR); public void mouseDragged(MouseEvent event) if(current!=null) int x=eventgetX():
21、int Y=eventgetY(); 、 currentsetFrame( x-SIDELENGTH2, Y-SlDELENGTH2 SIDELENGTH, SIDELENGTH); repaint(); 第 1 处:public Rectangle2D find(Point2D p) 第 2 处:private class MouseHandler extends MouseAdaopter 第 3 处:find(eventgetPoint()= =null 【解析】第 1 处定义一个返回类型为 Rectangle2D 的 find 函数且有一个 Point2D 型的形参;第 2 处定义了继承鼠标适配器 MouseAdapt 的 MouseHandler;第 3 处判断 find 函数的返回值是否为空。