2019电大面向对象程序设计期末复习题4及参考答案(经典复习考试题)

合集下载

电大《面向对象程序设计》形考任务四

电大《面向对象程序设计》形考任务四

试卷总分:25 得分:25一、单项选择题(每题1分,共10分)1.下面()既可以作为流的数据源,又可以作为流的目的地。

A.扫描仪B.磁盘文件C.键盘D.显示器【答案】:B2.进行文件输入输出操作时,最常用的系统包是()。

A.java.utilngC.java.ioD.java.awt【答案】:C3.Java中有3个标准输入/输出流,下面的()不包含在内。

A.System.curB.System.outC.System.inD.System.err【答案】:A4.在读字符文件Employee.dat 时,使用该文件作为参数的类是()。

A.FileInputStreamB.DataOutputStreamC.BufferedReaderD.DataInputStream【答案】:A5.下列不是InputStream 子类的是()。

A.ZipInputStreamB.FileOutputStreamC.ObjectInputStreamD.FileInputStream【答案】:B6.下列哪个类不是异常类的父类?()。

A.ObjectB.ThrowableC.ErrorD.Exception【答案】:C7.下面的关键字()与异常处理无关。

A.voidB.tryC.throwD.throws【答案】:A8.下面的异常()为数组下标越界异常。

A.ArrayIndexOutOfBoundsExceptionB.FileNotFoundExceptionC.ArithmeticExceptionD.NullPointerException【答案】:A9.下面()既可以作为流的数据源,又可以作为流的目的地。

A.键盘B.显示器C.磁盘文件D.扫描仪【答案】:C10.Java中有3个标准输入/输出流,下面的()不包含在内。

A.System.curB.System.outC.System.inD.System.err【答案】:A二、判断题(每题1分,共10分)11.在Java中将信息的输入与输出过程抽象为输入/输出流。

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

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

面向对象程序设计复习题二一、填空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、重载的意义在于丰富了动作的多样性,但是并不加重程序员的负担。

《面向对象程序设计》期末考核试题样例及解答

《面向对象程序设计》期末考核试题样例及解答

《面向对象程序设计》期末考核试题样例及解答一、单项选择(每小题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. 语言是在语言的基础上发展起来的。

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

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

网络教育课程考试复习题及参考答案面向对象程序设计一、填空题: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中异常抛出使用保留字。

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。

该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。

做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。

本文库还有其他网核及教学考一体化答案,敬请查看。

《面向对象程序设计》题库及答案一一、单项选择题(每小题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的值分别为( )。

2020年电大面向对象程序设计期末复习题4及参考答案(经典复习考试题)

2020年电大面向对象程序设计期末复习题4及参考答案(经典复习考试题)

1. 由C++源程序文件编译而成的目标文件的默认扩展名为( C )。

A. cpp B. exe C. objD. lik2.设x和y均为bool量,则x && y为真的条件是( A )。

A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假3. 在下面的二维数组定义中,正确的语句是( C )。

A. int a[5][]; B. int a[][5]; C. int a[][3]={{1,3,5},{2}};D. int a[](10);4. 在文件包含命令中,被包含文件的扩展名( C )。

A. 必须是.h B. 不能是.h C. 可以是.h或.cppD. 必须是.cpp5. 要使语句“p=new int[10][20];”正确,p应事先定义为( D )。

A. int *p; B. int **p; C. int *p[20];D. int(*p)[20];6. 在关键字public后面定义的成员为该类的( B )成员。

A. 私有 B. 公用 C. 保护 D. 任何7. 假定AA为一个类,a为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为( A )。

A.a B. AA::a C. a() D. AA::a()8. 队列具有(A )的操作特性。

A. 先进先出 B. 先进后出 C. 进出无序 D. 仅进不出9. 假定AB为一个类,则执行”AB a, b(3), *p;”语句时共调用该类构造函数的次数为( D )次。

A. 5 B.4 C. 3 D. 210. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )。

A. 作为友元函数重载的1元运算符B. 作为成员函数重载的1元运算符C. 作为友元函数重载的2元运算符D. 作为成员函数重载的2元运算符1. 当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到____下一行____的开始位置。

《面向对象程序设计(本科)》2019-2020期末试题及答案

《面向对象程序设计(本科)》2019-2020期末试题及答案

面向对象程序设计 试题 第 1 页 共7页
《面向对象程序设计(本科)》2019-2020期末试题及答案
一、单选题:从供选择的答案中选出正确的答案,将其字母编号填入下列叙述的括号内(每小题4分,共40分)。

请将答题结果填入该表:
1. 在C#.Net 中,用来创建主菜单的对象是( )。

A. Menu B.MenuItem C.MenuStrip D.Item 5.在
C#中,定义派生类时,指定其基类应使用的语句是( )。

A.Inherits
B.:
C.Class
D.Overrides 3.加载窗体时触发的事件是( )。

A. Click
B.Load
C.GotFoucs
D.DoubleClick 4.属于C#语言的关键字( )。

A. abstract
B. camel
C. Salary
D. Employ 2. 以下说法正确的是( )。

A. 接口可以实例化
B. 类只能实现一个接口
C. 接口的成员都必须是未实现的
D. 接口的成员前面可以加访问修饰符
6.在VC#.Net 中,可以标识不同的对象的属性是( )。

A.Text
C.Title
D.Index 7.在C#中定义接口时,使用的关键字是( )。

《面向对象程序设计》习题四答案

《面向对象程序设计》习题四答案

面向对象程序设计习题4
(3) 下列程序中,基类base和派生类d1、d2中都含有私有、 保护和公有成员,d1类是base的派生类,d2是d1问属性的变化
面向对象程序设计习题4 #include <iostream.h> #include <iostream.h> class base class base {{private: int n1; private: int n1; protected: int k1; protected: int k1; public: public: base(){n1=0;k1=1;} base(){n1=0;k1=1;} void fun1(){cout<<n1<<k1<<endl;} }; void fun1(){cout<<n1<<k1<<endl;} }; class d1:public base class d1:public base {{ int n2; int n2; protected: protected: int k2; int k2; public: public: d1(){n2=10;k2=11;} d1(){n2=10;k2=11;} void fun2(){cout<<n1<<k1<<endl; cout<<n2<<k2<<endl;} }; void fun2(){cout<<n1<<k1<<endl; cout<<n2<<k2<<endl;} }; class d2:public d1 class d2:public d1 {{ int n3; int n3; protected: protected: int k3; int k3; public: public: d2(){n3=20;k3=21;} d2(){n3=20;k3=21;} void fun3() void fun3()
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A. 作为友元函数重载的1元运算符 B.作为成员函数重载的 1元运算符C. 作为友元函数重载的 2_____ 不允许 _____ 向*this 或2 .设x 和y 均为bool 量,则x && y 为真的条件是(A ) 它们均为假D.其中一个为假3.在下面的二维数组定义中,正确的语句是 (C )a[][3]={{1,3,5},{2}}; D. i nt a[](10);4.在文件包含命令中,被包含文件的扩展名( C)oD.必须是.cpp5.要使语句"p=new int[10][20]; "正确,p 应事先定义为(A. 它们均为真B. 其中一个为真C.A. i nt a[5][];B. i nt a[][5];C. i ntA. 必须是.hB. 不能是.hC. 可以是.h 或.cppD )o A. i nt *p; B. i nt **p; C. i nt*p[20]; D. i nt (*p )[20];6. 在关键字public 后面定义的成员为该类的( B )成员。

A. 私有 B. 公用 C. 保护 D. 任 何元运算符 D. 作为成员函数重载的 2元运算符1. 当执行cout 语句输岀endl 数据项时,将使C++显示输岀屏幕上的光标从当前位置移动到 _____________ 下一行 ______ 的开始位置2. 假定x 和y 为整型,其值分别为16和5,贝U x/y 和double (x )/y 的值分别为 _____ 3 ______和 _______ 3.2 __ 。

3. strlen( ” apple ”)的值为 _______ 5 _____4. C++程序运行时的内存空间可以分成全局数据区,堆区,栈区和 ______ 代码 ________ 区5•假定a 是一个一维指针数组,则a+i 所指对象的地址比a 大 —4 * i ______ 字节。

6. 如果一个派生类只有一个唯一的基类,则这样的继承关系称为 ______ 单继承 ______ o7. 假定AA 是一个类,“ AA* abc ()c on st;"是该类中一个成员函数的原型,在该函数体中 其成员赋值。

8 •假定用户没有给一个名为AB 的类定义构造函数,则系统为其定义的构造函数为 ___________ AB () {} _____ o9•假定用户为类 AB 定义了一个构造函数 "AB (i nt aa ) {a=aa;}",该构造函数实现对数据成员 _________ a ____ 的初始化10.作为类的成员函数重载一个运算符时,参数表中只有一个参数,说明该运算符有 ____ 2 ____ 个操作数。

三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面 (每小题5分,共20分) 1.打印岀2至99之间的所有素数(即不能被任何数整除的数)。

#in clude<iostream.h> #in clude<math.h> void mai n() { int i,n;lik7. 假定AA 为一 个类, a 为该类私有的数据成员,若要在该类的一个成员函数中访问它, 则书写格式最好为 (A ) o A aB. AA::aC. a()D. AA::a()8. 队列具有( A ) 的操作特性。

A. 先进先岀B. 先进后岀C.进岀无序 D. 仅进不岀9. 假定AB 为一 个类, 则执行” AB a, b(3), *p; ”语句时共调用该类构造函数的次数为(D )次。

A.5 B.4C. 3D.210.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )for(n=2; ___(1)___; n++) { int temp=i求岀n的平方根并取整nt(sqrt( n)); // for(i=2; ⑵ ; i++)if(n %i==0) ___⑶___if(i>temp)cout<<n<<':}cout<<'\n';⑴ n<=99 ⑵i<=temp2.下面是对按从小到大排列的有序数组 int Bin arySearch(i nt a[],i nt n ,i nt x) { int low=0, high=n-1; // int mid; // while(low<=high) { mid= __ (1) __ ; if(x==a[mid]) _ ⑵ ___ ; else if(x<a[mid]) high=mid-1; else ___ (3) __ ; } (3) breaka[n]中进行二分查找x 的算法,若查找成功返回该元素下标,否则返回定义并初始化区间下界和上界变量 定义保存中点元素下标的变量return -1;} (1) (low+high)/2 (2) return mid (3)low=mid+1 3 •请补充完整如下的类定义: class A {char *a; public: —(1)— //A(char *aa){ a=—⑵—;// strcpy(a,aa); // }—(3)— // 定义无参构造函数,使 a 的值为空进行动态存储分配用aa 所指字符串初始化 a 所指向的动态存储空间定义析构函数,删除 a 所指向的动态存储空间 -1}; ⑴ A() {a=0;}或 A():a(O){}(3)〜A() {delete []a;} 4. 一种类定义如下: class Goods(2) new char[strlen(aa)+1]{ private:char gd_n ame[20];//int weight;//static int totalweight; // public:Goods (char*str,i nt w){ // strcpy(gd _n ame,str); weight=w;totalweight+=weight; }〜Goods (){totalweight -= weight;} char* GetN(){___(1)___;}//int GetW(){return weight;}商品名称 商品重量 同类商品总重量构造函数返回商品名称(每小题6分,共_⑵___ GetTotal_Weight() { // 定义静态成员函数返回总重量—(3)—; } }(1) return gd n ame(2) static int (3) return totalweight四、理解问答题,写岀前三小题的程序运行结果和指岀后两小题的程序(或函数)所能实现的功能 30分)1. #in clude<iostream.h> const int T=8; void mai n() {int i,s=0;for(i=1;i<=T;i+=2){ s+=i*i;coutvvsvv'';}cout«e ndl; }运行结果:1 10 35 842. #i nclude<iostream.h>class CE { private: int a,b;int getmax() {return (a>b? a:b);} public: in t c;void SetValue( int x1,i nt x2, i nt x3) { a=x1; b=x2; c=x3; }int GetMax(); };int CE::GetMax() { int d=getmax(); return (d>c? d:c); }void mai n(){int x=5,y=12,z=8;CE ex;ex.SetValue(x,y,z);cout<<ex.GetMax()<<e ndl;}运行结果:123. #in clude<iostream.h>class A {int a,b;public:A(i nt aa, int bb) {a=aa; b=bb;}float Multip(char op) {switch(op) {case '+': retur n a+b;case '-': retur n a-b;case '*': retur n a*b;default: cout<v'\n'v<opvv" 非法运算符!"<<endl;exit(1); // 退岀程序运行}}};void mai n() {A x(10,4);char a[6]="+-*";int i=0;while(a[i]) {cout<< x.Multip(a[i])<v':i++;}cout«e ndl;}运行结果:14 6 404. #in clude<iostream.h>#in clude<stdlib.h>#in clude<time.h>con st int N=10;in t ff(i nt x, i nt y) {int乙cout<vxvv'+'vvyvv'=:cin>>z;if(x+y==z) return 1; else return 0;}void mai n(){int a,b,c=0;sran d(time(0)); // 初始化随机数序列for(int i=0;i<N;i++) {a=rand()%20+1; //rand() 函数产生 0-32767之间的一个随机数b=ra nd()%20+1;c+=ff(a,b);}cout«"得分:"<<c*10<<endl;}程序功能:让计算机随机产生岀10道20以内整数的加法题供用户计算,每道题 10分,计算完成后打印岀得分。

5. char *f(char *s){。

相关文档
最新文档