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()

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

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

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。

电大面向对象程序设计期末复习题

电大面向对象程序设计期末复习题

面向对象程序设计期末复习题一、单项选题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;”语句时将自动调用该类的( )。

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

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

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

[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程序时使用的命令是()。

电大面向对象程序期末复习题目与答案(精选)

电大面向对象程序期末复习题目与答案(精选)

电大面向对象程序期末复习题目与答案(精选)一、单选题,在括号内填写正确的选项编号{每小题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语言中,可以把实现了一个接口的类对象,赋给这个接口的引用对象。

《面向对象程序设计C--》期末试卷及答案

《面向对象程序设计C--》期末试卷及答案

一、选择填空题(共20小题,每小题2分,共40分)。

1. 关于C++与C语言关系的描述中,(d)是错误的。

a.C语言是C++语言的一个子集b.C语言与C++语言是兼容的c.C++语言对C语言进行了一些改进d.C++语言和C语言都是面向对象的2.按照标识符的要求,(a )符号不能组成标识符。

a.连接符b.下划线c.大小写字母d.数字字符3. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(c)组成配对关系。

a.缩排位置相同的ifb.在其之前未配对的ifc.在其之前未配对的最近的ifd.同一行上的if4. 在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是(c)。

a.1b.0c.6d.25. 设"char **s;",以下正确的表达式是(b)。

a.s="computer";b.*s="computer";c.**s="computer";d.*s='c';6. 对于"int *pa[5];"的描述中,(d )是正确的。

a.pa是一个指向数组的指针,所指向的数组是5个int型元素b.pa是一个指向某数组中第5个元素的指针,该元素是int型变量c.pa [5]表示某个元素的第5个元素的值d.pa是一个具有5个元素的指针数组,每个元素是一个int型指针7. 在下列表示引用的方法中,(a )是正确的。

已知:int m=10;a.int &x=m;b.int &y=10;c.int &z;d.float &t=&m;8. 下列for循环的次数为(b)。

for(i=0, x=0; !x&&i<=5; i++)a.5b.6c.1d.无限9. 对于C/C++语言的函数,下列叙述中正确的是(a)。

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案4

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案4

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案1一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。

1.下列语句序列执行后,k 的值是( B )。

int m=3, n=6, k=0;while( (m++) < ( -- n) ) ++k;A) 0 B) 1 C) 2 D) 32.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。

A) i = i + 2 B) a[0] = 7;C) i++ - --j; D) a(0) = 66;3.Java语言的类间的继承关系是( B )。

A) 多重的 B) 单重的 C) 线程的 D) 不能继承4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( C )。

i += i - 1;A) 10 B) 121 C) 11 D) 1005.下列选项中,用于在定义子类时声明父类名的关键字是( C )。

A)interface B) package C) extends D) class6.若已定义 byte[ ] x= {11,22,33,-66} ;其中0≤k≤3,则对x数组元素错误的引用是( C )。

A) x[5-3] B) x[k] C) x[k+5] D) x[0]7.下列语句序列执行后,ch1 的值是( B )。

char ch1='A',ch2='W';if(ch1 + 2 < ch2 ) ++ch1;A) ‘A' B) ‘B' C) ‘C' D) B8.下列语句序列执行后,i 的值是( D )。

int i=8, j=16;if( i-1 > j ) i--; else j--;A) 15 B) 16 C) 7 D) 89.下列语句序列执行后,k 的值是( C )。

《面向对象程序设计》期末考试试卷参考

《面向对象程序设计》期末考试试卷参考

《面向对象程序设计C++》期末考试试卷一、选择题(每小题3分,共48分。

)01、下列关于C++函数的叙述中,正确的是( C )。

A)每个函数至少要具有一个参数 B)每个函数都必须返回一个值C)函数在被调用之前必须先声明 D)函数不能自己调用自己02、下列关于类和对象的叙述中,错误的是( A )。

A)一个类只能有一个对象 B)对象是类的具体实例C)类是对某一类对象的抽象 D)类和对象的关系是一种数据类型与变量的关系03、在C++中,用于实现运行时多态性的是( D )。

A)内联函数 B)重载函数 C)模板函数 D)虚函数!04、下列关于运算符重载的叙述中,正确的是( B )。

A)通过运算符重载,可以定义新的运算符 B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+ D)重载二元运算符时,必须声明两个形参05、对于语句 cout<<x<<endl;错误的是描述是( D )。

A)“cout”是一个输出流对象B)“endl”的作用是输出回车换行C)“x”是一个变量D)“<<”称作提取运算符(插入运算符)06、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是( 保护数据成员个数1,保护陈谷原函个数2 )。

( B )class MyBASE{ private: int k;public: void set(int n){ k=n;}int get( )const{ return k;} };class MyDERIVED: protected MyBASE{ protected: int j;public: void set(int m, int n){ MyBASE::set(m); j=n;}int get( ) const { return MyBASE::get( )+j; } };A)4 B)3 C)2 D)107、已知在一个类体中包含如下函数原型: Volume operator-(Volume)const;,下列关于这个函数的叙述中,错误的是( B )。

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

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

《面向对象程序设计》期末查核试题样例及解答一、单项选择(每题 1分,12小题,共12分)C++源程序言件的缺省扩展名为()。

A.cppB.exeC.objD.lik2.x>0||y==5 的相反表达式为()。

A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==53. 在下边的字符数组定义中,有语法错误的选项是( )。

A.chara[20]= “abcdefg”;B.chara[]=“x+y=55.”;C.chara[15];D.chara[10]= ’5’;以下正确的函数原型语句是()。

doublefun(intx,inty)doublefun(intx;inty)doublefun(int,int);doublefun(intx,y);5. 在下边储存类中,()的对象不是局部变量。

A. 外面静态类B. 自动类C. 函数形参D. 寄存器类6. 假设有“structBOOK{chartitle[40];floatprice;};BOOK*book=newBOOK;”,则正确的语句是()。

A.strcpy(book->title, ”WangTao”);B.strcpy(book.title,”WangTao”);C. strcpy(*book.title, ”WangTao”);D.strcpy((*book)->title, ”WangTao”);7. 软件产品所拥有的所有或部分地再用于新的应用的能力称为该软件的()。

A. 可保护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,往常把含有main()函数的文件称为()。

A. 主文件B. 实现文件C. 程序言件D. 头文件9. 在一个用链表实现的行列类中,假设每个结点包括的值域用elem表示,包括的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail 表示,若链队为空,则进行插入时一定把新结点的地点赋给 ( ) 。

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

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

一、单项选择题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)。

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){。

相关文档
最新文档