c++复习题汇总(适合于电子阅读)

上传人:第*** 文档编号:34037825 上传时间:2018-02-20 格式:DOC 页数:46 大小:169.50KB
返回 下载 相关 举报
c++复习题汇总(适合于电子阅读)_第1页
第1页 / 共46页
c++复习题汇总(适合于电子阅读)_第2页
第2页 / 共46页
c++复习题汇总(适合于电子阅读)_第3页
第3页 / 共46页
c++复习题汇总(适合于电子阅读)_第4页
第4页 / 共46页
c++复习题汇总(适合于电子阅读)_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《c++复习题汇总(适合于电子阅读)》由会员分享,可在线阅读,更多相关《c++复习题汇总(适合于电子阅读)(46页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计课程 复习题一、选择题,从供选择的答案中选出正确的答案(每小题 2 分,共计 20 分)1、由 C+源程序文件编译而成的目标文件的缺省扩展名为( ) 。Acpp BexeCobj Dlik2、设 x 和 y 均为 bool 量,则 x&y 为真的条件是( ) 。A它们均为真 B其中一个为真C它们均为假 D其中一个为假 3、下列的常量名中, ( )是非法的。AYEAR2002 Bwelcome_homeCzhang mail D_SIZE_2MB4、在内存中所存储的含 L 个字符的一个字符串常量是( ) 。A一串相应的 ASCII 码值,占用 L 个字节B一串相应的 ASCII

2、码值,占用 L+1 个字节C一组相应的正整数,占用 L 个字节D一组相应的整数,占用 2L 个字节5、AB 为一个类,则执行“AB a,b(3) ,*p;”语句时共调用该类构造函数的次数为( ) 。A2 B3 C4 D56、返回类型就是函数返回结果值的数据类型。返回类型可以是( ) 。A除数组和类以外的任意数据类型B除数组和结构类型以外的任意数据类型C除数组类型以外的任意数据类型D除指针和引用类型以外的任意数据类型7、重载函数是( ) 。A以函数参数来区分,而不用函数的返回值来区分不同的函数B以函数的返回值来区分,而不用函数参数来区分不同的函数C参数表完全相同而返回值类型不同的两个或多个同名函

3、数D参数表和返回值类型都必须是不同的两个或多个同名函数8、当保护继承时,基类的( )在派生类中成为保护成员,不能通过派生类的对象来直接访问该成员。A任何成员B公有成员和保护成员C保护成员和私有成员D公有成员和私有成员9、引入内联函数的主要目的是( ) 。A缩短程序代码,少占用内存空间B既可以保证程序的可读性,又能提高程序的运行效率C占用内存空间少,执行速度快 D使程序的结构比较清晰10、在下面的二维数组定义中,正确的是( ) 。Aint a5 Bint a5Cint a3=1,3,5,2 Dint a (10)c+基础知识1、 函数的参数和返回值类型可以是简单数据类型,也可以是指针、引用、数组

4、和类。()2、 C+程序总是从第一个定义的函数开始执行。 ()3、 C+语言是在 C 语言基础上扩充了函数功能而得来的。 ( )4、 在 VC6.0 开发环境中,对导入的所有位图资源都可以进行修改。 ()5、 在 C+中,标识符 Max 和 MAX 是不一样的。 ( )6、 C+函数必须有返回值,否则不能使用函数。 ( )7、 采用 inline 定义内联函数时,在对于函数代码少、频繁调用的情况下特别有效。()8、 引入内联函数的主要目的是缩短程序代码,让程序少占用内存空间。 ( )9、 在 C+程序中,可以使用命名空间,也可不使用命名空间。 ( )10、 C+中,如果条件表达式值为-1,则表

5、示逻辑为假。 ()11、 ASCII 码文件和二进制文件都可在记事本中直接打开。 ( )12、 在 C+语言中,表达式:“b+;” 和“+b;”在任何地方的作用都是不一样的。( ) 编程工具相关知识1、在 MFC 编程中,通过 Invalidate(TRUE)可以发出重绘视图的消息。 ( )2、在 MFC 编程中,视图/文档类程序是通过 OnDraw()函数进行进行输出的。 ( 3、使用 MFC 编程时,OnDraw 函数是 CView 类的成员函数。 ( )4、在文档/视图结构的程序中,输出是在 OnDraw()函数中完成的。 ( )5、在 VC6.0 开发环境中,可以同时开发几个工程。 (

6、 )6、Visual C+集成开发环境中,一个 Workspace 可以创建多个 Project。 ( )7 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。 ( )8、在 C 语言中,不使用命名空间,但在 C+程序中,一定要使用命名空间。 ( )字符串、数组、指针及地址1、字符串”hello,world”在内存中存放时,占用 11 个字节的空间(X )2、当函数的返回值是数组类型的,传递的是数组第一个元素的地址。 ()3、每个对象也有地址,该地址就是存储此对象数据成员的单元的首地址。 ( )4、在 C+语言中,指针的概念与 C 语言是一样的,都是

7、指变量的地址。 ( )5、在内存中,一个字符常量或变量是以 ASCII 码值存储的,它可直接作为整数值参加运算。 ()6、char *const p 表明 p 是一个指针,它只能指向一个字符串常量。 ()7、在定义二维数组时,语句“int a4=1,2,3 ,4;”是不正确的。 ()8、设 Time 是一个类,现有指针 p 的定义语句:const Time *p;则通过指针 p 不可以修改Time 类对象的公有数据成员。 ()9、在定义二维数组时,语句:int a5;是错误的。 ( )静态及动态成员函数、类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并没有撤销。

8、( )、如果在一个类的对象之间要进行数据交换,可以使用该类的静态数据成员来完成。 ( )类函数1、在 C+中,也可使用 struct 来声明类,但在该类中不能声明成员函数。 ( )2、在 c+语言中,也可以使用 struct(结构体)来定义一个类。 ()3、语句“ typedef struct _MYSTRUC int x; int y; double z; MYSTRUC; ”是非法语句。()4、在 C+语言中,使用 struct(结构体)定义的类与使用 class 定义的类是一样的。 ()5、在声明一个类时,必须同时声明类的数据成员和成员函数。 ()6、设函数 fun( )是一个不属于任何

9、类的普通函数,则在调用该函数时只能用 fun()方式,而不能用:fun() 方式来调用。 ( )7、如果一个类的所有对象都共享某一个变量,则应当将该变量定义为该类的私有成员。( )派生类1、派生类的成员函数可以直接访问基类的所有成员。 ()2、如果派生类的继承方式是 protected 的,则在 main( )函数中,可以通过派生类对象来访问基类的公有的成员。 ( )3、如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。 ()函数重载1、函数重载既要求两函数参数对应的类型不同又要求参数个数不同。 (X) 2、函数重载时,它们的参数个数

10、和类型要求都不能相同。 ()3、在 C+中,可以通过 ofstream 类对象来建立一个输出文件流。 ( )4、在 C+中,文件的输入输出可以通过 iostream 类对象来完成。 ( )5、cout 属于标准输出流,而 cerr 和 clog 则不属于标准输出流。 ( )类的友元函数1、类的友员函数是指可以访问本类私有成员的其它类的成员函数。 ( )2、能访问一个类 CMyClass 中的 private 成员的可以是类 CMyClass 的成员函数,友元函数和友元类中的函数。 ( )构造函数和析构函数1、构造函数和析构函数均不能被说明为虚函数。 ( )2、构造函数和析构函数均都可以被说明为

11、虚函数,只是构造函数和析构函数的功能不同而已。 ( )3、类的构造函数和析构函数一般都声明为虚函数。 ( )4、析构函数的作用是当对象不用时,删除对象。 ( )5、构造函数不具备的特征是构造函数需指定类型说明。 ()6、对对象成员的构造函数的调用顺序,取决于这些对象成员在成员初始化列表中的顺序。( ) 二、简答题1、面向过程的程序设计和面向对象的程序设计的主要区别是什么? 答:主要区别:面向过程的程序设计:以功能为中心,采用函数来描述,函数和操作的数据是分离的。程序的实现通过函数的顺序执行来实现。面向对象的程序设计:它吸取了面向过程的程序设计的优点,同时又考虑了现实世界和计算机处理的关系,它的

12、整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。2、在 VC+6.0 中,语句 CWnd:Invalidate() ;和语句 CWnd:UpdateData(TRUE) ;的功能分别是什么?答:CWnd:Invalidate() ;的功能是:发送重绘视图的消息,即执行重绘视图的OnDraw()函数。CWnd:UpdateData(TRUE) ;的功能是:说明对话框中控件的数据有效,这些数据放入对应控件的变量中。3、什么是面向对象的程序设计? 答:面向对象的程序设计:它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,

13、对象通过响应消息来实现程序的功能。它有四个基本的特征,即抽象、封装、继承和多态性。4、简要说明面向对象的程序设计的四个主要特征。 (评分标准:两个知识点各 4 分,后一个知识点每小点 2 分)答:主要特征:1) 、抽象,即忽略当前主题中与目标无关的那些方面,把它的主要特征抽取出来。抽象包括数据抽象和代码抽象。2) 、封装,它是将抽象得到的数据成员和代码相结合,形成一个有机的整体。并且,封装可以隐藏内部的细节。3) 、继承,它提供了代码重用的一种方式,派生类可以重用基类的属性和行为。4) 、多态性,它是指不同类的对象对同一消息作出不同反应,即 c+的代码可以根据运行情况的不同而执行不同的操作。5

14、、什么是类?什么是对象?什么是封装?什么是多态性? 答:类:是指具有相同的属性和操作方法,并遵守相同规则的对象的集合。对象:是包含现实世界物体特征的抽象实体,每个对象有内部的属性和操作方法。封装:是指将抽象得到的数据成员和代码相结合,形成一个有机的整体,并且将它们的细节隐藏起来的一种方法。多态性:是指允许不同类的对象对同一消息作出响应,即实现“一个接口,多种方法”或者说是向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为(即方法) 。C+中,多态性是通过指针和虚函数来实现的。6、类和结构有什么异同? (评分标准:两个知识点各 4 分)答:结构是类的一种特例,在结构体中也可以定义成员函数、构造函数和析构函数,成员也可使用 private、protected 、 public。结构和类的区别是:在缺省情况下,结构中的所有成员都是公有的,而在类中是私有的7、在 VC+6.0 中,模态对话框和非模态对话框的主要区别是什么?答:主要区别:模态对话框使用 DoModal()来启动,它垄断了消息循环,它只有在关闭后,才能返回应用程序。非模态对话框使用 Create()函数来产生,用DestroyWindow()函数来关闭。它与应用程序共用一个消息循环,它产生后,应用程序一样可以接收消息循环。8、什么是简单继承?什么是多重继承?在软件开发过程中,继承有什么

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

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