面向对象程序设计复习题及参考答案

合集下载

面向对象程序设计复习试题(答案)

面向对象程序设计复习试题(答案)

语法扩充1.1选择题在C++中用(D)能够实现将参数值带回。

a)数组b)指针c)引用d)上述ABC都可考虑函数原型voidtest(inta,intb=7,char*ch="*"),下面的函数调用中,属于不合法调用的是:(C)A)test(5)B)test(5,8)C)test(6,"#")D)test(0,0,"*");已知:intm=10;下列表示引用的方法中,正确的是:(C)A)C)在A)对在A)C)A)C)A)intFunc(int,int,int);B)doubleFunc(int,int);C)doubleFunc(double,double);D)doubleFunc(int,double);下面的哪个保留字不能作为函数的返回类型(C)A)voidB)intC)newD)long一个函数功能不太复杂,但要求被频繁调用,选用(A)。

A.内联函数B.重载函数C.递归函数D.嵌套函数已知函数f的原型为:voidf(int&a,char*b);变量s,t的定义是:ints;chart[]="ABCD";把s和t分别作为第一参数和第二参数来调用函数f,正确的调用语句是(C)Af(&s,&t);Bf(&s,t);Cf(s,t);Df(s,&t);若定义cin>>str;当输入MicrosoftVisualStudio6.0!所得结果是str=(B)。

A、MicrosoftVisualStudio6.0!B、MicrosoftC、MicrosoftVisualD、MicrosoftVisualStudio6.0.函数模板(C)。

A、代表某一具体函数B、与模板函数是同一个函数C、与某一个具体的数据类型连用D在ABCDAC1.21。

23int*&p=c;p=&b;4、假设有如下函数定义:voidFun(intx,inty=100);则语旬Fun(5)语句__Fun(5,100)_等价。

C++面向对象技术复习题汇总(含答案)

C++面向对象技术复习题汇总(含答案)

C++面向对象技术复习题汇总(含答案)面向对象程序设计C++复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C++源程序文件名的缺省的扩展名为()A、bccB、c++C、cppD、vcc2、面向对象的程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。

A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、intD、无4、对于C++的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是()A、int *p=new int(10);B、int *p=new int[10]C、int *p=new int;D、int *p=new int[40](0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()A、name[3]=’a’; B、name=”lin”;C、name=new char[5]; D、cout<<name[3];< bdsfid="94" p=""></name[3];<>7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);8、假设已经定义:const char *name=”chen”;, 下面的语句中错误的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);9、下面的类型声明中正确的是:( )A、int &a[4];B、int &*p;C、int &&qD、int i,*p=&i;10、假设定义了函数模板()templateT max(T x,T y){ return(x>y)?x:y;}并定义了int i;char c;错误的调用语句是:()A、max(i,i)B、max(c,c)C、max((int)c,i);D、max(i,c)11、模板的使用是为了()A、提高代码的可重用性B、提高代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()A、说明语句int x[‘a’]错B、二个语句都错C、语句cin>>x 错D、二个语句正确,没有语法错13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )A、f(py[10],n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C++中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y) {…… }(2) int f(int a,float b){…… }(3) int f(int i,int j){…… }(4) float k(int x){…… }是重载函数。

成人教育 《面向对象程序设计》期末考试复习题及参考答案

成人教育 《面向对象程序设计》期末考试复习题及参考答案

面向对象程序设计复习题二一、填空1.程序的三种常见结构是、、,其中结构是程序的默认结构。

2.同名方法给出不同的实现,并通过参数类型或个数进行区分,称为。

3.和“继承”匹配的概念是。

4.由类构建对象的过程称为。

5.抽象类是含有的类。

6.实现软件复用有两种方式,分别为、、。

7.有定义const int *p,p称为。

8.通过继承产生的类称为。

9.virtual关键字在C++中有两个用处,分贝是,和。

10.方法重载和实现了多态性。

11.请给出C++外的另外一种支持面向对象设计语言。

12.类的三个要素是、、。

13.对象释放前执行的函数是。

二、名词解释1、构造函数2、对象3、运算符重载4、析构函数5. 面向对象6. 继承三、简答1.比较类和结构体?2.重载的意义?3.抽象类的作用和意义?4.组合与继承的区别?四、辩析1.任何父类对象都可以被子类对象替代。

2.public修饰符号破坏了数据的开放性。

3.private继承方式不能产生子类。

4.不能实例化的类一定是抽象类。

五、综合回答1.简述多态的实现机制。

2.谈谈多态的意义。

3.面向对象程序设计思想的优点和缺点。

面向对象程序设计复习题二答案一、填空(1)顺序(2)选择(3)循环(4)顺序(5)函数重载(6)抽象(7)实例化(8)纯虚函数(9)继承(10) 组合(9)和(10)不区分顺序(11)常量指针(12)派生类(13)虚函数(14)虚拟继承(13)和(14)不区分顺序(15)覆盖(16)Java或者C#(17)类的标识(18)类的状态(19)类的操作(17)(18)(19)不区分顺序(20)析构函数二、名词解释1、当类实例化时自动调用的成员函数,负责实现对象的初始化2、按照数据类型分配的内存空间,可以实现方法的调用3、将系统定义的运算符操作对象的类型扩展的过程,一般针对自定义类型4、对象空间释放之前自动调用的函数5、是程序设计思想,相对面向过程而言更加强调封装性6、两个类之间的一种关系,其中一个类的某个成员类型是另一个类三、简答1、C++中类和结构体具有同等的功能,唯一区别是类缺省成员属性是private,而结构体缺省为public2、重载的意义在于丰富了动作的多样性,但是并不加重程序员的负担。

总《面向对象程序设计c++》综合复习题集及答案详解

总《面向对象程序设计c++》综合复习题集及答案详解

总《面向对象程序设计c++》综合复习题集及答案详解一、单选题1. C++源程序文件的缺省扩展名为( A )。

A. cppB. exeC. objD. lik2. 由C++源程序文件编译而成的目标文件的缺省扩展名为( C )。

A. cppB. exeC. objD. lik3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( B )。

A. cppB. exeC. objD. lik 4. 编写C++程序一般需经过的几个步骤依次是( )。

A. 编译、编辑、连接、调试 B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接5. 以下标识符中不全是保留字的是()。

A. case for intB. default then whileC. bool class longD. gotoreturn char6. 能作为C++程序的基本单位是( )。

A. 字符B. 语句C. 函数D. 源程序文件 7. 程序中主函数的名字为()。

A. mainB. MAINC. MainD. 任意标识符 8. C++程序的基本模块为()。

A. 表达式B. 标识符C. 语句D. 函数 9. 可用作C++语言用户标识符的一组标识符是( )。

A. void define +WORDB. a3_b3 _123 YNC. for -abcCase D. 2a DO sizeof10. 存储以下数据,占用存储字节最多的是()。

A. 0 B. ‘0’C. “0”D. 0.0 11. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符号作为分隔符。

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( )。

A. 12B. 144C. 156D. 28813. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是( )。

面向对象程序设计习题及答案

面向对象程序设计习题及答案

面向对象程序设计一、选择填空1.对于 C++与 C 语言的关系描绘中,( D)是错误的。

(A) C 语言是 C++的一个子集(B)C语言与C++是兼容的(C) C++对 C 语言进行了一些改良(D)C++和C语言都是面向对象的2.下边对于对象观点的描绘中,(B)是错误的。

(A)对象就是 C 语言的结构变量(B)对象代表着正在创立的系统中的一个实体(C)对象是一个状态的操作(或方法)的封装体(D)对象之间的信息传达是经过信息进行的3.下边对于类观点的描绘中,(D)是错误的。

(A)类是抽象数据种类的实现(B)类是拥有共同行为的若干对象的一致描绘体(C)类是创立对象的样板(D)类就是C语言的结构种类4.依照表记符的要求,( A)符号不可以构成表记符。

(A)连结符(B)下划线(C)大小写字母(D)数字字符5.以下符号中,( C)不行作为分开符。

(A),(B):(C)(D);6.在 16 位机中, int型字宽为(A)字节。

(A)2(B)4(C)6(D)87.种类修饰符unsigned 修饰( D)种类是错误的。

(A) char(B)int(C)long int(D)float8.对于 int *pa[5];的描绘,(D)是正确的。

(A) pa 是一个指向数组的指针,所指向的数组是 5 个 int型元素(B) pa 是一个指向某数组中第 5 个元素的指针,该元素是int变量(C) pa[5] 表示某个数组的第 5 个元素(D) pa 是一个拥有 5 个元素的指针数组,每个元素是一个int型指针。

9.以下对于指针的运算中,(D)是非法的。

(A)两个指针在必定条件下,能够进行相等或不等的运算。

(B)能够有一个空指针赋值给某个指针。

(C)一个指针能够加上一个整数。

(D)两个指针在必定条件下,能够相加。

10.指针能够用来表示数组元素,以下表示中(A)是错误的。

已知:int a[3][7];( A) *(a+1)[5](B)*(*a+3)(C)*(*(a+1))(D)*(&a[0][0]+2) 11.以下表示引用的方法中,(A)是正确的。

面向对象程序设计复习题及参考答案

面向对象程序设计复习题及参考答案

网络教育课程考试复习题及参考答案面向对象程序设计一、填空题:1.创建类的对象时,使用运算符___________给对象分配内存空间。

2.Java通过来区分重载函数。

3.在子类中使用保留字_ _可调用被子类覆盖的父类中的方法。

4.使用保留字可以从一个构造方法中调用同一个类的另一个构造方法。

5.抽象类用修饰符定义。

6.类的数据成员的访问权限修饰符一般为7.访问权限修饰符按照访问权限的大小从大到小分别为、、、。

8.定义类的构造方法不能有,其名称与名相同。

9.抽象方法是的特征是。

10.Java中的所有异常都是从继承来的。

11.对象引用中存储的内容是。

12.下列程序段执行后,String str1 = new String("Java");String str2 = new String("Java");if (str1.equals(str2)) {System.out.println("They are equal");} else {System.out.println("They are not equal");}输出结果为:。

13.下面循环执行后的sun值为int count =0, sum = 0;while ( count <10 ) {sum += count;count ++;}14.Java语言中关键字_ _表示双精度类型。

15.保留字_ _用于导入包中的类到程序中,供程序中使用。

16.Java语言中继承是用保留字表示。

17.面向对象程序设计中,类是指。

18.对象包含和。

19.若有类定义:class B extends A{…}则类B是类A的_ 。

20.Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_ 块来捕获和处理异常。

21.多态是指。

22.声明常量时使用修饰符。

23.Java中异常抛出使用保留字。

《Java面向对象程序设计》考试卷及答案带注释

《Java面向对象程序设计》考试卷及答案带注释

一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。

CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。

CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。

0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。

Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。

逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。

java面向对象程序设计期末考试题及答案

java面向对象程序设计期末考试题及答案

java面向对象程序设计期末考试题及答案一、单项选择题(每题2分,共20分)1. 在Java中,哪个关键字用于声明一个类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D3. 在Java中,哪个关键字用于创建对象?A. newB. createC. makeD. instantiate答案:A4. Java中的继承是通过哪个关键字实现的?A. extendsB. inheritC. deriveD. superclass答案:A5. 在Java中,哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. abstract答案:A6. 下列哪个不是Java中的方法重载的条件?A. 方法名相同B. 参数列表不同C. 返回值类型不同D. 访问修饰符不同答案:C7. 在Java中,哪个关键字用于声明一个抽象方法?A. abstractB. virtualC. overrideD. final答案:A8. Java中的多态性可以通过哪种方式实现?A. 方法重载B. 方法覆盖C. 接口实现D. 继承答案:B9. 在Java中,哪个关键字用于声明一个内部类?A. innerB. nestedC. staticD. inner class答案:B10. Java中的垃圾回收机制是自动的吗?A. YesB. NoC. SometimesD. Depends on the JVM答案:A二、填空题(每题2分,共20分)1. Java中,一个类可以继承另一个类的______方法和属性。

答案:非私有2. Java中的______关键字用于声明一个类是不可被继承的。

答案:final3. 在Java中,______关键字用于声明一个类是抽象的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络教育课程考试复习题及参考答案面向对象程序设计一、填空题:1.创建类的对象时,使用运算符___________给对象分配内存空间。

2.Java通过来区分重载函数。

3.在子类中使用保留字_ _可调用被子类覆盖的父类中的方法。

4.使用保留字可以从一个构造方法中调用同一个类的另一个构造方法。

5.抽象类用修饰符定义。

6.类的数据成员的访问权限修饰符一般为7.访问权限修饰符按照访问权限的大小从大到小分别为、、、。

8.定义类的构造方法不能有,其名称与名相同。

9.抽象方法是的特征是。

10.Java中的所有异常都是从继承来的。

11.对象引用中存储的内容是。

12.下列程序段执行后,String str1 = new String("Java");String str2 = new String("Java");if (str1.equals(str2)) {System.out.println("They are equal");} else {System.out.println("They are not equal");}输出结果为:。

13.下面循环执行后的sun值为int count =0, sum = 0;while ( count <10 ) {sum += count;count ++;}14.Java语言中关键字_ _表示双精度类型。

15.保留字_ _用于导入包中的类到程序中,供程序中使用。

16.Java语言中继承是用保留字表示。

17.面向对象程序设计中,类是指。

18.对象包含和。

19.若有类定义:class B extends A{…}则类B是类A的_ 。

20.Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_ 块来捕获和处理异常。

21.多态是指。

22.声明常量时使用修饰符。

23.Java中异常抛出使用保留字。

24.一个类成员或者方法前面加上了修饰符,那说明该数据成员和方法可以直接通过类名来访问和调用。

25.如果类成员前面没有访问权限修饰符,则该类成员具有访问权限。

26.下面构造方法是非法的a):public int ClassA(int one){…}b):public ClassB(int one,int two){…}c):ClassC(){…}27.程序填空:public void getData() {String str = JoptionPane.showInputDialog(null,”Input:”);if (str.equals(“”){throw new IOException();})28.对象称为类的。

29.Java程序的源文件以为扩展名,编译后的文件以为扩展名。

二、简答题:1.类和对象的概念和关系是什么?2.请说明对象声明和对象生成之间的区别,并使用内存状态图举例说明这种区别。

3.this和super两个保留字的意义和作用是?4.构造器方法有什么特点和作用?5.保留字throw和throws有什么区别?6.将下面的while 循环改写为for循环int count =1, sum = 0;while ( count <= 30 ) {sum += count;count +=3;}7.Java语言编译和执行的过程是?8.检查型异常和非检查型异常有何区别?9.请改造下面的构造方法,使第一个构造方法调用第二个构造方法。

public ClassOne(int alpha) {this.alpha = alpha;this.beta = 0;}public ClassOne(int alpha , int beta) {this.alpha = alpha;this.beta = beta;}10.Java有哪几个访问权限修饰符,各起到什么作用?11.请说明实例方法、类方法和构造器方法的特点和区别。

三、请写出下面的代码段的输出结果:1.class Q2main{public static void main(string[] args) {QuestionTwo q2;q2= new QuestionTwo();q2.init();q2.increment();q2.increment();system.out.println(q2.getCount());}}class QuestionTwo{private int count;public void int(){count=1;}public void increment(){count=count+1;}public int getCount(){return count;}}2.int gradeLevel;switch (gradeLevel) {case 1:System.out.print("Go to the 101");case 2:System.out.print("Go to 202");break;case 3:System.out.print("Go to 303");case 4:System.out.print("Go to 404");break;default:System.out.print("default");}如果变量gradeLevel 在switch语句之前为以下数值,上述程序代码段执行后,将分别输出什么?a)2b)3c)4d)53.int x;for (int width = 1; width <=20, width++){for (int length = 5, length <=25, length+=5){x = width * length;System.out.print (" " + x);}System.out.println("");}输出结果为:4.class MyException1 extends Exception {public MyException1() {}public MyException1(String msg) { super(msg); }}public class ExceptionTest{public static void f() throws MyException1 {System.out.println("The 1st line of f()");throw new MyException1("Exception1:Originated in f()");}public static void main(String[] args) {System.out.println("The 1st line of main()");try {System.out.println("The 2nd line of main()");f();System.out.println("The 3rd line of main()");}catch(MyException1 e) {System.out.println(e.getMessage());}finally {System.out.println("The 4th line of main()");}System.out.println("The 5th line of main()");}}输出结果为:5.import java.io.*;class Base{Base(){System.out.println("Base()");}void m1(){System.out.println("Base.m1()");}}class Derived extends Base{Derived(){this("default");System.out.println("Derived()");}Derived(String ss){System.out.println(ss);}void m1(){System.out.println("Derived.m1()");}}public class Application1{public static void main(String args[]) {Base b;b=new Derived();b.m1();}}输出结果为:6.class Shape {void draw(){System.out.println("Shape.draw()");}}class Circle extends Shape {void draw() {System.out.println("Circle.draw()");}}class Square extends Shape {void draw() {System.out.println("Square.draw()");}}public class Shapes {public static void main(String[] args) {Shape[] s = new Shape[3];s[0]=new Shape();s[1]=new Circle();s[2]=new Square()for(int i = 0; i < 3; i++)s[i].draw();}}输出结果为:7.try{number = Integer. parseInt(“-30”);i f (number < 0){throw new Exception(“No negative”);}catch(NumberFormatException e){System.out.println(“Can not covert to int”);}catch (Exception e ){System.out.println(“Error:”+e.getMessage());}finally{System.out.println(“DONE”);}输出结果为:8.class Value {int i=10;}class Tester{public static void test(int x){x=20;}public static void test(Value v){v.i =20;}public static void main(String[] args) {Value v1=new Value();int x=10;Tester.test(x);Tester.test(v1);System.out.println(x);System.out.println(v1.i);}}9.class Rock {Rock() {System.out.println("Creating Rock");}Rock(int i) {System.out.println("Creating Rock number " + i);}}public class SimpleConstructor {public static void main(String[] args) {for(int i = 0; i < 3; i++)if(i==1)new Rock();elsenew Rock(i);}}lass BicycleRegistration {public static void main(String[] args) {Bicycle bike1,bike2;bike1 = new Bicycle( );bike2= new Bicycle(“xxxx”);bike1.setOwnerName("Test");System.out.println(bike1.getOwnerName( ) + " owns a bicycle.");System.out.println(bike2.getOwnerName( ) + " also owns a bicycle.");}}class Bicycle {private String ownerName;public Bicycle( ) {ownerName = "Unknown";}public Bicycle(String name ) {ownerName = name;}public String getOwnerName( ) {return ownerName;}public void setOwnerName(String name) {ownerName = name;}}输出结果为:四、编程题:1.编写一段Java程序代码,用一个对话在分开的两行中显示两条消息:“I Can Design”和“And I CanProgram”。

相关文档
最新文档