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

合集下载

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

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

语法扩充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中,______关键字用于声明一个类是抽象的。

(完整版)c++面向对象程序设计试题和答案

(完整版)c++面向对象程序设计试题和答案

系名____________班级____________姓名____________学号____________密封线内不答题一、 填空题(每空1分,共14分)1、 观看以下程序:class point{public:void show() {cout<<”point ”<<endl;} }; void main() { point p1; point *p; p=&p1; _______________//通过对象p1访问show 函数 ______________//通过指针p 访问show 函数 } 2、 在C++类中可以包含______________、______________和______________三种具有不同访问控制权的成员。

3、 定义类时,在类头中将使用关键字_____________来表示类定义的开始。

4、 如果一个类中至少有一个纯虚函数,则该类称为________________。

5、 C++类的组成包括数据成员和______________,友元_____(是、不是)该类的成员函数。

6、 友员函数是用关键字____________修饰的非成员函数。

7、 若有: int i; int &j=i; i=10; j=i+1; 则i=__________,j=__________。

8、 new 的功能是____________________,delete 的功能是____________________。

二、 选择题(每小题1.5分,共30分)1、下列特性中不是面向对象程序设计语言所特有的是( )。

(A )数据封装 (B )继承(C )多态性 (D )模板2、( )是给变量取一个别名,它引入了变量的同意词。

(A)指针(B)引用(C)枚举(D)结构3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。

(A)share (B)public (C)private (D)protected4、关于构造函数,下列说法不正确的是()。

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

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

C++面向对象程序设计复习试题类型1、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

15题,每小题2分,共30分) [主要从作业题目中抽出来]2. 填空题。

(10题,每小题3分,共30分)3、阅读程序,写出程序运行结果。

【也称计算题】(3题,每小题5分,共15分)4、程序编制题【也称综合分析题】。

(第1、2题每题8分,第3题9分,共25分) 重点复习内容打*号是重点,打▲号是编程题出题范围* 基本概念,对象,消息,类。

面向对象系统特性,封装性,继承性,多态性。

*▲C++类的构成,类与对象,构造与析构,动态存储,类嵌套。

静态成员,对象数组,友元。

*函数重载。

运算符重载。

*引用定义与引用参数* 基类与派生类的定义。

* 基类及派生类的访问权(含派生类对基类的访问、通过派生类对象对基类的访问)和初始化。

多继承与虚基类。

*多态性与虚函数。

纯虚函数、抽象类。

*▲函数模板。

*▲使用类来定义对象并在程序中的应用题型样题填空题 1. 假定AB为一个类,则执行“AB a[10];”语句时,系统自动调用该类的构造函数的次数为_________。

答案:102.可以用p.a的形式访问派生类对象P的基类成员a,其中a是_________。

答案:公有继承的公有成员3.能作为重载函数的调用的依据是_________。

答案:参数个数、参数类型4.在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流是否结束状态的操作函数名称是_________答案:eof5.函数重载是指_________。

答案:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同6.在派生类中重新定义虚函数时必须在_________ 方面与基类保持一致。

答案:参数个数阅读程序例题【计算题】1.分析以下程序的执行结果#include<iostream.h>class Sample{int x,y;public:Sample() {x=y=0;}Sample(int a,int b) {x=a;y=b;}~Sample(){if(x==y)cout<<“x=y”<<endl;elsecout<<“x!=y”<<endl;}void disp(){cout<<“x=”<<x<<“,y”=<<y<<endl;}};void main(){Sample s1,s2(2,3);s1.disp();s2.disp();}解:x=0,y=0x=2,y=3x!=yx=y2.分析以下程序的执行结果#include<iostream.h>int add(int x,int y){return x+y;}int add(int x,int y,int z){return x+y+z;}void main(){int a=4,b=6,c=10;cout<<add(a,b)<<,<<add(a,b,c)<<endl; }解:10,20 3.分析以下程序执行结果#include<iostream.h>int add(int x,int y){return x+y;}double add(double x,double y){return x+y;}void main(){int a=4,b=6;double c=2.6,d=7.4;cout<<add(a,b)<<","<<add(c,d)<<endl; }解:10,104.分析以下程序执行的结果#include<iostream.h>class Sample{int x,y;public:Sample(){x=y=0;}Sample(int a,int b){x=a;y=b;}void disp(){cout<<"x="<<x<<",y="<<y<<endl;}};void main(){Sample s1,s2(1,2),s3(10,20);Sample *pa[3]={&s1,&s2,&s3};for(int i=0;i<3;i++)pa[i]->disp();}解:x=0,y=0x=1,y=2x=10,y=20 5. 分析以下程序的执行结果:#include<iostream.h>class base{int n;public:base(){};base (int a){cout << "constructing base class" << endl; n=a;cout << "n= "<< n << endl;}~base() { cout << "destructing base class" << endl; }};class subs : public base{int m;public:subs(int a, int b) : base(a){cout << "constructing sub class "<< endl; m=b;cout << "m= "<< m << endl;}~subs() { cout << "destructing sub class "<< endl; }};void main (){subs s(1,2);}解:constructing base classn= 1constructing sub classm= 2destructing sub classdestructing base class6.分析以下程序的执行结果:#include <iostream.h>class Sample{protected:int x;public:Sample() { x=0; }Sample(int val) { x=val; }void operator++() { x++; }};class Derived:public Sample{int y;public:Derived():Sample(){ y=0; }Derived(int val1,int val2):Sample(val1){ y=val2; }void operator--(){ x--;y--;}void disp(){cout<<"x="<< x << ",y=" << y << endl; }};void main (){Derived d(3,5);d.disp();d++;d.disp ();d--;d--;d.disp();}解:x=3,y=5x=4,y=5x=2,y=37 分析以下程序执行结果:#include <iostream.h>class A{public:A(char *s) { cout << s << endl; }~A() {}};class B:public A {public:B(char *sl,char *s2) :A(sl){cout << s2 << endl;}};class C:public A{public:C(char *sl,char *s2) :A(sl){cout << s2 << endl;}};class D:public B,public C{public:D(char *sl,char *s2,char *s3,char *s4) :B(sl,s2),C(sl,s3){cout << s4 << endl;}};void main (){D d("class A","class B","class C","class D");}解:class Aclass Bclass Aclass Cclass D 补充例题1.分析以下程序的执行结果#include<iostream.h>template <class T>T max(T x,T y){ return (x>y?x:y); }void main(){ cout<<max(2,5)<<“,”<<max(3.5,2.8)<<endl; }解答:5,3.5 2.分析以下程序的执行结果#include<iostream.h>void main(){int a[]={10,20,30,40},*pa=a;int *&pb=pa;pb++;cout<<*pa<<endl;}解答:输出为:20 3.分析以下程序的执行结果#include<iostream.h>template <class T>T abs(T x){ return (x>0?x:-x); }void main(){ cout<<abs(-3)<<“,”<<abs(-2.6)<<endl; }解答:输出为:3,2.64.分析以下程序的执行结果#include<iostream.h>class Sample{char c1,c2;public:Sample(char a){c2=(c1=a)-32;}void disp(){ cout<<c1<<“转换为”<<c2<<endl; } };void main(){Sample a('a'),b('b');a.disp();b.disp();}解答:a转换为Ab转换为B 5.分析以下程序的执行结果#include<iostream.h>void main(){int a;int &b=a; // 变量引用b=10;cout<<“a=”<<a<<endl;} 解答:输出为:a=10 6.分析以下程序的执行结果#include<iostream.h>class Sample{int x;public:Sample(){};Sample(int a){x=a;}Sample(Sample &a){x=a.x++ +10;}void disp(){cout<<“x=”<<x<<endl; }};void main(){ Sample s1(2),s2(s1);s1.disp();s2.disp();}解答:x=3 // ++运算的结果x=12 // 2+107.分析以下程序的执行结果#include<iostream.h>class Sample{int x;public:Sample(){};Sample(int a){x=a;}Sample(Sample &a){x=a.x+1;}void disp(){cout<<“x=”<<x<<endl; } };void main(){ Sample s1(2),s2(s1);s2.disp();}解答:输出为:x=3。

Java面向对象程序设计复习题附答案

Java面向对象程序设计复习题附答案

Java面向对象程序设计复习题一、选择题1、下列哪个是Java中的关键字(C )。

A、runB、IntegerC、defaultD、implement2、下面关于Java.applet.Applet和其祖先类的描述语句哪个不对(B )。

A、Applet是Container的一种B、Applet是Window的一种C、Applet是Component的一种D、Applet是Panel的一种3、下列类DataOutputStream的构造方法正确的是(A )。

A、new dataOutputStream(new FileOutputStream(“out.txt”));B、new dataOutputStream(“out.txt”);C、new dataOutputStream(new writer(“out.txt”));D、new dataOutputStream(new FileWriter(“out.txt”));4、在switch(表达式)语句中,表达式的类型不能为(C )。

A、byteB、charC、longD、int5、在接口MouseMotionListener中方法正确的是(A )。

A、Public void mouseDragged(MouseEvent)B、Public boolean mouseDragged(MouseEvent)C、Public void mouseDragged(MouseMotionEvent)D、Public boolean MouseDragged(MouseMotionEvent)6、下面是一些异常类的层次关系ng.Exceptionng.RuntimeExceptionng.IndexOutOfBoundsExceptionng.ArrayIndexOutOfBoundsExceptionng.StringIndexOutOfBoundsException假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句,下面哪个答案是正确的。

面向对象程序设计复习总结题(含部分答案)

面向对象程序设计复习总结题(含部分答案)

《面向对象程序设计》复习要点及复习题(一)复习要点1.标识符、基本数据类型(字节数)、构造数据类型、运算符的种类、运算符的优先级和结合性、控制台输入和输出2.三种基本控制结构、if…else语句、switch语句、for语句、while语句、do…while语句、跳转语句;函数参数传递、函数重载、内联函数;标识符的作用域和生存期。

3.类的定义和使用、this指针、构造函数和析构函数、组合技术、静态成员、友元、运算符重载4.指针与数组、二级指针、动态内存的分配与释放、深复制与浅复制、递归。

5.派生类的构造与析构、派生类与基类的赋值兼容、多重继承与虚基类。

6.虚函数与动态绑定、纯虚函数与抽象类(二) 复习题一、单项选择题。

1.在switch语句中,为了结束分支,一般应在每个分支的结尾处加上语句(C)。

A. continueB. gotoC. breakD. default2.说明友元函数的关键字是(D)。

A. inlineB. virtualC. staticD. friend3.下面对指向常量的指针描述正确的是(C)。

A. 只能指向常量B. 指向的数据可以被修改C. 可以指向普通变量D. 必须进行初始化4.友元函数没有(A)。

A. this指针B. 返回类型C. 函数名D. 参数5.关于重载,(A)不正确。

A. 类名可以重载B. 函数名可以重载C. 运算符可以重载D. 缺省参数是重载的一种方式6.用new分配n维数组空间,首地址赋予指针p,则p应为指向(C)维数组的指针。

A. 0B. 1C. n-1D. n7.为类X重载前缀自增运算,则函数返回类型应为(C)。

A. XB. X*C. X&D. int8.以下(A)未调用构造函数(X为类名)。

A. X*p;B. X obj;C. X obj(1);D. X obj=2;9.若在类外有函数调用X::func();则函数func是类X的(C)函数。

面向对象程序设计复习题(附参考答案)

面向对象程序设计复习题(附参考答案)

【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】机器语言中的指令编码为()编码。

[A.]二进制[B.1符号[c.1十进制[D.]数字【答案】A【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】JaVa语言的主要特点不包括()。

[A.]面向对象[B.]自动垃圾回收[CJ处理文件[D.]可移植性【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java开发工具包简称为()。

[A.]JKD[B.]JRK[C.]JDK[D.]JRE【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】具有相同属性和服务的一组对象的模板称为()。

1B.]类[c.1代码[D.]概念【答案】B【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。

[A.]产品[B.1元素[c1成分[D.]实例【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java是一门()语言。

[A.]机器[B.]汇编[C.)面向过程的高级[D.]面向对象的高级【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】使用JDK编译JaVa程序时使用的命令是()。

面向对象程序设计考试模拟题(附参考答案)

面向对象程序设计考试模拟题(附参考答案)

面向对象程序设计考试模拟题(附参考答案)一、单选题(共10题,每题1分,共10分)1、下面关于javac命令作用的描述中,正确的是()。

A、可以执行java程序B、可以将编写好的Java文件编译成.class文件C、可以把文件压缩D、可以把数据打包正确答案:B答案解析:javac命令将java文件编译成java字节码文件。

2、下列关于构造方法的描述,错误的是()A、在构造方法中不能使用return语句返回一个值,但是可以单独使用return作为方法的结束B、一个类中只能定义一个空参数的构造方法C、构造方法的方法名前面没有返回值类型的声明D、一个类中可以定义多个构造方法正确答案:B3、以下关于成员属性与成员方法的描述中,错误的是()A、成员属性我们也叫成员变量,它就是描述对象的特征。

它可以定义在类中,也可以定义在方法中B、成员方法用于描述对象的行为C、在类中定义的变量,我们称为成员变量D、在类中定义的方法,我们称变成员方法正确答案:A答案解析:类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。

定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。

4、FileWriter类的write(int c)方法的作用是()A、写出单个字符B、写入多个C、写入一个整形数据D、写入单个字符正确答案:D答案解析:write(int c)方法用于写入单个字符。

5、下列关于集合的描述中,哪一个是错误的()A、集合按照存储结构可以分为单列集合Collection和双列集合Map。

B、List集合的特点是元素有序、元素可重复。

C、Set集合的特点是元素无序并且不可重复。

D、集合存储的对象必须是基本数据类型。

正确答案:D答案解析:集合可以存储多种数据类型的数据,包括引用数据类型。

6、下列关键字中,哪个不能修饰接口中的成员变量?()A、publicB、staticC、finalD、private正确答案:D答案解析:接口中的成员变量其实是一个常量,用public static final 修饰,所以,用private修饰是错误的。

面向对象程序设计考试模拟题含参考答案

面向对象程序设计考试模拟题含参考答案

面向对象程序设计考试模拟题含参考答案一、单选题(共50题,每题1分,共50分)1、下列数据结构中,哪一个是ArrayList类的底层实现()A、数组结构B、链表结构C、哈希表结构D、红黑树结构正确答案:A答案解析:ArrayList的底层是数组实现的。

2、Java属于以下哪种语言()A、机器语言B、汇编语言C、高级语言D、以上都不对正确答案:C答案解析:Java是一门高级编程语言。

3、下面关于path和classpath的说法中,错误的是()A、path用来指定java虚拟机(JVM)所在的目录B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同D、只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类正确答案:C答案解析:classpath和path环境变量的查看与配置的方式完全相同,都是通过 set关键字实现的。

4、若double val = Math.ceil(-11.9);,则val的值是()A、11.9B、-11.0C、-11.5D、-12.0正确答案:B答案解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。

5、下列集合中,不属于Collection接口的子类的是()A、ArrayListB、LinkedListC、TreeSetD、Properties正确答案:D答案解析:Properties集合属于Map集合的子类。

6、下列关于类与对象的说法中,错误的是()A、类是对某一类事物的抽象描述,而对象则是该类事物的个体。

B、对象是类的实例化。

C、类用于描述多个对象的共同特征,它是对象的模板。

D、类与对象没有什么实际关系。

正确答案:D答案解析:对象是通过类来创建的。

7、下列关于List接口的描述中,错误的是()A、List接口继承自Collection接口,是单列集合。

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

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

面向对象程序设计复习选择题1. 一个设计得好的面向对象系统具有(B)特征。

A 低内聚、低耦合B 高内聚、低耦合C 高内聚、高耦合D 低内聚、高耦合2. 面向对象程序设计的特点主要概括为(C)。

A 可分解性、可组合性、可分类性B 继承性、封装性、多态性C 抽象封装性、继承性、多态性D 封装性、易维护性、可扩展性、可重用性3. 关于C#程序的书写,下列不正确的说法是( D )。

A. 区分大小写B. 一行可以写多条语句C. 一条语句可写成多行D. 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法4. 关于C#语言的基本语法,下列哪些说法正确的是(C)A. C#语言使用using 来引用需要用到的命名空间;B. 用C#编写的程序中,Main 函数是唯一允许的全局函数;C. C#语言中使用的名称严格区分大小写;D. C#中一条语句必须写在一行内;5 以下标识符中,正确的是(A)。

A._nNameB. typeofC. 6bD. x5#6.字符串连接运算符包括&和(A)。

A. +B. -C. *D. /7.拆箱是关于:(B)A、值类型到引用类型的转换B、引用类型到值类型的转换C、引用类型到引用类型的转换D、值类型到值类型的转换8.装箱是关于:(A)A、值类型到引用类型的转换B、引用类型到值类型的转换C、引用类型到引用类型的转换D、值类型到值类型的转换9.下列引用类型和值类型描述正确的是(A)。

A. 引用类型变量保存内存地址,值类型直接保存变量值B. 引用类型在变量中直接保存变量值,值类型保存内存地址C. 引用类型和值类型保存数据的方式相同D. .NET Framework不支持值类型,因为所有的类型都是引用类型了10.一个类中的静态方法的调用可以:(A)A、通过类名调用B、通过实例化的对象调用C、在主方法中直接调用D、在同一个类中的某一方法中直接调用11.以下数据类型中,属于引用类型的是:(A)A、string类型B、double类型C、int类型D、 char类型12.下列类型中为值类型的是(C)A. 字符串类型B. 树组类型C. 枚举类型D. 接口类型13.decimal类型和浮点类型都可以表示小数,正确说法:(C)A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D. 小数类型比浮点类型精度低14. 有定义语句:int [,]a=new int[5,6]; 则下列正确的数组元素的引用是(C)。

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

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

面向对象程序设计试题及答案一、试题1. 请简要解释面向对象(Object-Oriented)程序设计的概念。

2. 列举面向对象程序设计中的四个基本特征,并分别进行简要描述。

3. 请说明封装(Encapsulation)在面向对象程序设计中的作用和优势。

4. 解释继承(Inheritance)在面向对象程序设计中的概念和用途。

5. 什么是多态(Polymorphism)?请解释多态的概念以及其在面向对象程序设计中的重要性。

6. 简要介绍抽象类(Abstract Class)和接口(Interface)的概念,并说明它们之间的区别。

7. 请解释类(Class)与对象(Object)之间的关系。

8. 在面向对象程序设计中,什么是构造函数(Constructor)?请说明构造函数的作用和使用方法。

9. 请示范一个使用面向对象程序设计的简单实例,并说明你所设计的类的结构和功能。

二、答案1. 面向对象程序设计是一种以对象为中心的编程方法,通过定义表示对象属性和行为的类来组织程序结构,以实现代码的重用性、灵活性和可维护性。

2. (1)封装:将数据和对数据的操作封装在一个类中,通过访问权限控制,保护数据的安全性和完整性。

(2)继承:通过建立类之间的继承关系,实现代码的重用,具有层次性和扩展性。

(3)多态:允许不同类的对象对同一消息作出不同的响应,实现代码的灵活性和扩展性。

(4)抽象:通过抽象类和接口的定义,隐藏对象的具体实现细节,提供统一的接口和规范。

3. 封装的作用是将数据和对数据的操作封装在一个类中,外部无法直接访问类的内部实现细节,只能通过类提供的接口访问和操作数据。

封装的优势包括:(1)提高代码的可维护性和可读性,减少代码的重复。

(2)保护数据的安全性和完整性,防止外部直接对数据进行非法操作。

(3)降低模块之间的耦合度,提高代码的灵活性。

4. 继承是面向对象程序设计中的一个重要概念,它通过建立类与类之间的继承关系,实现代码的重用和扩展。

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

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

简答题1、传统的结构化程序设计的优点和缺点是什么?优点:(1)这种程序设计方法力求算法描述精确。

(2)对每一子过程模块简单进行程序正确性证明。

缺点:(1)这种程序设计方法本质上是面对“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能干脆反映人类求解问题的思路。

(2)程序代码可重用性差。

程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。

即使重用代码,通常也是通过拷贝或编辑重新生成一份。

(3)维护程序的一样性困难。

该种方法将数据与对数据进行处理的程序代码分别。

2、什么是对象?每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。

对象的属性描述了对象的状态和特征,对象的方法说明白对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。

3、什么是消息?在面对对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。

当一个对象须要另外一个对象供应服务时,它向对方发出一个服务恳求,而收到恳求的对象会响应这个恳求并完成指定的服务。

这种向对象发出的服务恳求就称为消息。

4、什么是多态性?所谓多态性是指当程序中的其他部分发出同样的消息时,根据接收消息对象的不同能够自动执行类中相应的方法。

其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大便利。

5、什么是面对对象的程序设计方法?这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。

在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法确定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。

6、面对对象方法的特点是什么?(1)OOP以“对象”或“数据”为中心。

由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更困难的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的变更对整个系统几乎没有影响。

《面向对象程序设计》期末复习带答案

《面向对象程序设计》期末复习带答案

一、单项选择题1.退出Visual Basic的快捷键是()。

CA.Ctrl + Q B.Shift + Q C.Alt + Q D.Ctrl + Alt + Q2.以下四个VB的变量名中,不合法的是()。

CA.Print_Num1 B.Abc% C.Const D.X1_y2_z33设置ADO数据控件RecordSource属性为数据库中的单个表名,则CommandType属性需要设置为()。

B A.adCmdText B.adCmdTable C.adCmdStoredProc D.adCmdUnknown4设有如下过程:Sub ff( x,y,z )x = y + zEnd Sub以下所有参数的虚实结合都是传址方式的调用语句是()。

BA.Call ff ( 5,7,z )B. Call ff ( x,y,z )C. Call ff ( 3 + x,5 + y,z )D. Call ff ( x + y,x - y,z )5.菜单的热键指使用Alt键和菜单标题中的一个字符来打开菜单,建立热键的方法是在菜单标题的某个字符前加上一个()字符。

CA.% B.$ C.& D.#6.函数Int( 76 * RND() )的值是在()范围内的整数。

CA. [1,75]B. [1,76]C. [0,75]D. [0,76]7.以下能够触发文本框Change事件的操作是()。

DA. 文本框失去焦点B.文本框获得焦点C. 设置文本框的焦点D.改变文本框的内容8.设组合框Combo1 中有3个项目,则以下能删除最后一项的语句是()。

BA.Combo1.RemoveItem Text B.Combo1.RemoveItem 2C.Combo1.RemoveItem 3 D.Combo1.RemoveItemCombo1.Listcount9.要使菜单项Menu1在程序运行时失效,使用的语句是()。

DA.Menu1.Visible=True B.Menu1.Visible =False C.Menu1.Enabled=True D.Menu1.Enabled=False10.以下叙述中错误的是()。

  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”。

相关文档
最新文档