电大面向对象程序设计期末复习题
(完整word版)面向对象程序设计期末复习题及答案

(完整word版)面向对象程序设计期末复习题及答案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。
函数重载是指_________。
答案:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同(完整word版)面向对象程序设计期末复习题及答案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!=y x=y2.分析以下程序的执行结果#include〈iostream。
《面向对象程序设计》期末考核试题样例及解答

《面向对象程序设计》期末考核试题样例及解答一、单项选择(每小题1分,12小题,共12分)1. 源程序文件的缺省扩展名为( )。
A. B. C. D.2. x>0 5的相反表达式为()。
A. x<=0 5B. x<=0 5C. x>0 5D. x>0 53. 在下面的字符数组定义中,有语法错误的是( )。
A. a[20]=“”;B. a[]=“55.”;C. a[15];D. a[10]=’5’;4. 以下正确的函数原型语句是( )。
A. ( y)B. ( y)C. ();D. ( );5. 在下面存储类中,()的对象不是局部变量。
A. 外部静态类B. 自动类C. 函数形参D. 寄存器类6. 假定有“ { [40]; ;}; * ;”,则正确的语句是()。
A. (>,””);B. (,””);C. (*,””);D. ((*)->,””);7. 软件产品所具有的全部或部分地再用于新的应用的能力称为该软件的()。
A. 可维护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,通常把含有()函数的文件称为()。
A. 主文件B. 实现文件C. 程序文件D. 头文件9. 在一个用链表实现的队列类中,假定每个结点包含的值域用表示,包含的指针域用表示,链队的队首指针用表示,队尾指针用表示,若链队为空,则进行插入时必须把新结点的地址赋给( )。
A. B.C. 和D. 或10. 假定为一个类,则执行“ a, b(2), c[3], *;”语句时共调用该类无参构造函数的次数为( )。
A. 5B. 6C. 3D. 411. 引入友元的主要目的是为了()。
A. 增强数据安全性B. 提高程序的可靠性C. 提高程序的效率和灵活性D. 保证类的封装性12. 如果是类B在类A的基础上构造,那么,就称()。
A. 类A为基类或父类,类B为超类或子类B. 类A为基类、父类或超类,类B为派生类或子类C. 类A为派生类,类B为基类D. 类A为派生类或子类,类B为基类、父类或超类二、填空(每空1分,15小题,共18分)1. 语言是在语言的基础上发展起来的。
电子科技大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)试卷号:2

电子科技大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)一.综合考核(共50题)1.下列()关键字通常用来给对象进行加锁,该标记使得对对象的访问是排他的。
A.transientB.synchronizedC.staticD.serialize参考答案:B2.下列()是Java的调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试。
A.javaprof.exeB.java.exeC.javadoc.exeD.jdb.exe参考答案:D3.在Java中,子类重新定义一个与从父类那里继承来的域变量(成员变量)完全相同的变量,这称为域的()。
A.隐藏B.重载C.覆盖D.Java不支持此特性参考答案:C4.A class can implement as many interfaces as needed.()A.正确B.错误5.()类是所有异常类的父类。
A.ThrowableB.ExceptionC.ErrorD.AWTError参考答案:B6.Java语言中,字符变量以char类型表示,它在内存中占()位bit。
A.8B.32C.2D.16参考答案:D7.在Java中,用()关键字定义常量。
A.fixedB.finalC.#defineD.const参考答案:B8.下列语句输出结果为()。
public class A{public static void main(String[]args){byte b=0xa; System.out.println(b);}} 。
A.aB.10C.1D.0xa参考答案:B下列叙述错误的是()。
A.Java语言允许使用指针访问内存B.Java是一种面向对象的网络编程语言C.Java提供了类库支持TCP/IP协议D.Java Applet程序在网络上传输不受硬软件平台的限制参考答案:A10.import java.awt.*;public class X extends Frame{public static void main(String[] args){X x=new X();x.pack();x.setVisible(true);}public X(){setLayout(new GridLayout(2,2));Panel p1=new Panel(); add(p1);Button b1=new Button("One"); p1.add(b1);Panel p2=new Panel(); add(p2);Button b2=new Button("Two"); p2.add(b2);Button b3=new Button("Three"); p2.add(b3);Button b4=new Button("Four"); add(b4);}}when the frame. is resized, ()A.all change height and widthB.Button Two change height and Button Three change widthC.Button One change heightD.Button Four change height and width参考答案:D11.下列代码的执行结果是()。
OOP技术:面向对象程序设计期末复习指导

OOP技术:面向对象程序设计期末复习指导面向对象程序设计课程系中央电大开放教育本科计算机科学与技术专业统设必修课程,本课程的期末复习以中央电大下发的资料和网上复习指导为准。
为了加强期末复习,下面市电大给出一套综合练习题,仅作参考。
综合练习题一、单选题1、 C++源程序文件的默认扩展名为( )。
A:cpp B:exe C:obj D:lik2、用new运算符创建一个含10个元素的一维整型数组的正确语句是( )。
A: int *p=new a[10];B: int *p=new float[10];C: int *p=new int[10];D: int *p=new int[10]={1,2,3,4,5}3、假定有“struct BOOK{char title[40]; float price;}; BOOK *book=new BOOK;”,则正确的语句为()。
A: strcpy((*book)->title,”Wang Tao”);B: strcpy(*book.title,”Wang Tao”);C: strcpy(book->title,”Wang Tao”);D: strcpy(book.title,”Wang Tao”);4、假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态内存,应使用语句()。
A: delete p;B: delete *p;C: delete &p;D: delete []p;5、关于消息,下列说法中不正确的是()。
A: 发送消息的对象请求服务,接受消息的对象提供服务B: 消息的发送者必须了解消息的接收者如何相应消息C: 在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用D: 每个对象只能接收某些特定格式的消息6、对于任一个类,用户所能定义的析构函数的个数至多为( )。
A: 0 B: 1 C: 2 D: 任意个7、 do语句能够改写为()语句。
最新国家开放大学电大本科《面向对象程序设计》期末题库及答案

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。
该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。
做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。
本文库还有其他网核及教学考一体化答案,敬请查看。
《面向对象程序设计》题库及答案一一、单项选择题(每小题2分,共20分)1.设x和y均为bool量,则x||y为假的条件是( )。
A.它们均为真 B.其中一个为真C.它们均为假 D.其中一个为假2.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}}”,则元素a[1][2]的值为( )。
A.2 B.4 C.6 D.83.假定P是具有int* *类型的指针变量,则给P赋值的正确语句为( )。
A.p=new int B.p=new int*C.p=new int** D.p=new int[10]4.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( )。
A.可维护性 B.可复用性C.兼容性 D.正确性5.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。
‘A.in B.inlineC.inLine D.InLiner .6.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的后一个位置为( )。
A.1ength+1 B first+lengthC.(first+1ength—1)%MS D.(first+length)%MS7.假定一个类的构造函数为“A(int aa,int bb){a=aa;b=aa*bb;)”,则执行“A x(4,5);”语句后,X.a和x.b的值分别为( )。
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.设x和y均为bool量,则x && y为真的条件是( )。
A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假2. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0;while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 73. 假定p是具有int**类型的指针变量,则给p赋值的正确语句为()。
A. p=new int;B. p=new int*;C. p=new int**;D. p=new int[10];4. 以下关于函数模板叙述正确的是()。
A. 函数模板也是一个具体类型的函数B. 函数模板的类型参数与函数的参数是同一个概念C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数D. 用函数模板定义的函数没有类型5. 在多文件结构的程序中,通常把类的声明单独存放于()中。
A. 主文件B. 实现文件C. 库文件D. 头文件6. 假定有定义“int b[10]; int *pb;”,则不正确的赋值语句为()。
A. pb=b;B. pb=&b[0];C. pb=new int;D. pb=b[5];7. 假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=bb;}”,则执行“A x(0);”语句后,x.a和x.b的值分别为( )。
A. 0和0B. 0和1C. 1和0D. 1和18. 假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x 为该类的一个对象,则访问x对象中数据成员a的格式为()。
A. x.aB. x.a()C. x->GetValue()D. x.GetValue()9. C++的继承性允许派生类继承基类的()。
A. 部分特性,并允许增加新的特性或重定义基类的特性B. 部分特性,但不允许增加新的特性或重定义基类的特性C. 所有特性,并允许增加新的特性或重定义基类的特性D. 所有特性,但不允许增加新的特性或重定义基类的特性10. 假定AB为一个类,则执行“AB x;”语句时将自动调用该类的( )。
面向对象程序设计复习总结题(含部分答案)

《面向对象程序设计》复习要点及复习题(一)复习要点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)函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单选题,在括号内填写正确的选项编号{每小题2分,共20分)1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。
A.颜色B.动态 c.状态 D 重量2.使用JDK编译Java程序时使用的命令是( )。
A. javaB. javacC. appletviewer D javadoc3.包含主方法的类被称为主类,主方法的存储控制属性应定义为()。
A. finalB. abstractC. short Do static4.在类的定义中,若需要把一个属性或方法定义为类成员,而不是实例成员,则使用的修饰符为( )。
A. constB. finalC. static D public5.JaV3 语言中规定的转义字符,以()字符作前缀。
A. B.I C. / D.\6.把对象的属性和服务组合成一个独立的整体,尽可能隐蔽其内部的细节,这称为对象的()。
A.封装性B.多态'性C.继承性D.开放性7.具有()访问权限的成员能够被本类和其他任何类中的成员所访问。
A. publicB. protectdC. privateD.缺省8.在类定义首部的语法格式中,()不能作为其中的修饰符。
A. publicB. protectdC. extendsD. abstract9.下面的关键字( )与异常处理无关。
A. throwB. throwsC. importD. finally10.下面( )既可以作为流的数据源,又可以作为流的目的地。
A.键盘B.磁盘文件c.显示器D.扫描仪二、是非判断题,在每小题后面括号内打上对号、/表示叙述正确,打上叉号×表示叙述错误11. Java既支持类的单继承,又支持类的多重继承。
( )12.在一个派生类中,能够定义与上层父类中的成员具有相同名称的成员。
( )13.派生类可以直接访问从父类中继承下来的所有成员。
( )14.在Java语言中,可以把实现了一个接口的类对象,赋给这个接口的引用对象。
( )15.在一个抽象类中,不允许包含任何成员变量和构造方法。
( )16.接口中的成员方法都默认具有pu blic和abstract的修饰属性。
( )17.在Java语言中,一个类不能被定义在另一个类之中,类与类之间没有包含关系。
( )18.在Java语言中,声明包语句可以出现在一个Java程序文件的任何位置。
( )19.向量类Vector中的size()方法能够返回调用向量中当前保存的元素的个数。
( )20. FileWriter类的构造函数的参数不是一个文本文件名。
( )21.输入流类(InputStream)和输出流类( OutputStream)是用来处理字符流的抽象基类。
()22. DatalnputStream类的文件流能够从二进制文件中读出基本类型的数据。
( )23. 在图形用户界面中,原子组件是不能同用户进行交互的组件。
( )24. 在Java程序中,既允许创建单个线程,也允许创建多个线程。
( )25.如果在派生类的构造方法的定义中没有明确调用父类的构造方法,则系统在执行派生类的构造方法时将隐含调用父类的元参构造方法。
( )三、填空题,在横线上填写正确的内容(每空1分,共15分}26.Java语言中的逻辑类型的关键字为,它的两种取值分别为关键宇true和false。
27. 用于修饰类的成员具有公有访问属性的关键字为28. 假定整数变量x的值为10,则执行y=2 * x++赋值后,y的值为。
29. 类中的方法不需要给定返回值类型。
30. 当类中的成员定义采用static关键宇修饰时,则称该成员为类的(静态/实例) 成员。
31.类中的成员方法也可以使用关键字进行修饰,表示该方法不能被子类所重新定义。
32.在方法调用的参数传递中,若为(按值/引用) 传递,方法体中对形参内容的修改不影响实参的值。
33. 定义一个终结类时需要在类首部的关键字class前使用修饰符。
34. 假定一个字符串对象x的值为"abc",则x. concat("def勺的值为。
35. 假定要访问→维数组X中的第k个元素,则对应的元素(下标变量)表示为。
36. 基本数据类型boolean对应的包装类为。
37.在Java语言中,程序运行时发生的运行错误又分为致命性的严重错误和非致命性的-般错误两种,异常属于错误。
38.Java语言中的System. out表示标准(输入/输出) 流。
39. 对于原子组件,根据功能的不同,可以被分为类。
40. 每个线程具有四种基本状态:就绪状态、、死亡状态和阻塞状态。
四、写出下列每个程序编译和运行后的输出结果41. public class XXK {public static void main(String[ ]args) {int x , y=O;for(x=l; x<lO; x+十)ifCx%2==0) y+=x祷x;System. out. println("y= "+y) ;42. public class XXK2 {private final int a;public XXK2(int a) {this. a=a;)public int f1 (int x) {if(x%2= =1) return a+x;else return a-x;public static void main(String[] args) {XXK2 x=new XXK2(3);int y= x. f1(l() ;System. out. println("y="+y);43. class Rectangle {private int a ,b;public RectangleCint aa , int bb) {a=aa; b=bb;}public int areaO {return a势b;}public int girthO {return 2券(a十b);}public class XXK3 extends Rectangle {privateInt c;public XXK3(int aa , int bb , int cc) {super(aa,bb); c=cc;}public int volumeO {return areaO赞c;}publicint arrisLengthO {return 2替girthO+4祷c;}public static void main(Stri吨口args){XXK3x=new XXK3 (l ,3,5) ;int yl =x. volumeO;int y2 =x. arrisLength() ;System.Olit. println(y1 +", "+y2);44. public class XXK4 {public static void main(String[] args) {int口[丁a={凹,5,剖,{3,6,9},{4 ,5,6}};int 8=0;{orCint i=O; i<a.length; i十十){or(int j=O; j<a[i].length; j+十)自+= a[i][jJ;System.out.printirk"5="十s)45.class ABC {inta ,b;public ABCCint a , int b) {this. a=的this.b=b;}public int compareToCABC x) {return a祷b-x.a祷x.b; }public class XXK5 {public static void mainCString[J args) {int [J[Jd={{3,肘,饨,6},{5,6},{2,9},饵,7}};ABC口arznewABC[5j;int i,k=O;for (i=O; i<d.length; i++)ar[iJ= new ABCCd[iJ[OJ,d[i丁[lJ);forCi=l; i<ar.length; i++)if(ar[i]. compareToCar[k].O) k=i;System. out. printlnC"k= "+ k) ;一、单选题,在括号内填写正确的选项编号1. B2.B3.D4.C5.D6.A7.A8.B9.C 10.B二、是非判断题,在每小题后面括号内打上对号J表示叙述正确,打上叉号×表示叙述错误11. X(错) 12. .J(对) 13. X(错) 14. .J(对) 15. X(错) 16. .J(对) 17. X(错) 18. X(错) 19. .J(对) 20. X(错) 21. X(错) 22. .J(对)23. X(错) 24.、J(对) 25. .J(对)三、填空题,在横线上填写正确的内容26. boolean 27. public 28. 20 29.构造30.静态31. final 32.按值33. final 34. "abcdef" 35. x[k一lJ 36. Boolean37.一般38.输出39. 3 40.运行状态四、写出下列每个程序编译和运行后的输出结果41. y=120 42. y=一7 43. 15 , 36 44. s=48 45. k=2一、单项选题1.设x和y均为bool量,则x && y为真的条件是( )。
A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假2. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0;while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 73. 假定p是具有int**类型的指针变量,则给p赋值的正确语句为()。
A. p=new int;B. p=new int*;C. p=new int**;D. p=new int[10];4. 以下关于函数模板叙述正确的是()。
A. 函数模板也是一个具体类型的函数B. 函数模板的类型参数与函数的参数是同一个概念C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数D. 用函数模板定义的函数没有类型5. 在多文件结构的程序中,通常把类的声明单独存放于()中。
A. 主文件B. 实现文件C. 库文件D. 头文件6. 假定有定义“int b[10]; int *pb;”,则不正确的赋值语句为()。
A. pb=b;B. pb=&b[0];C. pb=new int;D. pb=b[5];7. 假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=bb;}”,则执行“A x(0);”语句后,x.a和x.b的值分别为( )。