OOP技术:面向对象程序设计期末复习指导.doc

上传人:pu****.1 文档编号:551655937 上传时间:2023-12-23 格式:DOC 页数:24 大小:152.01KB
返回 下载 相关 举报
OOP技术:面向对象程序设计期末复习指导.doc_第1页
第1页 / 共24页
OOP技术:面向对象程序设计期末复习指导.doc_第2页
第2页 / 共24页
OOP技术:面向对象程序设计期末复习指导.doc_第3页
第3页 / 共24页
OOP技术:面向对象程序设计期末复习指导.doc_第4页
第4页 / 共24页
OOP技术:面向对象程序设计期末复习指导.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《OOP技术:面向对象程序设计期末复习指导.doc》由会员分享,可在线阅读,更多相关《OOP技术:面向对象程序设计期末复习指导.doc(24页珍藏版)》请在金锄头文库上搜索。

1、OOP技术:面向对象程序设计期末复习指导面向对象程序设计课程系中央电大开放教育本科计算机科学与技术专业统设必修课程,本课程的期末复习以中央电大下发的资料和网上复习指导为准。为了加强期末复习,下面市电大给出一套综合练习题,仅作参考。综合练习题一、单选题1、 C+源程序文件的默认扩展名为( )。A:cpp B:exe C:obj D:lik2、 用new运算符创建一个含10个元素的一维整型数组的正确语句是( )。A: int *p=new a10;B: int *p=new float10;C: int *p=new int10;D: int *p=new int10=1,2,3,4,53、 假定

2、有“struct BOOKchar title40; 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 int30;”,要释放p所指向的动态内存,应使用语句( )。A: delete p;B: delete *p;C: delete &p

3、;D: delete p;5、 关于消息,下列说法中不正确的是( )。A: 发送消息的对象请求服务,接受消息的对象提供服务B: 消息的发送者必须了解消息的接收者如何相应消息C: 在C+中,消息的发送具体体现为对接收消息的对象的某个函数的调用D: 每个对象只能接收某些特定格式的消息6、 对于任一个类,用户所能定义的析构函数的个数至多为( )。A: 0B: 1C: 2D: 任意个7、 do语句能够改写为( )语句。A: 复合B: ifC: switchD: while8、 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为( )。A: x(a)B: xa

4、C: x-aD: x.a9、 假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为( )。A: x.aB: x.a()C: x-GetValue()D: x.GetValue()10、 假定AB为一个类,则( )为该类的拷贝构造函数的原型说明。A: AB(AB x);B: AB(AB& x);C: void AB(AB& x);D: AB(int x);11、 关于运算符重载,下列说法正确的是( )。A: 重载时,运算符的优先级可以改变。B: 重载时,运算符的结合性可以改变。C: 重载时,运算符的功

5、能可以改变。D: 重载时,运算符的操作数个数可以改变。12、 下列对派生类的描述中错误的说法是:( )。A: 派生类至少有一个基类B: 派生类可作为另一个派生类的基类C: 派生类除了包含它直接定义的成员外,还包含其基类的成员D: 派生类所继承的基类成员的访问权限保持不变13、 C+程序的基本模块为( )。A: 语句B: 函数C: 表达式D: 标识符14、 以下叙述中不正确的是( )。A: 在一个函数中,可以有多条return语句B: 函数的定义不能嵌套,但函数的调用可以嵌套C: 函数必须有返回值D: 不同的函数中可以使用相同名字的变量15、 文件包含命令中被包含的文件的扩展名( )。A: 必须

6、是.hB: 不能是.hC: 可以是.h或.cppD: 必须是.cpp16、 软件产品可被全部或部分地再用于新的应用的能力叫做软件的( )。A: 可维护性B: 可复用性C: 兼容性D: 正确性17、 假定一个类的构造函数为 “A(int aa, int bb) a=aa; b=aa*bb;”,则执行 “A x(4,5);”语句后,x.a和x.b的值分别为( )。A: 4和5B: 5和4C: 4和20D: 20和518、 派生类的对象对其基类中( )可直接访问。A: 公有继承的公有成员B: 公有继承的私有成员C: 公有继承的保护成员D: 私有继承的公有成员19、 程序运行中需要从键盘上输入多于一个

7、数据时,各数据之间应使用( )符号作为分隔符。A: 空格或逗号B: 逗号或回车C: 逗号或分号D: 空格或回车20、 假定有定义“int b10; int *pb;”,则不正确的赋值语句为( )。A: pb=b5;B: *pb=new int;C: pb=&b0;D: pb=b;21、 假定变量a和pa定义为“double a10, *pa=a;”,要将12.35赋值给a中的下标为5的元素,不正确的语句是( )。A: pa5=12.35;B: a5=12.35;C: *(pa+5)=12.35;D: *(a0+5)=12.35;22、 关于面向对象系统分析,下列说法中不正确的是( )。A: 术

8、语“面向对象分析”可以用缩写OOA表示B: 面向对象分析阶段对问题域的描述比实现阶段更详细C: 面向对象分析包括问题域分析和应用分析两个步骤D: 面向对象分析需要识别对象的内部和外部特征23、 在C+程序中使用的cin标识符是系统类库中定义的( )类中的一个对象。A: istreamB: ostreamC: iostreamD: fstream24、 假定AB为一个类,则执行 “AB *px=new ABn;”语句时将( )。A: 动态分配一个数组B: 动态分配一个对象C: 静态分配一个数组D: 静态分配一个对象25、在下面循环语句中循环体执行的次数为( )。int i=0,s=0; whil

9、e(s20) i+; s+=i;A: 4B: 5C: 6D: 726、 以下叙述不正确的是( )。A: 宏替换不占用运行时间B: 宏名无类型C: 宏替换只是字符替换D: 宏名必须用大写字母表示27、 假定一条定义语句为“int a10, x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为( )。A: x=a3;B: x=*(a+3);C: x=pa3;D: x=*pa+3;28、 如果表达式+a中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。A: a.operator+(1)B: operator+(a)C: operator+(a,

10、1)D: a.operator+()29、 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( )。A:144B:156C:288D:1230、 在一个用链表实现的队列类中,假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队为空,则进行插入时必须把新结点的地址赋给( )。A:elemHeadB:elemTailC:elemHead和elemTailD:elemHead或elemTail31、 类的析构函数可以带有( )个参数。A:0B:1C:2D:任意32、 下面是重载双目运算符-的

11、成员函数原形,其中最符合-原来含义的是( )。A:Value Value:operator-(Value);B:Value Value:operator-(int);C:Value& Value:operator-(Value);D:Value& Value:operator-(Value&);33、 在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是( )。A:该运算符是一个单目运算符。B:该运算符函数有一个隐含的参数this。C:该运算符函数是类的成员函数。D:该运算符函数是类的友元函数。二、编程综合题1 #include void f4(int a, int n, int

12、& s) s=0; for(int i=0; in; i+) s+=ai; void main() int b8=4,8,6,9,2,10,7,12; int x; f4(b,5,x); coutx ; int y; f4(b+3,4,y); couty ; coutx+yendl; 2#include void main() int a10=76,83,54,62,40,75,90,92,77,84; int b4=60,70,90,101; int c4=0; for(int i=0;i=bj) j+; cj+; for(i=0;i4;i+) coutci ; coutendl; 3 #includeclass A int *a;public: A(int x=0):a(new int(x) A() delete a; int getA() return *a; void setA(int x) *a=x;void main() A x1,x2(3); A *p=&x2;p-setA(x2.getA()+5); x1.setA(15+x1.getA();coutx1.getA() x2.getA()endl;4#i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号