完整版)编程笔试测试试题及参考的答案_第1页
完整版)编程笔试测试试题及参考的答案_第2页
完整版)编程笔试测试试题及参考的答案_第3页
完整版)编程笔试测试试题及参考的答案_第4页
完整版)编程笔试测试试题及参考的答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2008年4月笔试试卷及参考答案一、选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。(1)程序流程图中带有箭头的线段表示的是A)图元关系B)数据流C)控制流 D)调用关系(2)结构化程序设计的基本原则不包括A)多态性B)自顶向下C)模块化D)逐步求精(3)软件设计中模块划分应遵循的准则是A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(4)在软件开发中,需求分析阶段产生的主要文档是A)可行性分析报告B)软件需求规格说明书C)概要设计说明书D)集成测试计划(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度

2、是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序 C)直接插入排序D)堆排序(7)下列关于栈的叙述正确的是A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据C)只能在栈底插入数据D)不能删除数据(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于A)需求分析阶段B)概念设计阶段 C)逻辑设计阶段D)物理设计阶段(9)有三个关系R、S和T,如下:RST工丄Bc1Jf3h23011n2xlcDa0kl由关系R和S通过运算得到关系 T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)

3、交(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩(11)下列对Java特性的叙述中,错误的是A) 在编写Java子类时可以自由地增加新方法和属性B) Java的Applet要求编程首先创建 JFrame窗口C) Java语言用解释器执行字节码D) Java中的类一般都有自己的属性和方法(12) 下列对Java源程序结构的叙述中,错误的是A) import语句必须在所有类定义之前B) 接口定义允许0或多个C) Java Ap

4、plication中的public class类定义允许 0或多个D) package语句允许 0或1个(13) 下列变量定义中,正确的是A) long 仁 123LB) long 1= 3.14156fC) in t i=kD) double d=1.55989E2f(14) 下列Java表达式19/3(in t)71.7-2*37% 3(double)1/8+3计算结果是A) 6.3B) 6C) 6.4D) 66463676521212.53.1252.53.125(15) switch语句中表达式(expression)的值不允许用的类型是A) byteB) intC) boolea n

5、D) char(16) 下列语句能给数组赋值而不使用for循环的是A) myArray1=0 ne;2=Two;3=Three;B) String s5=new StringZero, One, Two, There, Four;C) String s=new StringZero, One, Two, There, Four;D) String s=new String=|Zero, One, Two, There, Four;(17) Swing与AWT相比新增的布局管理器是D) BoxLayoutA) CardLayout B) CardLayout C) CardBagLayout(1

6、8) 下列语句中正确的是A) System. out. printin (1+1); B) int i=2+2;C) Sting s=o n+o ng:D) byte b=257;(19) 下列关键字中可以表示常量的是A) final B) defaultC) private D) tran sie nt(20) 在Java语言中,被称为内存分配的运算符是A) new B) in sta nee of C) D)()(21) 阅读下面程序pubic class Cyclepublic static void main(String args)System. out. prin tl n( ar

7、gs0);在命令行中输入java Cycle one two,该程序输出结果是A) Cycle B) oneC) two D)上述 A、B、C、均不对(22) 阅读下面程序public class My Valpublic static void main(String args)My Val m=new My Val();m. amethod();public void amethod()boolean b=new Boolean5;程序编译或运行结果是A) 1 B) null C) D)编译不能过(23) 阅读下面求质数的程序import java. la ng. Math. * ;pub

8、lic class MorePrimesTestpublic static void main( Stri ngargs)Ion gprimes=new Ion g20;primes02L;primes13L;long nu mber=5L;outer:for(int count=2; count v primes. length; number+ =2L)long limit=(lo ng)Math. ceil(Math. sqrt(double )nu mber); for(int i=1; i v count & primesi v limit; i+ +) if(numberprime

9、si=0L)cotinue outer;for(int j=0; j v primes. length; j +)long n=primesj; System. out. prin tl n(n);在程序下画线处填入的正确选项是A) & B) * C) /D) %(24) 接口中,除了抽象方法之外,还可以含有A)变量 B)常量 C)成员方法 D)构造方法(25) StringBuffer类字符串对象的长度是A)固定B)必须小于16个字符C)可变D)必须大于16个字符(26) 阅读下面写文件的程序import java. io. *;public class WriteFilepublic st

10、atic void main(StringA) in tmyArray=10,20,30,40;tryFileOutputStream f=new FlieOutStream(ints. dat); DataOutputStream=new DataOutputStream(f);for(int i=0; i v myArray. length; i +) dos. writeI nt(myArrayi);dos. close();System. out. prinfln (Have writte n binary file in ts. dat); catch(IOExcepti on io

11、e)System. out. prin tl n(IO Excepti on);在程序下画线处填入的正确选项是A) myArray B) dos C) ioe D) ints(27) 阅读下面程序public class Test2public static void main(String args)Thread t=new Test2();t. start();public void run()System. out. priatl n(How are you.);在程序下画线处填入的正确的选项是A) impleme nts ThreadB) exte nds Runn ableC) im

12、pleme nts Runn ableD) exte nds Thread(28) 阅读下面程序public class Test impleme nts Runn ablepublic static void main( Stri ngargs)t. start();public void mR()System. out. prin tl n( Hello!);在程序下画线处填入正确选项是A) Test t=flew Test()B) Thread t=new Thread();C) Thread t=new Thread( new Test();D) Test t=new Thread()

13、;(29) 下列关于Applet中加载图像的说法,错误的是A) 可以使用Applet类的getlmage()方法获得图像对象B) 程序员必须自行定义获得图像及显示图像的类和方法C) 图像由一个java. Image类的对象来表示D) 可以使用Graphics类的drawlmage()方法显示图像(30) 下列带下画线的标识符符合Java命名约定的是A) package com.Bi.hr B) public class xyzC) intID) void setCustomerName()(31) RandomAccessFile是java. io包中的一个兼有输入输出功能的类。由于它是随机访

14、问,所以文件读 写一个记录的位置是A)起始 B)终止 C)任意 D)固定(32) 阅读下面Applet程序import javax. swing. *;import java. awt. *;public class Swin tgApplet exte nds JAppletJLabel 仁new JLabel(This is a Swing Applet.);public void in it() 在程序下画线处填入正确的选项是A) Container conten tPa ne=getC ontenPan e(); cote ntPa ne. add(1);B) JPa nel comt

15、e nPane=new Jpa ne(); conten tPa ne. add(1);C) contentPane. add(1);D) add(1);(33) 在Java中,“目录”被看作是A)文件 B)流 C)数据 D)接口(34) 阅读下面实现堆栈类并发控制的部分代码public class DataStackprivate int idx=0;private in tdata=n ew in t8;public void push(i nt i).dataidx=i;idx + +; 在程序下画线处填入正确选项是A) synchroni zedB) synchroni zed(thi

16、s)C) synchroni zed()D) synchroni zed(idx)(35) 下列关于对象串行化的说法错误的是A) Java中,默认所有类的对象都可串行化B) 在对象串行化时,不保存对象所属类的构造方法C) 在实现Serializeble接口的类中,用transient关键字可使某些数据不被串行化D) ObjectlnputStream 和 ObjectOutputStream 类都支持对象的读和写二、填空题注意:以命令关键字填空的必须拼写完整。(1) 测试用例包括输入值集和【1】 值集。(2) 深度为5的满二叉树有【2】个叶子结点。设某循环队列的容量为50,头指针front=5

17、(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有【3】个元素。在关系数据库中,用来表示实体之间联系的是【4】。(5)在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,【5】负责数据的模式定义与数据的物理存取构建。按照Java中的命名约定,方法名的起始字母一般都是小写,但是【6】方法例外。(7) Swing中的按钮类是【7】。(8) Java中的三元运算符是【8】。(9) Java输入/输出流中包括字节流、【9】、文件流、对象流及管道流。(10) 在Java中,对象流以【10】方式传送和存储。(11) 请将下面程序补充完整。public cla

18、ss PowerCalc public static void main( Stri ngargs)double x=5.0;System. out. prin tl n( x+to the power 4 is+power(x, 4);System. out. println(7. 5 to the power 5 is+power(7.5, 5);System. out. println( 7.5 to the power 0 is+power(7.5, 0);System. out. printin(10 to the power -2 is+power(10, -2); static

19、double 【11】(double x, i nt n)if(n 1)retur n x * power(x, n-1);else if(n v 0)return 1.0/power(x, - n);elsereturn n=0 ? 1.0:x; (12) 请将下面的Applet程序补充完整。import java. awt. *; import java. applet. *;public class Hi 【12 】public void pain t(Graphics g)g. drawStri ng(Hi!, 25, 25); (13) Swing中的组件往往采用MVC结构,MVC

20、指的是 Model、View和 【13】。(14) Java中,可以通过建立java. la ng.【14】类或其子类的实例创建和控制线程。(15) 如果一个线程调用 【15】()方法,将使该线程进入休眠状态。参考答案及解析一、选择题(1) 答案C)解析程序流程图是人们对解决问题的方法、思路或算法的一种描述。其中,图框表示各种操作的类 型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。带箭头的线段在数据流程图中表 示数据流。带箭头的线段在程序流程图中表示控制流。题中给出的选项中,在图元之间用带有箭头的线段 表示图元关系。在模块之间用带有箭头的线段表示调用关系。构成程序流程图的基本

21、图符及含义:宀或J 表示控制流;表示加工步骤;表示逻辑条件。(2) 答案A)解析结构化程序设计的原则包括:自顶而下,逐步求精”的设计思想,独立功能,单出、入口”的模块化设计等。多态性是面向对象程序语言的特征。(3) 答案B)解析模块划分应遵循的准则包括模块之间的耦合和内聚。一般来说,要求模块之间的耦合尽可能地低,即模块尽可能独立,要求模块的内聚程度尽可能地高,即高内聚、低耦合的原则。答案B)解析需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等4方面。产生的主要文档为软件需求规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直 接支持目标软件系统的确认

22、,又可以作为控制软件开发进程的依据。(5)答案A)解析算法具有5个特性:有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的。确定性:算法中每一条指令必须有确切的 含义,读者理解时不会产生二义性。可行性:一个算法是可行的,即算法中描述的操作都是可以通过已 经实现的基本运算执行有限次来实现。输入:一个算法有零个或多个输入,这些输入取自于某个特定的 对象的集合。输出:一个算法有一个或多个输出。答案D)解析在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都是n(n-1)/2,堆排序需要比较的次数为nlog2n。(7) 答案B

23、)解析在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的一端称为栈底。栈顶元素总 是最后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能 被删除的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的。(8) 答案C)解析数据库的逻辑设计分为:将概念模型转换成一般的数据模型;将一般的数据模型转换为特定的数据库管理系统所支持的数据模型。把概念模型转换成关系数据模型就是把 E-R图转换成一组关系模式。(9) 答案D)解析在关系运算中,交的定义如下:设R1和R2为参加运算的两个关系,它们具有相同的度n,且相对应的属性值取自同一个域,则R1 n R2为

24、交运算,结果仍为度等于n的关系,其中,交运算的结果既属于R1又属于R2。(10) 答案C)解析“选课SC”表是“学生S”表和“课程C”表的映射表,主键是两个表主键的组合。(11) 答案B)解析编写自己的Applel时不需要创建JFrame窗口,但需要继承Applet类,并嵌入html网页中运行。(12) 答案C)解析Java application中的public class定义只能是0个或1个,不能为多个,而且如果是1个的话,文件名要与public class修饰的类名相同。(13) 答案A)解析Thread类是多线程基类,多线程启动类必须继承此类。而实现Runnable接口的类能作为多线程

25、类型转换,但不推荐使用。(14) 答案D)解析“/”表示整除,“int”将71.7强制转化为整数71后再做减法运算,“ %”是取余运算,“ double” 将1/8转化成double类型后做加法运算。(15) 答案C)解析switch语句用于多重选择,其参数可以是字节型、整型或字符型;而布尔型只有两个值(True、False), 般用于if语句。(16) 答案C)解析A)、D)语法不正确,B)中s5的形式只能通过for循环的格式进行赋值,而不能直接赋值。C)中表达式左侧的“”说明现在定义一个数组,不需要指明数组长度,而表达式右侧“”在后面直接紧跟初始内容时也是不需要指定数组大小的,数组大小直接

26、由初值长度决定。(17) 答案D)解析AWT 的布局管理器有 FlowLayout、GridLayout、BorderLayout、CardLayout 和 GridBagLayout。 Swing 的布局管理器有 CenterLavout、BoxLayout、OverlayLayout 禾口 SpringLayout。(18) 答案A)解析B)整型不能与字符串类型直接相加,D)中“+”表示两个字符串的拼接,“one”是非法字符串常量声明,D)中赋值类型不匹配。(19) 答案A)解析final关键字声明的变量不能再修改,即为常量。default关键字用于在switch分支里作默认分支项;pri

27、vate关键字则用于声明私有变量和方法类;transient关键字用于修饰变量以表明此变量易变,不需要串行化处理。(20) 答案A)解析在Java中对内存进行动态分配的只有通过使用关键字new。instanee of用于测试某个对象是否为某个类的实例;、()是与数组、函数声明或运算相关的符号,不涉及内存分配。(21) 答案B)解析main方法中的参数args是String类型的数组,所以当在命令行中输入参数one、two时,args数组中有两个元素:arg0=one,arg1=two。所以打印输出 arg0为one。(22) 答案C)解析编译能通过,但不在控制台输出任何信息。程序只是实例化了一

28、个布尔类型的数组,且由于此 数组为局部变量,不会自动初始化,故其中值都为null。(23) 答案D)解析数组primes用于保存已经判断出来的质数,内层循环用来判断number是否为质数,判断的方法是用number去除数组中已判断的质数,看余数是否为0。若为0则不是质数,跳到外层循环。所以下画线处应是取余操作。(24) 答案B)解析接口只提供抽象方法,但并不提供对其的实现,并且方法默认都是公有的,而提供实例字段和 方法实现是继承接口类的任务,所以接口中没有成员方法和构造方法。接口中还可以定义常量,但不能定 义变量。(25) 答案C)解析StringBuffer是动态构造字符串的类,它能根据字符

29、串长度动态分配内存,且它的实现是同步的。与之对应的是StringBuilder,此类并不保证同步,但占用资源更少且执行速度更快,是JDK1.5新增的类。(26) 答案B)解析要求填写的是一个 DataOuputStream类的对象名称,根据程序下文中出现的dos. writelnt可知,对象名称为dos。(27) 答案D)的一个执行任务,一般作为参数传给新的Thread类。(28) 答案C)解析根据t. start()可知t应该是一个Thread类,排除A)。Thread类与Test类之间没有继承关系,所以排除D)。 B)没有指定创建线程的对象,因此t. start()语句不能使Test类的r

30、un方法运行。所以选 C)。(29) 答案B)解析Applet中图像由java. Image类的对象表示,使用getImage()方法获得图像,用Graphics类的drawlmage()方法显示图像。(30) 答案D)解析包名采用完整的英文描述符,应该由小写字母组成;方法名的第一个单词应该是动词,大小写 可混用,但首字母应小写;变量的命名应该大小写混用,但首字母小写;类名应采用具有特定意义的完整 描述符。(31) 答案C)解析RandomAccessFile实例支持对随机存取文件的读取和写入。从文件指针处开始读写文件记录, 并随着字节的读写移动指针。该文件指针可以通过getFilePo in

31、 ter方法读取,并通过seek方法设置。所以文件读写一个记录的位置是随机的。(32) 答案A)解析不能直接调用add方法将“1 标签加到JApplet对象上,而要先调用JApplet类的getContentPane() 方法获得此applet的eontentPane对象,然后再调用add方法将“ 1 ”标签对象加到此 contentPane对象上。(33) 答案A)解析Java中的文件和目录都看成文件,可通过File类的idDirectory()和isFile()方法判断某个 File是目录还是标准文件。(34) 答案B)解析synchronized关键字用于同步方法,而在同步一个代码块时,

32、用度synchronized(this)来实现。(35) 答案A)解析Java对象只有在实现 Serializable或Extemalizable接口后才可串行化,一些基本类型如String、Integer已实现Serializable接口故可串行化,而没有实现此接口的类型不能串行化。Transient关键字修饰的变量表示其值短暂易变的,在串行化时不作处理,待反串行化时再重新生成。二、填空题(1)答案【1】输出解析软件测试用例是为了有效发现软件缺陷而编写的包含测试目的、测试步骤、期望测试结果的特定集合。正确认识和设计软件测试用例可以提高软件测试的有效性,便于测试质量的度量,增强测试过程 的可管

33、理性。软件测试用例包括输入值集和输出值集。测试用例是软件测试的核心。答案【2】16解析在满二叉树中,叶子结点数目的计算公式为2n-1 ,其中n为树的深度。(3) 答案【3】24解析实现循环队列时,头指针指向第一个元素的前一个空间,尾指针指向最后一个元素。因此,此 时队列中6,7, 8.29这24个空间存有元素,即队列中有29-5=24令元素。(4) 答案【4】关系解析在关系数据库中,用关系(二维表结构)表示实体及其之间联系的模型称为关系数据模型。(5) 答案【5】数据定义语言解析数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,如查询与增、删、改等;数据控制语言:负责数据完整性、安全性的定义与检查及并发控制、故障恢复等。(6) 答案【6】构造方法解析构造方法名必须与类名一致,而类名第一个字母要求大写,故此方法名首字母也将大写。其他 成员方法命名规则遵循逆波兰式命名规则,首字母小写,后面每个单词的首字母大写。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论