版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编程笔试测试试题及参考的答案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)算法程序的长度是有限的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,如下:由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩编程笔试测试试题及参考的答案全文共10页,当前为第1页。(11)下列对Java特性的叙述中,错误的是编程笔试测试试题及参考的答案全文共10页,当前为第1页。A)在编写Java子类时可以自由地增加新方法和属性B)Java的Applet要求编程首先创建JFrame窗口C)Java语言用解释器执行字节码D)Java中的类一般都有自己的属性和方法(12)下列对Java源程序结构的叙述中,错误的是A)import语句必须在所有类定义之前B)接口定义允许0或多个C)JavaApplication中的publicclass类定义允许0或多个D)package语句允许0或1个(13)下列变量定义中,正确的是A)long1=123LB)long1=3.14156fC)inti="k"D)doubled=1.55989E2f(14)下列Java表达式19/3(int)71.7-2*37%3(double)1/8+3计算结果是A)6.3B)6C)6.4D)6463676521212.53.1252.53.125(15)switch语句中表达式(expression)的值不允许用的类型是A)byteB)intC)booleanD)char(16)下列语句能给数组赋值而不使用for循环的是A)myArray{[1]="One";[2]="Two";[3]="Three";}B)Strings[5]=newString[]{"Zero","One","Two","There","Four"};C)Strings[]=newString[]{"Zero","One","Two","There","Four"};D)Strings[]=newString[]=|"Zero","One","Two","There","Four"};(17)Swing与AWT相比新增的布局管理器是A)CardLayoutB)CardLayoutC)CardBagLayoutD)BoxLayout(18)下列语句中正确的是A)System.out.println(1+'1');B)inti=2+"2";C)Stings="on"+'ong';D)byteb=257;(19)下列关键字中可以表示常量的是A)finalB)defaultC)privateD)transient(20)在Java语言中,被称为内存分配的运算符是A)newB)instanceofC)[]D)()(21)阅读下面程序编程笔试测试试题及参考的答案全文共10页,当前为第2页。pubicclassCycle{编程笔试测试试题及参考的答案全文共10页,当前为第2页。publicstaticvoidmain(Stringargs[]){System.out.println(args[0]);在命令行中输入javaCycleonetwo,该程序输出结果是A)CycleB)oneC)twoD)上述A、B、C、均不对(22)阅读下面程序publicclassMyVal{publicstaticvoidmain(Stringargs[]){MyValm=newMyVal();m.amethod();}publicvoidamethod(){booleanb[]=newBoolean[5];}}程序编译或运行结果是A)1B)nullC)""D)编译不能过(23)阅读下面求质数的程序importjava.lang.Math.*;publicclassMorePrimesTest{publicstaticvoidmain(String[]args){long[]primes=newlong[20];primes[0]2L;primes[1]3L;longnumber=5L;outer:for(intcount=2;count<primes.length;number+=2L){longlimit=(long)Math.ceil(Math.sqrt((double)number));for(inti=1;i<count&&primes[i]<limit;i++){if(number______primes[i]==0L){cotinueouter;}}for(intj=0;j<primes.length;j++){longn=primes[j];System.out.println(n);}}}在程序下画线处填入的正确选项是A)&B)*C)/D)%(24)接口中,除了抽象方法之外,还可以含有A)变量B)常量C)成员方法D)构造方法(25)StringBuffer类字符串对象的长度是A)固定B)必须小于16个字符编程笔试测试试题及参考的答案全文共10页,当前为第3页。C)可变D)必须大于16个字符编程笔试测试试题及参考的答案全文共10页,当前为第3页。(26)阅读下面写文件的程序importjava.io.*;publicclassWriteFile{publicstaticvoidmain(String[]A){int[]myArray={10,20,30,40};try{FileOutputStreamf=newFlieOutStream("ints.dat");DataOutputStream______=newDataOutputStream(f);for(inti=0;i<myArray.length;i++)dos.writeInt(myArray[i]);dos.close();System.out.prinfln("Havewrittenbinaryfileints.dat");}catch(IOExceptionioe){System.out.println("IOException");}}在程序下画线处填入的正确选项是A)myArrayB)dosC)ioeD)ints(27)阅读下面程序publicclassTest2______{publicstaticvoidmain(String[]args){Threadt=newTest2();t.start();}publicvoidrun(){System.out.priatln("Howareyou.");}}在程序下画线处填入的正确的选项是A)implementsThreadB)extendsRunnableC)implementsRunnableD)extendsThread(28)阅读下面程序publicclassTestimplementsRunnable{publicstaticvoidmain(String[]args){_______________________________________;t.start();}publicvoidmR(){System.out.println("Hello!");}在程序下画线处填入正确选项是A)Testt=flewTest()B)Threadt=newThread();C)Threadt=newThread(newTest());编程笔试测试试题及参考的答案全文共10页,当前为第4页。D)Testt=newThread();编程笔试测试试题及参考的答案全文共10页,当前为第4页。(29)下列关于Applet中加载图像的说法,错误的是A)可以使用Applet类的getImage()方法获得图像对象B)程序员必须自行定义获得图像及显示图像的类和方法C)图像由一个java.Image类的对象来表示D)可以使用Graphics类的drawImage()方法显示图像(30)下列带下画线的标识符符合Java命名约定的是A)packagecom.Bi.hrB)publicclassxyzC)intID)voidsetCustomerName()(31)RandomAccessFile是java.io包中的一个兼有输入输出功能的类。由于它是随机访问,所以文件读写一个记录的位置是A)起始B)终止C)任意D)固定(32)阅读下面Applet程序importjavax.swing.*;importjava.awt.*;publicclassSwintgAppletextendsJApplet{JLabel1=newJLabel("ThisisaSwingApplet.");publicvoidinit(){________________________________}}在程序下画线处填入正确的选项是A)ContainercontentPane=getContenPane();cotentPane.add(1);B)JPanelcomtenPane=newJpane();contentPane.add(1);C)contentPane.add(1);D)add(1);(33)在Java中,“目录”被看作是A)文件B)流C)数据D)接口(34)阅读下面实现堆栈类并发控制的部分代码publicclassDataStack{privateintidx=0;privateint[]data=newint[8];publicvoidpush(inti){.________________{data[idx]=i;idx++;}}}……}在程序下画线处填入正确选项是A)synchronizedB)synchronized(this)C)synchronized()D)synchronized(idx)(35)下列关于对象串行化的说法错误的是A)Java中,默认所有类的对象都可串行化B)在对象串行化时,不保存对象所属类的构造方法编程笔试测试试题及参考的答案全文共10页,当前为第5页。C)在实现Serializeble接口的类中,用transient关键字可使某些数据不被串行化编程笔试测试试题及参考的答案全文共10页,当前为第5页。D)ObjectInputStream和ObjectOutputStream类都支持对象的读和写二、填空题注意:以命令关键字填空的必须拼写完整。(1)测试用例包括输入值集和【1】值集。(2)深度为5的满二叉树有【2】个叶子结点。(3)设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有【3】个元素。(4)在关系数据库中,用来表示实体之间联系的是【4】。(5)在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,【5】负责数据的模式定义与数据的物理存取构建。(6)按照Java中的命名约定,方法名的起始字母一般都是小写,但是【6】方法例外。(7)Swing中的按钮类是【7】。(8)Java中的三元运算符是【8】。(9)Java输入/输出流中包括字节流、【9】、文件流、对象流及管道流。(10)在Java中,对象流以【10】方式传送和存储。(11)请将下面程序补充完整。publicclassPowerCalc{publicstaticvoidmain(String[]args){doublex=5.0;System.out.println(x+"tothepower4is"+power(x,4));System.out.println("7.5tothepower5is"+power(7.5,5));System.out.println("7.5tothepower0is"+power(7.5,0));System.out.println("10tothepower-2is"+power(10,-2));}staticdouble【11】(doublex,intn){if(n>1)returnx*power(x,n-1);elseif(n<0)return1.0/power(x,-n);elsereturnn==0?1.0:x;}}(12)请将下面的Applet程序补充完整。importjava.awt.*;importjava.applet.*;publicclassHi【12】{publicvoidpaint(Graphicsg){g.drawString("Hi!",25,25);}}(13)Swing中的组件往往采用MVC结构,MVC指的是Model、View和【13】。(14)Java中,可以通过建立java.lang.【14】类或其子类的实例创建和控制线程。(15)如果一个线程调用【15】()方法,将使该线程进入休眠状态。编程笔试测试试题及参考的答案全文共10页,当前为第6页。参考答案及解析编程笔试测试试题及参考的答案全文共10页,当前为第6页。一、选择题(1)[答案]C)[解析]程序流程图是人们对解决问题的方法、思路或算法的一种描述。其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。带箭头的线段在数据流程图中表示数据流。带箭头的线段在程序流程图中表示控制流。题中给出的选项中,在图元之间用带有箭头的线段表示图元关系。在模块之间用带有箭头的线段表示调用关系。构成程序流程图的基本图符及含义:→或↓表示控制流;□表示加工步骤;
表示逻辑条件。(2)[答案]A)[解析]结构化程序设计的原则包括:“自顶而下,逐步求精”的设计思想,“独立功能,单出、入口”的模块化设计等。多态性是面向对象程序语言的特征。(3)[答案]B)[解析]模块划分应遵循的准则包括模块之间的耦合和内聚。一般来说,要求模块之间的耦合尽可能地低,即模块尽可能独立,要求模块的内聚程度尽可能地高,即高内聚、低耦合的原则。(4)[答案]B)[解析]需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等4方面。产生的主要文档为软件需求规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。(5)[答案]A)[解析]算法具有5个特性:①有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的。②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。⑤输出:一个算法有一个或多个输出。(6)[答案]D)[解析]在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都是n(n-1)/2,堆排序需要比较的次数为nlog2n。(7)[答案]B)[解析]在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的。(8)[答案]C)[解析]数据库的逻辑设计分为:①将概念模型转换成一般的数据模型;②将一般的数据模型转换为特定的数据库管理系统所支持的数据模型。把概念模型转换成关系数据模型就是把E-R图转换成一组关系模式。(9)[答案]D)[解析]在关系运算中,交的定义如下:设R1和R2为参加运算的两个关系,它们具有相同的度n,且相对应的属性值取自同一个域,则R1∩R2为交运算,结果仍为度等于n的关系,其中,交运算的结果既属于R1又属于R2。(10)[答案]C)[解析]“选课SC”表是“学生S”表和“课程C”表的映射表,主键是两个表主键的组合。(11)[答案]B)[解析]编写自己的Applel时不需要创建JFrame窗口,但需要继承Applet类,并嵌入html网页中运行。(12)[答案]C)[解析]Javaapplication中的publicclass定义只能是0个或1个,不能为多个,而且如果是1个的话,文件名要与publicclass修饰的类名相同。编程笔试测试试题及参考的答案全文共10页,当前为第7页。(13)[答案]A)编程笔试测试试题及参考的答案全文共10页,当前为第7页。[解析]根据Java向下转型的特点,B)需要强制类型转换,C)字符串类型不能赋给整型,D)可以自动类型转换,但不推荐使用。(14)[答案]D)[解析]“/”表示整除,“int”将71.7强制转化为整数71后再做减法运算,“%”是取余运算,“double”将1/8转化成double类型后做加法运算。(15)[答案]C)[解析]switch语句用于多重选择,其参数可以是字节型、整型或字符型;而布尔型只有两个值(True、False),一般用于if语句。(16)[答案]C)[解析]A)、D)语法不正确,B)中s[5]的形式只能通过for循环的格式进行赋值,而不能直接赋值。C)中表达式左侧的“[]”说明现在定义一个数组,不需要指明数组长度,而表达式右侧“[]”在后面直接紧跟初始内容时也是不需要指定数组大小的,数组大小直接由初值长度决定。(17)[答案]D)[解析]AWT的布局管理器有FlowLayout、GridLayout、BorderLayout、CardLayout和GridBagLayout。Swing的布局管理器有CenterLavout、BoxLayout、OverlayLayout和SpringLayout。(18)[答案]A)[解析]B)整型不能与字符串类型直接相加,D)中“+”表示两个字符串的拼接,“one”是非法字符串常量声明,D)中赋值类型不匹配。(19)[答案]A)[解析]final关键字声明的变量不能再修改,即为常量。default关键字用于在switch分支里作默认分支项;private关键字则用于声明私有变量和方法类;transient关键字用于修饰变量以表明此变量易变,不需要串行化处理。(20)[答案]A)[解析]在Java中对内存进行动态分配的只有通过使用关键字new。instanceof用于测试某个对象是否为某个类的实例;[]、()是与数组、函数声明或运算相关的符号,不涉及内存分配。(21)[答案]B)[解析]main方法中的参数args是String类型的数组,所以当在命令行中输入参数one、two时,args数组中有两个元素:arg[0]=one,arg[1]=two。所以打印输出arg[0]为one。(22)[答案]C)[解析]编译能通过,但不在控制台输出任何信息。程序只是实例化了一个布尔类型的数组,且由于此数组为局部变量,不会自动初始化,故其中值都为null。(23)[答案]D)[解析]数组primes[]用于保存已经判断出来的质数,内层循环用来判断number是否为质数,判断的方法是用number去除数组中已判断的质数,看余数是否为0。若为0则不是质数,跳到外层循环。所以下画线处应是取余操作。(24)[答案]B)[解析]接口只提供抽象方法,但并不提供对其的实现,并且方法默认都是公有的,而提供实例字段和方法实现是继承接口类的任务,所以接口中没有成员方法和构造方法。接口中还可以定义常量,但不能定义变量。(25)[答案]C)[解析]StringBuffer是动态构造字符串的类,它能根据字符串长度动态分配内存,且它的实现是同步的。与之对应的是StringBuilder,此类并不保证同步,但占用资源更少且执行速度更快,是JDK1.5新增的类。(26)[答案]B)[解析]要求填写的是一个DataOuputStream类的对象名称,根据程序下文中出现的dos.writeInt可知,对象名称为dos。编程笔试测试试题及参考的答案全文共10页,当前为第8页。(27)[答案]D)编程笔试测试试题及参考的答案全文共10页,当前为第8页。[解析]Thread类是多线程基类,多线程启动类必须继承此类。而实现Runnable接口的类能作为多线程的一个执行任务,一般作为参数传给新的Thread类。(28)[答案]C)[解析]根据t.start()可知t应该是一个Thread类,排除A)。Thread类与Test类之间没有继承关系,所以排除D)。B)没有指定创建线程的对象,因此t.start()语句不能使Test类的run方法运行。所以选C)。(29)[答案]B)[解析]Applet中图像由java.Image类的对象表示,使用getImage()方法获得图像,用Graphics类的drawImage()方法显示图像。(30)[答案]D)[解析]包名采用完整的英文描述符,应该由小写字母组成;方法名的第一个单词应该是动词,大小写可混用,但首字母应小写;变量的命名应该大小写混用,但首字母小写;类名应采用具有特定意义的完整描述符。(31)[答案]C)[解析]RandomAccessFile实例支持对随机存取文件的读取和写入。从文件指针处开始读写文件记录,并随着字节的读写移动指针。该文件指针可以通过getFilePointer方法读取,并通过seek方法设置。所以文件读写一个记录的位置是随机的。(32)[答案]A)[解析]不能直接调用add方法将“1”标签加到JApplet对象上,而要先调用JApplet类的getContentPane()方法获得此applet的eontentPane对象,然后再调用add方法将“1(33)[答案]A)[解析]Java中的文件和目录都看成文件,可通过File类的idDirectory()和isFile()方法判断某个File是目录还是标准文件。(34)[答案]B)[解析]synchronized关键字用于同步方法,而在同步一个代码块时,用度synchronized(this)来实现。(35)[答案]A)[解析]Java对象只有在实现Serializable或Extemalizable接口后才可串行化,一些基本类型如String、Integer已实现Serializable接口故可串行化,而没有实现此接口的类型不能串行化。Transient关键字修饰的变量表示其值短暂易变的,在串行化时不作处理,待反串行化时再重新生成。二、填空题(1)[答案]【1】输出[解析]软件测试用例是为了有效发现软件缺陷而编写的包含测试目的、测试步骤、期望测试结果的特定集合。正确认识和设计软件测试用例可以提高软件测试的有效性,便于测试质量的度量,增强测试过程的可管理性。软件测试用例包括输入值集和输出值集。测试用例是软件测试的核心。(2)[答案]【2】16[解析]在满二叉树中,叶子结点数目的计算公式为2n-1,其中n为树的深度。(3)[答案]【3】24[解析]实现循环队列时,头指针指向第一个元素的前一个空间,尾指针指向最后一个元素。因此,此时队列中6,7,8...29这24个空间存有元素,即队列中有29-5=24令元素。(4)[答案]【4】关系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理查房中的护理研究
- 2026年量子经典混合计算架构设计与应用场景
- 2026年电池壳体再生金属与再生塑料应用
- 2026年好房子建设与去库存工作有机结合催化剂效应解析
- 2026年消防安全逃生自救培训
- 特殊需要儿童的特征及教育策略
- 2026年社区防溺水
- 循环系统护理的评估方法
- DB15-T 3559-2024 规模化猪场商品猪养殖技术规范
- 护理人员职业发展与继续教育
- 四宫格数独课件
- 科室耗材管理制度
- 小学趣味数学:小熊开店
- 甘肃省兰州市树人中学2024年中考数学全真模拟试题含解析
- 天津市河西区2024年九年级结课质量调查英语试卷
- 2024外研版初中英语单词表汇总(七-九年级)中考复习必背
- 六安职业技术学院单招《职业技能测试》参考试题库(含答案)
- 有关物业管家培训课件
- 第二章 教育研究的选题与设计
- 新改版苏教版四年级下册科学全册知识点(精简版)
- 口腔颌面外科学课件:颌骨骨髓炎
评论
0/150
提交评论