山东大学《高级语言程序设计》2020-2021学年期末试卷_第1页
山东大学《高级语言程序设计》2020-2021学年期末试卷_第2页
山东大学《高级语言程序设计》2020-2021学年期末试卷_第3页
山东大学《高级语言程序设计》2020-2021学年期末试卷_第4页
山东大学《高级语言程序设计》2020-2021学年期末试卷_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

学院班级学院班级山东大学高级语言程序设计课程试卷A号一二三四五六七八九十得分得分阅卷人一、不定项选择题(40分,2*20)注意1)每道题目至多有2个正确选项,即是单选或者复选题。(2)请将正确答案填写在如下的表格中,填写在其它地方无效。123456789DBA/CA/DBCCADB20DACAB/DBAC/DCD1.程序执行结束后,正确输出结果应为200,实际输出结果为100,则程序错误的类型为A.语法错误B.编译错误C.运行错误D.逻辑错误2.编译Java源程序文件产生的字节码文件的扩展名为:3.选出合法的Java标识符A._sys1_lllB.2mailC.Changed12D.class4.选出正确的表达式A.doublea=1.0;B.Doublea=newFloat(1.0);C.bytea=1340;D.Bytea=120;5.在以如下的命令行方式运行Java类Test中的main方法,怎样才能在main(Stringargs[])方法中访问单词"first"?javaTestthefirstsnowthesecondsnow.A.args[0]B.args[1]C.args[2]D.args[3] 6.下列语句序列执行后,x的值是:inta=3,b=4,x=5;if(++a==b)x=++a*x;A.5B.20C.25D.357.代码片段如下,执行后的输出结果是什么?inti=11,j=5;switch(i/j){case3:j+=i;case2:j+=2;case4:j+=4;break;case1:j+=1;}System.out.pirntln(j);运行结果是:A.6B.7C.11D.228.在Java中,用Package语句说明一个包时,该包的层次结构必须是:A.与文件目录的层次相同B.与文件的结构相同C.与文件类型相同D.与文件大小相同9.选出下列关于break、continue和return的说法中正确的选项。A.对于多重嵌套循环,break跳出所有循环而到达最外层,顺序执行后面的程序。B.在循环语句中,continue语句和break语句作用相同。C.break语句只在循环语句中使用。D.在循环中执行return语句,将跳出所有循环。10.下面是有关子类继承父类构造函数的描述,其中正确的是:A.创建子类的对象时,先运行完子类自身的构造函数,然后调用父类的构造函数。B.子类通过使用super关键字,调用父类的构造函数。C.子类无条件地继承父类不含参数的构造函数。D.子类无法继承父类的构造函数。11.比较s1和s2指向的两个字符串的长度是否相等,如下表达式中正确的是:A.(s1.equals(s2))B.(s1.length().equals(s2))C.(s1.length().equals(s2.length())D.(s1.length()==s2.length())学院班级学院班级山东大学高级语言程序设计课程试卷A12.下面说法正确的是A.final可修饰类、属性、方法。B.abstract可修饰类、属性、方法。C.定义抽象方法需有方法的返回类型、名称、参数列表和方法体。D.用final修饰的变量,在程序中可对这个变量的值进行更改。13.选出下列关于继承的叙述中正确的选项A.在java中允许多重继承B.在java中一个类只能实现一个接口。C.Java的单一继承使代码更可靠。D.在java中一个类不能同时继承一个类和实现一个接口。14.下列关于abstract关键字的说法,正确的是:A.如果将类中的一个方法声明为abstract,那么这个类本身必须声明为abstract。B.abstract类中只能有abstract方法,类所有方法定义必须是abstract的。C.abstract类中不能包含final修饰的方法。D.absract方法在其子类中必须被实现。15.执行下列代码后,选出正确的结果String[]s=newString[10];B.s[9]为null;16.下列说法正确的是A.数组属于一种原生数据类型B.数组是一种对象C.可以如下定义数组:”int[][]number={31,23,33,43,35,63};”D.数组是链表(List)的一种特别实现17.下列代码段执行后的结果是什么?1publicstaticvoidmain(String[]args){2Objectobj=newint[]{1,2,3};3int[]array=(int[])obj;4for(inti=0;i<array.length;i++)5System.out.println(array[i]);}B.第2行编译错误C.第3行编译错误D.第4行编译错误18.选出下列与方法publicvoidadd(inta){}为合理的重载方法。A.publicintadd(inta) B.publicvoidadd(longa)C.publicvoidadd(inta,intb)D.publicvoidadd(floata)19.选出下列关于异常的说法中正确的答案。A.程序中所有的可能出现的异常必须在catch中捕获,否则将引起编译错误。B.因为RuntimeException将由Java虚拟机做特别的处理,不允许编程序定义RuntimeException的子类。C.在方法定义中以throws标识出可能出现的异常,即使在方法调用时异常没有抛出。D.finally段中的语句,不允许再次出现异常。20.已知有下列类的说明,则插入下列哪些语句是正确的?publicclassTest{privatefloatf=1.0f;intm=12;staticintn=1;publicstaticvoidmain(Stringarg[]){Testt=newTest;}}A.t.f;B.this.n;C.Test.m;D.Test.n;得分阅卷人二、读程序题,写出下列各段程序的执行结果(30分)1.publicclassTwoOne{publicstaticvoidmain(String[]args){intnumber=21;while(number>0){System.out.print(number++%3+"\t");number/=3;}学院班级学院班级山东大学高级语言程序设计课程试卷A2.publicclassTwoTwo{double[][]Matrix;publicstaticvoidmain(Stringargs[]){TwoTwomm=newTwoTwo();mm.mMatrix(a,b);mm.display();}publicvoidmMatrix(double[][]a,double[][]b){Matrix=newdouble[a.length][b[0].length];for(inti=0;i<a.length;i++){for(intj=0;j<b[0].length;j++){for(intk=0;k<a[0].length;k++){Matrix[i][j]=Matrix[i][j]+a[i][k]*b[k][j];}}}}publicvoiddisplay(){for(inti=0;i<Matrix.length;i++){for(intj=0;j<Matrix[0].length;j++){System.out.print(Matrix[i][j]+"");}System.out.println("");}}} 3.classMyExpextendsException{MyExp(){super("f0");}}publicclassTwoThree{publicvoidf1(intn){System.out.println("f1-1");f2(n);System.out.println("f1-2");}publicvoidf2(intn){System.out.println("f2-1");try{System.out.println("f2-2");f3(n);System.out.println("f2-3");}catch(MyExpe){System.out.println(e.getMessage());}finally{System.out.println("f2-4");}System.out.println("f2-5");}publicvoidf3(intn)throwsMyExp{System.out.println("f3-1");if(n<0){thrownewMyExp();}System.out.println(n);System.out.println("f3-2");}publicstaticvoidmain(String[]args){TwoThreeexp=newTwoThree();exp.f1(-4);}}学院班级学院班级山东大学高级语言程序设计课程试卷A4.publicclassTwoFour{publicstaticvoidpermute(Stringstr){char[]strArray=str.toCharArray();permute(strArray,0,strArray.length-1);}publicstaticvoidpermute(char[]list,intlow,inthigh){inti;if(low==high){Stringcout="";for(i=0;i<=high;i++)cout+=list[i];System.out.println(cout);for(i=low;i<=high;i++){chartemp=list[low];list[low]=list[i];list[i]=temp;permute(list,low+1,high);temp=list[low];list[low]=list[i];list[i]=temp;}}}publicstaticvoidmain(String[]args){permute("123");}} 得分阅卷人三、写程序题,在指定位置书写相应的程序代码(30分)1.编写一个方法voidDivideBySeven(intstart,intend),输入两个非负整数start和end(end大于start打印出两个整数之间所有可以被7整除的整数(5分)voidDivideBySeven(intstart,intend){}学院班级学院班级 山东大学高级语言程序设计课程试卷A2.(1)补充完成下面的类,给出属性description存取(get和set)方法(2分)publicabstractclassShape{privateStringdescription;Shape(Stringdesc){descrption=desc;}//在此处书写代码publicabstractdoublearea();}(2)补充完整类Rectangle及类Circle,可以利用area方法计算面积(6分)classRectangleextendsShape{privatedoublewidth,height;//在此处书写代码}classCircleextendsShape{privatedoubleradius//在此处书写代码}(3)完成下面的方法,可以将数组s中的所有形状(包括Rectangle及Circle)按照面积大小升序排列(4分)staticvoidsort(Shape[]s){}3.有下面链表节点类ListNode的定义,完成下面线性链表类String

温馨提示

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

评论

0/150

提交评论