C语言程序设计复习题

上传人:新** 文档编号:446047027 上传时间:2023-07-06 格式:DOC 页数:16 大小:63.50KB
返回 下载 相关 举报
C语言程序设计复习题_第1页
第1页 / 共16页
C语言程序设计复习题_第2页
第2页 / 共16页
C语言程序设计复习题_第3页
第3页 / 共16页
C语言程序设计复习题_第4页
第4页 / 共16页
C语言程序设计复习题_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《C语言程序设计复习题》由会员分享,可在线阅读,更多相关《C语言程序设计复习题(16页珍藏版)》请在金锄头文库上搜索。

1、C+程序设计复习题一、 选择题1 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( ) A、类 B、对象 C、函数体 D、数据块2面向对象的程序设计语言必须具备的关键要素是( ) A、抽象和封装 B、抽象和多态性 C、抽象、封装、继承和多态性 D、抽象、封装和继承性3类的构造函数被自动调用执行的情况是在定义该类的( ) A、成员函数时 B、数据成员时 C、对象时 D、友元函数时4设有函数模板 template Q Sum(Qx,Qy) return(x)+(y); 则下列语句中对该函数模板错误的使用是( ) A、Sum(10,2); B、Sum(5.0,6

2、.7); C、Sum(15.2f,16.0f); D、Sum(AB,CD);5已知类A是类B的友元,类B是类C的友元,则( ) A、类A一定是类C的友元 B、类C一定是类A的友元 C、类C的成员函数可以访问类B的对象的任何成员 D、类A的成员函数可以访问类B的对象的任何成员6静态成员函数没有( ) A、返回值 B、this指针 C、指针参数 D、返回类型7当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( ) A、都是虚函数 B、只有被重新说明时才是虚函数 C、只有被重新说明为virtual时才是虚函数 D、都不是虚函数8下面叙述不正确的是( ) A、派生类一般都用公有派

3、生 B、对基类成员的访问必须是无二义性的 C、赋值兼容规则也适用于多重继承的组合 D、基类的公有成员在派生类中仍然是公有的9在C+中实现封装是借助于( ) A、枚举 B、类 C、数组 D、函数10所有在函数中定义的变量,都是( ) A、全局变量 B、局部变量 C、静态变量 D、寄存器变量11下列特性中,C与C+共有的是( ) A、继承 B、封装 C、多态性 D、函数定义不能嵌套12通常情况下,函数模板中的类型参数个数不能是( ) A、0 B、2 C、4 D、313在下列成对的表达式中,运算符“+”的意义不相同的一对是( ) A、 B、5.0+2.0和5+2.0 C、5.0+2.0和5+2 D、

4、14类的指针成员的初始化是通过函数完成的,这个函数通常是( ) A、析构函数 B、构造函数 C、其它成员函数 D、友元函数15要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( ) A、const char *p=“ABCD”; B、char const *p=“ABCD”; C、char *const p=“ABCD”; D、const char * const p=“ABCD”;16如果表达式+i*k中的“+”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为( ) A、operator*(i.operator+(),k) B、operator*

5、(operator+(i),k) C、i.operator+().operator*(k) D、k.operator*(operator+(i)17下列说法中正确的是( ) A、类定义中只能说明函数成员的函数头,不能定义函数体 B、类中的函数成员可以在类体中定义,也可以在类体之外定义C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中 D、在类体之外定义的函数成员不能操作该类的私有数据成员18若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的( ) A、私有成员 B、公有成员 C、保护成员 D、保护成员或私有成员19对基类和派生类的关系描述中,错误的是( )

6、A、派生类是基类的具体化 B、基类继承了派生类的属性 C、派生类是基类定义的延续 D、派生类是基类的特殊化20类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p-A:func()将( ) A、调用类A中的函数func() B、调用类B中的函数func() C、根据p所指的对象类型而确定调用类A中或类B中的函数func() D、既调用类A中函数,也调用类B中的函数答案:1B 2C 3C 4D 5D 6B 7A 8D 9B 10B11D 12A 13C 14B 15D 16B 17B 18A 19B 20A二、 填空题1假定用户没有给一个名为AB的类定

7、义析构函数,则系统自动给出的缺省析构函数定义为_。2模板定义中标识类型的参数必须用关键字_修饰。3表达式counthex还可表示为_。4通过C+语言中的_机制,可以从现存类中构建其子类。5要在调用虚函数的时候强制进行静态联编,可以通过在调用中对虚函数加_实现。6封装要求一个对象应具备明确的功能,并具有_以便和其它对象相互作用。7在删除一个动态对象时,将自动调用该动态对象所属类的_函数。8静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是_。9在下面的类定义中,私有成员有_。 class Location int X,Y; protected: int zeroX,zerxY; i

8、nt SetZero(intzeroX, intzeroY); private: int length,height; public: void init(int initX,int initY); int GetX(); int GetY(); ;10类的私有成员只能被它的成员函数和_访问。11在用C进行程序设计时,最好用_代替malloc。12函数模板中紧随template之后尖括号内的类型参数都要冠以保留字_。13在ios类中定义的用于控制输入输出格式的枚举常量中,用于代表十进制、八进制和十六进制的3个枚举常量是dec、oct和_。14如果重载了运算符,则相应的运算符函数名是_。15由s

9、tatic修饰的数据成员为该类的所有对象_。16设函数max是由函数模板实现的,并且max(3.5,5)和max(10,5)都是正确的函数调用,则该模板具有_个类型参数。17在单继承和多继承方式中,面向对象的程序设计应尽量使用_继承。18语句序列 ifstream datafile; datafile.open(“data.dat”); 的功能可用一个语句实现,这个语句是_。19将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。此时const不是指定函数的返回值,而是修饰_指针。20一个抽象类的派生类可以实例化的必要条件是实现了所有的_。21在C+中,虚函数帮助

10、实现了类的_性。22通过C+语言中类的_,可以扩充和完善已有类以适应新的需求。23为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义_。24在联合中,所有数据成员具有_的地址,任一时刻只有_个数据成员有效。25.在已经定义了整型指针ip后,为了得到一个包括10个整数的数组并由ip所指向,应使用语句_。26为了实现多态性,派生类需重新定义基类中的_。27编译时的多态性通过_函数实现。28在派生类中实现基类成员的初始化,需要由派生类的构造函数调用_来完成。29在C中,访问指针所指向的对象的成员使用运算符_。30重载函数在参数类型或参数个数上不同,但_相同。答案:1 AB();2 class(或typcname)3cout,sctf(ios:hex,ios:basefield)(或coutsetf(ios:hex),或cout;30函数名三、 改错题1指出下面程序中的错误,并说明出错原因。 #includeiostre

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

当前位置:首页 > 高等教育 > 习题/试题

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