1、一、选择题(每小题1分,共40小题,共40分) 1下列叙述中正确的是( )。 A对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n B对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nZ) C对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n) D对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n) C。【解析】二分法查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次。2算法的时间复杂度是指( )。 A算法的执行时间 B算法所处理的数据量 C算法程序中的语句或指令条数 D算法在执行过程中所需要
2、的基本运算次数 D。【解析】算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做T(n)=O(f(n)因此,问题的规模n越大,算法执行的时间的增长率与f(n)的增长率正相关,称作渐进时间复杂度(Asymptotic Time Cornplexity)。简单来说就是算法在执行过程中所需要的基本运算次数。 3软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是( )。 A编辑软件 B操作系统 C教务管理系统 D浏览器 B。【解析】编辑软件和浏览器属于工具软件,教务系统是应用软件。4软件(程序)调试的任
3、务是( )。 A诊断和改正程序中的错误 B尽可能多地发现程序中的错误 C发现并改正程序中的所有错误 D确定程序中错误的性质 A。【解析】调试的目的是发现错误或导致程序失效的错误原因,并修改程序以修正错误。调试是测试之后的活动 5数据流程图(DFD图)是( )。 A软件概要设计的工具 B软件详细设计的工具 C结构化方法的需求分析工具 D面向对象方法的需求分析工具 C。【解析】数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。6软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于( )。 A定义阶段 B开发阶段 C维护阶段 D上述三个阶段 B。【解析】开发阶段在开发初期分为
4、需求分析、总体设计、详细设计3个阶段了,在开发后期分为编码、测试两个子阶段。 7数据库管理系统中负责数据模式定义的语言是( )。 A数据定义语言 B数据管理语言 C数据操纵语言 D数据控制语言 A。【解析】数据模式是由数据定义语言(Data Deftnition Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。8在学生管理的关系数据库中,存取一个学生信息的数据单位是( )。 A文件 B数据库 C字段 D记录 D。【解析】一个数据库由一个文件或文件集合组成。这些文件中的信息可分解成一个个记录。9数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数
5、据库设计的( )。 A需求分析阶段 B逻辑设计阶段 C概念设计阶段 D物理设计阶段 C。【解析】E-R(Entity-Relationship)图为实体一联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。10有两个关系R和T如下: 则由关系R得到关系T的操作是( )。 A选择 B投影 C交 D并A。【解析】选择是建立一个含有与原始关系相同列数的新表,但是行只包括那些满足某些特定标准的原始关系行。11破坏死锁的4个必要条件之一就可以预防死锁。假如规定一个进程在请求新资源之前首先释放已占有的资源,则是破坏了哪个条件?( ) A互斥使用 B部分分配 C不可剥夺 D环路等待 B。
6、【解析】若一个进程请求新资源之前首先释放已占有的资源,这破坏了部分分配条件。 12下列关于数据存储结构的叙述中,不正确的是( )。 A数据的存储结构是逻辑结构在计算机存储器中的实现 B数据的运算是在数据的存储结构实现的 C数据的存储结构即是数据在计算机内的物理结构 D数据运算是定义在数据的存储结构上的 D。【解析】数据的存储结构是逻辑结构在计算机存储器中的实现,又称为物理结构。数据运算是定义在数据的逻辑结构上的,在存储结构上实现。 13对一组记录的关键码(25,38,48,52,63,74)采用二分法查找52时,第( )次会查找成功。 A4 B3 C2 D1 B。【解析】根据二分查找法的基本思
7、想,第一次找到的是48,52大于48,再向右查找,第二次找到的是63,第三次找到的是52,至此查找完成。14在一个单链表中,若要删除P结点的后续结点,则执行( )。 APnext:=Pnextnext; BP:=Pnext;Pnext:=Pnextnext; Cfree(Pnext); DP:=Pnextnext; A。【解析】在一个单链表中,若要删除P结点的后续结点,只要将P的指针域指向P的后继的后继即可,即 Pnext=Pnextnext。15下列关于链式存储结构的叙述中,不正确的是( )。 A结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构 B逻辑上相邻的结点物理上不必相邻 C
8、可以通过计算确定第i个结点的存储地址 D插入、删除运算操作方便,不必移动结点 C。【解析】链式存储结构的主要特点有:结点中除自身信息外,还有表示链接信息的指针域,因此存储密度小、存储空间利用率低;逻辑上相邻的结点物理上不必相邻;插入、删除操作灵活方便。线性存储结构可以通过计算确定第i个结点的存储地址,但链式存储结构不能。 16Java中定义常量的保留字是( )。 Aconst Bfinal Cfinally Dnative B。【解析】final是最终的修饰符,其修饰的是常量。17下列关于Java布尔类型的描述中,正确的是( )。 A一种基本的数据类型,它的类型名称为boolean B用int
9、表示类型 C其值可以赋给int类型的变量 D有两个值,1代表真,0代表假 A。【解析】布尔类型数据只有两个值:true(真)、false(假),不对应任何数字,不能与数字进行转换,布尔类型数据一般用于逻辑判别。 18Java中所有类的父类是( )。 AFather BDang CException DObject D。【解析】Object是所有类的根。19下列程序段的输出结果是( )。 int data=0 ; char k=a,P=f ; data=P-k: SystemOUtprintln(data); A0 Ba Cf D5 D。【解析】a和f的ASCIl值相差5。20下列数中为八进制的
10、是( )。 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下列程序的输出结果是( )。 public class Test public static void main(Stringargs) intarray=(2,4,6,8,lO); int s
11、ize=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) Systemoutprintln(Catch- - -2); catch(Exception e) Systemoutprintln(Catch- - -3);) ACatch- - -1 BCatch- - -2 CCa
12、tch- - -3 D以上都不对 B。【解析】由题可知先判断i20,并且i从0开始一直到i=5时发生越界,则输出Cateh= =-2,结果为B。23下列包中,包含JOptionPane类的是( )。 Ajavaxswing Bjavalang Cjavautil Djavaapplet A。【解析】Swing中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能,利用JOptionPane类中的各个static方法来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能,且这些对话框都是模式对话框。24下列选项中,与成员变量共同构成一个类的
13、是( )。 A关键字 B方法 C运算符 D表达式 B。【解析】在类体中定义的两种成员,数据成员和成员函数,其中数据成员就是成员变量,而成员函数就是通常说的方法。25下列程序的功能是将一个整数数组写入二进制文件,在程序的下画线处应填入的选项是( )。 import javaio*; public class XieShuzu public static void main(Stringa) intmyArray=(10,20,30,40); try DataOutputStream dos= new DataOutputStream(new FileOutput Stream(intsdat);
14、 for(int i=0;idos (myArrayi); dosclose(); SystemOUtprintln(已经将整数数组写入二进 制文件:intsdat); catch(IOException ioe) SystemOUtprintln(IO Exeepr_on);) AwriteArray BwriteByte CwriteInt DwriteDouble C。【解析】向流中写入整数数组,用writeInt方法。26Java中的抽象类Reader和Writer所处理的流是( )。 A图像流 B对象流 C字节流 D字符流 D。【解析ReaderWriter所处理的流是字符流,Inp
15、utStreamOutputStream的处理对象是字节流。27下列叙述中,错误的是( )。 A内部类的名称与定义它的类的名称可以相同 B内部类可用abstract修饰 C内部类可作为其他类的成员 D内部类可访问它所在类的成员 A。【解析】内部类与外部类的名称不能相同。28用于在子类中调用被重写父类方法的关键字是( )。 Athis Bsuper CThis DSuper B。【解析super可用于调用被重写的父类方法,此题须注意Java对大小写敏感。29下列Java语句从指定网址读取html文件,在下画线处应填上的选项是( )。 Reader in=new(new URL(urlString
16、) openStream(); AReader BDataOutputStream CByteArray InputStream DInputStreamReader A。【解析】创建一个Reader流的对象in。30下列不属于表达式语句的是( )。 A+i; B-j; Cb#a; Db*=a; C。【解析】前两项是自加减运算,最后一项是b=b* a。31下列为窗口事件的是( )。 , AMouseEvent BWindowEvent CActionEvent DKeyEvent B。【解析】MouseEvent是鼠标事件,ActionEvent是组件事件,KeyEvent是键盘事件。32用鼠
17、标点击菜单项(Menultem)产生的事件是( )。 AMenuEvent BActionEvent CKeyEvent DMouseEvent B。【解析】ActionEvent组件事件,当特定于组件的动作(比如被按下)发生时,由组件(比如Button)生成此高级别事件。事件被传递给每一个ActionListener对象,这些对象是使用组件的addActionListener方法注册的,用以接收这类事件。33下列不属于逻辑运算符的是( )。 A! B| C& D D。【解析】!是逻辑非,是逻辑或,&是逻辑与,是按位或。34当使用SomeThread t=new SomeThread()创建一
18、个线程时,下列叙述中正确的是( )。 ASomeThread类是包含run()方法的任意Java类 BSomeThread类一定要实现Runnable接口 CSomeThread类是Thread类的子类 DSomeThread类是Thread类的子类并且要实现Run- nable接口 C。【解析】由SomeThread t=new SomeThread()可知此题是通过继承Thread类来创建线程的。 35在程序的下画线处应填入的选项是( )。 public class Test : public static void main(String args) Test t=new Test();
19、 Thread tt=new Thread(t); ttstart(); public void run() for(int i=0;i5;i+) Systemoutprintln(i=+i); Aimplements Runnable Bextends Thread Cimplements Thread Dextends Runnable B。【解析】implements是实现接口,extends是继承类。Thread是类,Runnable是 接口,所以只有A、B选项语法是正确的。而Runnable是不能返回Static值,所以答案选择B。36为了支持压栈线程与弹栈线程之间的交互与同步, 在
20、程序的下画线处依次填入的语句是( )。 public class IntStack private int idx=0; private intdata=new int8; public void push(int i) dataidx=i; idx+; Asynchronized() notify() Bsynchronized thiswait() Csynchronized thisnotify() DSerializable sleep() B。【解析】在Synchronized块中等待共享数据的状态改变时调用wait()方法,这样该线程进入等待状态暂时释放共享数据对象的锁。37如果线
21、程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是( )。 Asleep()方法的时间到 B获得了对象的锁 C线程在调tjoin()方法后,线程t结果 Dwait()方法结束 D。【解析】wait()方法会使线程放弃对象锁,进入等待此对象的等待锁定池。 38当一个Applet被加载,后续对Applet生命周期方法的调用中,可能存在的次序是( )。 Astart(),stop(),destroy() Binit(),start(),stop(),start(),stop(),destroy() Cstart(),init(),stop(),destroy() Dinit(),start()
22、,destroy() B。【解析】init()一般用来完成所有必需的初始化操作,start()是在初始化之后Applet被加载时调用,stop()在Applet停止执行时调用,destory()是Applet从系统中撤出时调用。39在HTML文件的标志中作为可选属性的是( )。 AApplet主类的文件名 BApplet显示区域的宽度 CApplet主类的路径 DApplet显示区域的高度 C。【解析】中可使用复了标志,其中的CODEBASE标志(指定URL地址),如果HTML不指定,浏览器使用和HTML文件相同的URL,所以答案选择C。 40如果应用程序要在Applet上显示输出,则必须重写
23、的方法是( )。 AGraphicsdrawString() Brepaint() Cpaint() Dupdate() C。【解析】paint()是绘制Applet界面的基本方法。二、基本操作题(共18分) 本题的功能是计算二维数组各个元素的和。程序中定义了二维数组arr,arr有3行4列共l2个元素,程序中采用for循环语句的嵌套来计算数组中各个元素的和,并将结果保存在sum变量中,最后打印输出结果。 public class javal public static void main(String args) int arr=l,2,3,4,5,6,7,8,9,10,11,12; int
24、 sum=0; int i=0,j=0; for(i=0; ) for( ) ; SystemOUtprintln(sum=+sum); 第1处:i3;i+或i=2;i+ 第2处:j=O;j4;j+或j=0;j=2) remove(current); private class MouseMotionHandler implements Mouse- MotionListener public void mouseMoved(MouseEvent event) if(find(eventgetPoint)= =null) setCursor(CursorgetDefaultCursor();
25、else setCursor(CursorgetPredefinedCursor (CursorCROSSHAIR_CURSOR); public void mouseDragged(MouseEvent event) if(current!=null) int x=eventgetX(): 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函数的返回值是否为空。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。