收藏 分享(赏)

《Java语言程序设计》考试练习题(带答案)三.doc

上传人:sjpemail 文档编号:2828763 上传时间:2020-09-06 格式:DOC 页数:37 大小:521.44KB
下载 相关 举报
《Java语言程序设计》考试练习题(带答案)三.doc_第1页
第1页 / 共37页
《Java语言程序设计》考试练习题(带答案)三.doc_第2页
第2页 / 共37页
《Java语言程序设计》考试练习题(带答案)三.doc_第3页
第3页 / 共37页
《Java语言程序设计》考试练习题(带答案)三.doc_第4页
第4页 / 共37页
《Java语言程序设计》考试练习题(带答案)三.doc_第5页
第5页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、一、单项选择题1. 在C+语言中,对函数参数默认值描述正确的是:( D ) A) 函数参数的默认值只能设定一个B) 一个函数的参数若有多个,则参数默认值的设定可以不连续C) 函数参数必须设定默认值D) 在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值2. 假定 AB 为一个类,则执行 AB x ;语句时将自动调用该类的( B ) 。 A) 有参构造函数 B) 无参构造函数 C) 拷贝构造函数 D) 赋值构造函数3. 下述关于开关语句的描述中,( )是正确的。A) 开关语句中default子句可以没有,也可以有一个;B) 开关语句中每个语句序列中必须有break语句;C) 开关语

2、句中default子句只能放在最后;D) 开关语句中case子句后面的表达式可以是整形表达式。4. 关于对象概念的描述中,( ) 是错误的。A) 对象就是C语言中的结构变量;B) 对象代表着正在创建的系统中的一个实体;C) 对象是一个状态和操作(或方法)的封装体;D) 对象之间的信息传递是通过消息进行的;5. 下列给字符数组进行初始化中,( )是正确的。A) char s1 =12345abcd; B) char s23=xyz; C) char s33= a, x, y; D) char s423=xyz,mnp;6. 在int a3=1,3,2,4,5,6,0中,a22的值是 ( ) 。A

3、) 3 B) 2 C) 6 D) 47. 声明类test的拷贝构造函数的正确形式是 ( D ) 。 A) int test B) void test C) test(void) D) test(test&)8. 关于new运算符的下列描述中,( ) 是错的。A) 它可以用来动态创建对象和对象数组;B) 使用它创建的对象或对象数组可以使用运算符delete删除;C) 使用它创建对象时要调用构造函数;D) 使用它创建对象数组时必须指定初始值。9. 在 C+ 中有以下 4 条语句: static int hot=200;int &rad=hot; hot=hot+100;coutradendl; 执

4、行这 4 条语句后输出为:( ) 。 A) 0 B) 100 C) 300 D) 20010. 下列关于构造函数的描述中,错误的是 ( B ) 。A) 构造函数可以设置默认参数;B) 构造函数在声明对象时自动执行;C) 构造函数可以对静态数据成员进行初始化;D) 构造函数可以重载;11. 下面关于重载函数的说明中正确的是( )。 A) 重载函数必须具有不同的返回类型。 B) 重载函数形参的个数必须不同 C) 重载函数必须具有不同的形式参数表 D) 重载函数名可以不同 12. 下列关于C+函数的说明中,正确的是( )。 A) 内联函数就是定义在另一个函数体内部的函数 B) 函数体的最后一条语句必

5、须是 return 语句 C) C+要求在调用一个函数前必须先声明其原型 D) 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式 13. 已知函数原型为: void foo(int*, long &b); 实参定义为: int i; long f; 则正确的调用语句是( ). A) foo(i, &f); B) foo(i, f); C) foo(&i, f); D) foo(&i, &f); 14. C+中对于结构中定义的成员,其默认的访问权限为( )。 A) public B) protected C) private D) static 15. 下列关于类与对象的说法中,不正

6、确的是( )。 A) 对象是类的一个实例 B) 任何对象只能属于一个具体的类 C) 一个类只能有一个对象 D) 类与对象的关系和数据类型与变量的关系相似16. 下列关于构造函数的描述中错误的是( ) A) 构造函数可以设置默认参数 B) 构造函数在定义类对象时自动执行 C) 构造函数可以对静态数据成员进行初始化 D) 构造函数不可以重载 17. 类的析构函数的作用是( )。 A) 作为类的一般成员函数 B) 类的初始化 C) 对象的初始化 D) 对象的删除18. 以下关于静态数据成员的描述正确的是( )。A) 静态数据成员可以在类体中进行初始化 B) 静态数据成员不可以被类的实例调用C) 静态

7、数据成员不能受protected控制符的作用 D) 静态数据成员可以直接用类名调用 19. 下面关于友元函数的描述中正确的是( )。 A) 友元函数的实现必须在类的内部定义 B) 友元函数是类的成员函数 C) 友元函数破坏了类的封装性和隐藏性 C) 友元函数不能访问类的私有成员 20. 下面关于友元函数的描述中错误的是( )。 A) 如果类A是类B的友元,那么类B也是类A的友元 B) 如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员 C) 友元关系不能被继承 D) 如果类A是类B的友元,那么类A的所有成员函数都是类B的友元函数 21. 下列属于C+语句的是 。A)

8、 ; B) a=17 C) a+5 D) coutn22. 执行语句k=30;j=k+;后k和j的值分别为 。A) k=30,j=30 B) k=30,j=31C) k=31,j=30 D) k=31,j=3123. 若X是一个bool型变量,则X & 5b?a:cd?c:d ” 的值为 。A) 3 B) 2 C) 1 D) 425. 执行下列语句后的输出结果是 。int hot=100;int &rad=hot;hot+=100;coutrad y和x = y的逻辑值分别为 和 。 答:false、true4 顺序执行以下两个语句的输出结果是: 。 String s = “我喜欢学习Java

9、!”; System.out.println(s.length( ); 答:105 据程序的构成和运行环境的不同,Java源程序分为两大类: 程序和 程序。 答:Java Application 、 Java Applet ( 或 Application、Applet )6 如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。 答:4、class7 开发与运行Java程序需要经过的三个主要步骤为 、 和 。 答:编辑源程序、编译生成字节码、解释运行字节码9 一个Java Application源程

10、序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令: 、 。 答:javac MyJavaApplication.java 、java MyJavaApplication 10 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字符占用 字节内存空间,这样,无论是中文字符还是英文字符,每个都是占用 字节内存空间。 答:2、211 在Java程序中定义的类有两种成员: 、 。 答:域成员、方法成员13 创建一个名为 MyPackage

11、 的包的语句是 ,该语句应该放在程序的位置为: 。 答:package MyPackage ; 应该在程序第一句。14 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。 答:抽象方法、最终方法 (或 abstract方法、final方法)15 形式参数指的是方法被 时的参数行,实际参数是方法被 时所传递进去的变量或值。 答:定义、调用16 多态是指 ,在Java中有两种多态,一种是使用方法的 实现多态,另一种是使用方法的 实现多态。 答:一个程序中有多个同名的不同方法 覆盖 重载17 在Java程序中,通过类的定义只能

12、实现 重继承,但通过接口的定义可以实现 重继承关系。 答:单、多19 字符串分为两大类,一类是字符串常量,使用 类的对象表示;另一类是字符串变量,使用 类的对象表示。 答:String、StringBuffer20 设有数组定义:int MyIntArray = 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 ;则执行以下几个语句后的输出结果是 。 int s = 0 ;for ( int i = 0 ; i MyIntArray.length ; i + + ) s += MyIntArrayi ;System.out.println( s

13、); 答:550三、写出下列程序完成的功能。1 public class Sum public static void main( String args ) double sum = 0.0 ; for ( int i = 1 ; i = 100 ; i + + ) sum += 1.0/(double) i ; System.out.println( sum=+sum ); 答:计算 1/1+1/2+1/3+.+1/100 的值。2import java.io.* ; public class Reverse public static void main(String args ) in

14、t i , n =10 ; int a = new int10; for ( i = 0 ; i = 0 ; i ) System.out.print(ai+ ); System.out.println( ); 答:从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。4 import java.io.*;public class Class1 public static void main(String args ) int i , Max , Min ; int a = 12,67,8,98,23,56,124,55,99,100 ; Max = Min = a0;

15、 for ( i = 1 ; i a.length; i + ) if ( aiMax ) Max = ai; System.out.println( Max+ +Min ); System.下哪项可能包含菜单条(B)。A、PanelB、FrameC、AppletD、Dialog6若需要定义一个类域或类方法,应使用哪种修饰符?( A )A、staticB、packageC、private D、public7在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( A )。A、init()B、start() C、destroy() D、stop()8给出下面代码,关于该程序以下哪个说

16、法是正确的?( C )public class Person static int arr = new int5;public static void main(String a) System.out.println(arr0); A、编译时将产生错误B、编译时正确,运行时将产生错误C、输出零D、输出空9下列哪些语句关于Java内存回收的说明是正确的? ( B )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象10以下哪个关键字可以用来对对象加互斥锁?( B ) A、transient B、

17、synchronized C、 serializeD、static11以下代码段执行后的输出结果为( A )int x =3; int y =10;System.out.println(y%x);A、-1B、2C、1D、312有以下程序片段,下列哪个选项不能插入到行1。( D )1.2 .public class Interesting3. /do sth 4.A、import java.awt.*;B、package mypackage;C、class OtherClass D、public class MyClass 13. 设有下面两个赋值语句: a = Integer.parseInt

18、(“12”); b = Integer.valueOf(“12”).intValue(); 下述说法正确的是( D )。A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。C、a和b都是整数类对象并且值相等。D、a和b都是整数类型变量并且值相等。14FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?AA、OutputStreamB、FileC、InputStreamD、BufferedOutputStrea

19、m15在编写Java Applet程序时,需在程序的开头写上( B )语句。A、import java.awt.* ; B、import java.applet.Applet ;C、import java.io.* ; D、import java.awt.Graphics ;16类Parent、Child定义如下:1public class Parent2 public float aFun(float a, float b) throws3 IOException 45public class Child extends Parent67将以下哪种方法插入行6是不合法的。( A )A、flo

20、at aFun(float a, float b) B、public int aFun(int a, int b)throws Exception C、public float aFun(float p, float q) D、public int aFun(int a, int b)throws IOException 17在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。A、privateB、protectedC、private protectedD、public18、有以下方法的定义,请选择该方法的返回类型( D )。ReturnType method(byt

21、e x, double y)return (short) x/y*2;A、byteB、shortC、intD、double19、关于以下代码段的说法正确的是( D )1String s=abcde;2StringBuffer s1=new StringBuffer(abcde);3if(s.equals(s1)4 s1=null;5if(s1.equals(s)6 s=null;A、第1行编译错误,String的构造器必须明确调用B、第3行编译错误,因为s与s1有不同的类型C、编译成功,但执行时在第5行有异常抛出D、编译成功,过程中也没有异常抛出20、编译并运行以下程序,以下描述哪个选项是正确

22、的( C )1. class X2.protectied String toString( )i3.return super.toString();4.A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错三程序阅读题1以下程序的输出结果为 相等 。class StringTest1public static void main(String args) String s1=hello;String s2=new String(hello);if(s1.equals(s2)System.out.println(相等);elseSystem.out.p

23、rintln(不相等);2以下程序段的输出结果为 5 6 7 8 9 。public class TestArray public static void main(String args ) int i , j ;int a = 5,9,6,8,7; for ( i = 0 ; i a.length-1; i + ) int k = i; for ( j = i ; j a.length ; j+ ) if ( ajak ) k = j; int temp =ai; ai = ak; ak = temp; for ( i =0 ; ia.length; i+ ) System.out.pri

24、nt(ai+ ); System.out.println( ); 3写出以下程序的功能。import java.io.*;public class TestFile public static void main(String args) throws Exception BufferedReader br = new BufferedReader(new InputStreamReader(System.in); BufferedWriter bw = new BufferedWriter(new FileWriter(“input.txt); String s; while (true)

25、System.out.print(请输入一个字符串: ); System.out.flush(); s=br.readLine(); if (s.length()=0) break; bw.write(s); bw.newLine(); bw.close(); 功能:从键盘逐一输入字符串,逐一输出至input.txt文件中,直至输入空行。for(i=0;i2;i+)k=funa(a+);printf(%dn,k);A) 3 B) 0 C) 5 D) 4【2.38】下面程序的输出结果是_。#include void num() extern int x,y;int a=15,b=10;x=a-b

26、;y=a+b;int x,y;main() int a=7,b=5;x=a-b;y=a+b;num();printf(%d,%dn,x,y);A) 12,2 B) 5,25 C) 1,12 D) 输出不确定【2.39】下面程序的输出结果是_。main() int a=2,i;for(i=0;i3;i+)printf(%4d,f(a);f(int a) int b=0;static int c=3;b+;c+;return(a+b+c);A) 7 7 7 B) 7 10 13 C) 7 9 11 D) 7 8 9【2.40】下面程序的输出结果是_。#include try( ) static i

27、nt x=3;x+;return(x);main( ) int i, x;for(i=0; i=2; i+ )x=try( );printf(%dn, x);A) 3 B) 4 C) 5 D) 6【2.41】下面程序的输出结果是_。#include main( ) int x=1; void f1( ), f2( ); f1( );f2(x); printf(%dn, x);void f1(void) int x=3; printf(%d , x); void f2( x )int x; printf(%d , +x); A) 1 1 1 B) 2 2 2 C) 3 3 3 D) 3 2 1【

28、2.42】下面程序的输出结果是_。#include #define SUB(X,Y) (X)*Ymain() int a=3,b=4;printf(%dn,SUB(a+,b+);A) 12 B) 15 C) 16 D) 20【2.43】下面程序的输出结果是_。main() int a=1,2,3,4,5,6;int *p;p=a;printf(%d ,*p);printf(%d ,*(+p);printf(%d ,*+p);printf(%d ,*(p-); p+=3;printf(%d %d ,*p,*(a+3); A) 1 2 3 3 5 4 B) 1 2 3 4 5 6 C) 1 2 2

29、 3 4 5 D) 1 2 3 4 4 5【2.44】下面程序的输出结果是_。main() int a34=1,2,3,4,5,6,7,8,9,10,11,12;int *p=a;p+=6;printf(%d ,*p); /* */printf(%d ,*(*(a+6); /* */printf(%d ,*(a1+=2); /* */printf(%d,*(&a00+6);/* */ A) 7 7 7 7 B) 句语法错误 C) 句语法错误 D) 句语法错误【2.45】下面程序的输出结果是_。#define FMT %Xn#include main( ) static int a 4 = 1,

30、2,3,4,5,6,7,8,9,10,11,12 ;printf( FMT, a22); /* */printf( FMT, *(*(a+1)+1) ); /* */ A) 9 B) 11 C) A D) B A) 6 B) 7 C) 8 D) 前面三个参考答案均是错误的【2.46】下面程序的输出结果是_。#include main ( ) int a=1, 2, 3, 4, 5 ;int x, y, *p;p=&a0;x=*(p+2);y=*(p+4);printf(%d,%d,%dn, *p, x, y);A) 1,3,5 B) 1,2,3 C) 1,2,4 D) 1,4,5【2.47】下

31、面程序的输出结果是_。void ive(x,n)int x,n; int t,*p;p=x+n-1;while(xp) t=*x;*x+=*p;*p-=t;return;main() int i,a=1,2,3,4,5,6,7,8,9,0;ive(a,10);for(i=0;i10;i+)printf(%d ,ai);printf(n); A) 1 2 3 4 5 6 7 8 9 0 B) 0 9 8 7 6 5 4 3 2 1C) 1 3 5 7 9 2 4 6 8 0 D) 0 8 6 4 2 9 7 5 3 1【2.48】下面程序的输出结果是_。#include string.hfun(char *w,int n) char t,*s1,*s2;s1=w;s2=w+n-1;while(s1s2) t=*s1+;*s1=*s2-;*s2=t;main() static char *p=1234567;fun(p,strlen(p);printf(%s,p);A) 7654321 B) 1717171 C) 7171717 D) 1711717【2.49】下面程序的输出结果是_。#include char *p = abcdefghijklmnopq ;main( ) int i=0;while( *p+!=e

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育专区 > 大学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报