山东大学《高级语言程序设计》2022-2023学年期末试卷_第1页
山东大学《高级语言程序设计》2022-2023学年期末试卷_第2页
山东大学《高级语言程序设计》2022-2023学年期末试卷_第3页
山东大学《高级语言程序设计》2022-2023学年期末试卷_第4页
山东大学《高级语言程序设计》2022-2023学年期末试卷_第5页
全文预览已结束

下载本文档

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

文档简介

学院专业级学号学院专业级学号山东大学2022-2023学年1学期高级语言程序设计课程试卷A题号一二三四五六七八九十得分得分阅卷人得分阅卷人请注意1)请将答案写在如下的列表中,写在其他位置无效2)每题只有1个正确选项。123456789201.下列关于计算机系统和Java编程语言的说法,正确的是(A)。A.字节码程序是计算机硬件能够直接执行的程序。B.在程序中书写注释增加了代码的长度,降低了代码的运行时间。C.Java语言是面向对象的编程语言,所有的main方法都属于某一个类。D.在计算机系统中,信息以二进制形式或者字符串形式存储。2.下列选项中符合Java命名规则的标识符是(D)。A.4volunteerB.Abs$cC.Employee-123D._Student3.下列表达式正确的是(C)A.Byteb=254;B.floata=1.0;C.doubled=0.999f;D.charc=-12;A.4B.3C.2D.15.下列代码的执行结果是(C)。1.publicclassBoolTest{2.publicstaticvoidmain(String[]args){3.inta=5,b=-5,c=20;4.if((c--<30)||(b--<-5)&&(a++<5))5.System.out.println("a="+a+";b="+b+";c="+c);7.}A.a=5;b=-5;c=20B.a=5;b=-6;c=20C.a=5;b=-5,c=19D.a=6;b=-6;c=196.有语句Stringstr="helloworld";,以下操作哪个是合法的B)A.Stringt=str-"world";B.booleanflag=str.equals("hello");C.inti=str.length;D.doubled=5.2+str;7.关于方法设计,以下说法正确的是(D)A.调用一个具有返回值的方法时,必须用赋值语句,将方法的返回值赋予某个变量。B.return语句在方法里必须在最后一句的位置。C.一个方法中不可以调用同名的方法,否则会构成语法错误。D.数组名做方法的参数时,与引用类型变量做参数的实质是一样的。8.下列关于Java类构造和内存管理的描述,正确的是(D)。A.构造器(constructor)的返回类型是void。B.构造器(constructor)中不允许调用类的其他方法。C.和普通应用程序一样,Java程序由操作系统(如Windows)进行内存管理。D.Java运行环境(JRE)能够自动完成常规的内存管理,不用显式的释放内存。9.有关super关键字的使用,以下哪种说法是正确的(B)。A.super指向父类对象,仅在子类的方法中调用父类方法时使用。B.在一个类的main方法中,不能够使用super关键字调用父类的方法。C.父类中某方法一旦被子类覆盖(overrided就不能再被调用。D.如果在子类的构造器中不使用super关键字调用父类构造器,那么就不会调用父类的任何一个构造器。10.下列关于final关键字的说法,正确的是(A/D)。A.final关键字用来定义Java常量。B.final关键字可以用来修饰方法的形式化参数,表示这个形式化参数不会被使用。C.final关键字和finally关键字一样,可以用在异常处理中。D.关键字final可以用来修饰方法,表明该方法在任何派生类中不能被覆盖(overridden)。11.下列关于static关键字的说法,正确的是(C)。A.关键字staticfinal在修饰int类型变量的时候,必须同时定义变量的初始值为0。B.关键字static放在类前面做修饰符时,表示该类中的所有方法都为静态方法。C.关键字static只能用来修饰类里面的实例变量而不能用来修饰方法里的局部变量。D.关键字static主要用来修饰main方法,表明main方法是类里面独一无二的。12.对于Object类的说法,以下那个是正确的(A)。A.在equals()方法定义中,必须接受Object类型的形参,否则会有适用范围的局限。B.由于tostring()方法继承自Object,所以无法更改其形参列表,即不能在类中定义方法如tostring(inta,intb)。C.Exception类构建了Java的异常机制,没有继承自Object类。D.Object类等同于Serialiable接口。13.下列创建数组的方法那个是正确的(C)。A.String[]a={'a','b','c'};B.inttwoDim[][]=newint[][4];C.int[]a={'a','b','c'}D.int[][]a={1,2,3};14.假设一个方法在运行时,可能会出现异常MyException;如果希望此方法的调用者处理异常,在方法声明时正确的做法是(B)。A.throwMyExceptionB.throwsMyExceptionC.newMyExceptionD.extendsMyException15.关于Java中的接口(interface下面说法正确的是(C)。第1页共5页学院专业级学号学院专业级学号山东大学2022-2023学年1学期高级语言程序设计课程试卷A1.publicclassTwoOne{A.implementsA.implements关键字和extends关键字一样,都是实现继承的一种方式。B.Java不允许多继承,所以一个类只能实现一个接口。C.如果接口A继承自另外一个接口B,那么用extends关键字标明,如“AextendsB”。D.Java的接口只能有抽象方法,不能有属性声明,即使是staticfinal声明的属性。16.分析下面程序,请选择正确的输出结果(A)。int[]list={1,2,3,4};intsum=0;for(intindex=0;index<list.length;index++){switch(list[index]){default:1.publicclassNameClass{2.private1.publicclassNameClass{2.privatestaticintx;3.publicstaticvoidname(intx){4.x++;}5.publicstaticvoidmain(String[]args){6.name(x);7.System.out.println(x);case1:sum+=list[index];case2:case3:sum+=list[index]*2;break;}System.out.println(sum);}}}E.0F.117.E.0F.117.下列关于二维数组的使用,下列说法正确的是(D)。A.二维数组的行和列长度必须在初始化数组时明确指定。B.在二维数组中,每行的长度必须相同,否则数组无法使用。C.二维数组是连续存放的一维数组,可以当作一维数组使用。D.二维数组具有length属性,可以得到此数组有多少行。18.关于Java中的抽象类和abstract关键字的说法,下列说法正确的是(C)。A.抽象类中只能有抽象方法,所有方法必须用abstract关键字声明。B.abstract关键字可以用来定义类的属性,说明此属性可以不赋值。C.如果类中有一个方法是抽象方法,这个类必需用abstract关键字声明,成为抽象类。D.abstract关键字声明的方法,不能声明形式化参数(形参)。19.关于Java中的异常的说法,下列说法正确的是(A)。A.Java中所有的RuntimeException都是UncheckedException(不需检测的异常)。B.finally关键字的代码块中,不允许再出现try…catch…再次捕获异常。C.Java中所有自定义异常都继承自父类Exception,不允许继承自RuntimeException。D.try关键字可以单独使用,可以不与catch关键字或finally关键字一起使用20.关于Java程序设计和算法,下列说法正确的是(A)。A.所有的Java递归程序,都可以使用循环等非递归程序等价实现。B.二分查找先计算所有待查找数据的平均值,然后根据平均值进行划分。C.顺序线性查找需要先对所有待查找数据排序,然后再进行查找。D.选择排序算法使用二分查找算法得到最小(最大)的数,然后进行交换。请注意1)请将答案写在答题区域的空白中,置无效2)不需要写解题过程,只需写出最后答案。publicclassTwoTwo{staticString[]score={"a9","101"};staticintindex=0;publicstaticvoidmain(Stringargs[]){try{while(true)f();}catch(Exceptione){System.out.println("CaughtOtherException");}System.out.println("Successfulexecution");}publicstaticvoidf(){try{System.out.println(g());}catch(OutOfRangeExceptione){score[--index]="100";}}publicstaticintg()throwsOutOfRangeException{try{intnumber=Integer.parseInt(score[index++]);if(number>100)thrownewOutOfRangeException();returnnumber/10;}catch(NumberFormatExceptione){System.out.println("Improperscorevalue");}finally{System.out.println("finallyg()");}}}得分阅卷人第2}}得分阅卷人学院专业级学号学院专业级学号山东大学2022-2023学年1学期高级语言程序设计课程试卷A(6分)(6分)(8分)voidg(intx){f(x);}voidg(doublex){f(x);}voidg(longx){f(x);}voidf(intx){System.out.println("intinT:"+x);}voidf(doublex){System.out.println("doubleinT:"+x);}}publicclassSubTwoThreeextendsTwoThree{voidf(intx){System.out.println("intinS:"+x);}voidf(longx){System.out.println("longinS:"+x);}publicstaticvoidmain(String[]args){TwoThreet=newSubTwoThree();得分阅卷人得分阅卷人他位置无效2)请注意程序的对齐和缩进。1.编写一个程序,面向控制台(Console)输出所有的两位正整数(10到99)之间,所有能够被5整除同时不被3整除的数,每输出6个数换一行。(5分)t.g(20L);t.g(3.5f);t.g(3.5);}}4.publicclassTwoFour{publicclassThreeOne{publicstaticvoidmain(StringpublicclassThreeOne{publicstaticvoidmain(String[]args){//请在此处编写代码}}publicstaticintnum(inttime){if(time==1){System.out.println("第一天,摘的桃子数:"+total);System.out.println("第"+time+"天有"+total+"个桃子");total=total*2+1;time=time-1;num(time);}returntotal;}publicstaticvoidmain(String[]args){System.out.println(num(5));}}第3页共5页学院专业级学号学院专业级学号山东大学2022-2023学年1学期高级语言程序设计课程试卷A2.三维形状类Cube(立方体,包括长,宽,高)和Sphere(球,包括半径它们有一个公共的抽象父类3Dshape。1)补充完成下面的类,给出属性description存取(get和set)方法(2分)publicabstractclass3DShape{privateStringdescription;publicabstractdoublevolume();Shape(Stringdesc){descrption=desc;}//请在此处书写代码}2)补充完整类Cube及类Sphere,可以利用volume方法计

温馨提示

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

最新文档

评论

0/150

提交评论