c++复习题汇总

上传人:正** 文档编号:41037656 上传时间:2018-05-28 格式:DOC 页数:40 大小:174KB
返回 下载 相关 举报
c++复习题汇总_第1页
第1页 / 共40页
c++复习题汇总_第2页
第2页 / 共40页
c++复习题汇总_第3页
第3页 / 共40页
c++复习题汇总_第4页
第4页 / 共40页
c++复习题汇总_第5页
第5页 / 共40页
点击查看更多>>
资源描述

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

1、1面向对象程序设计课程面向对象程序设计课程 复习题复习题一、判断题1. 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。 2. 派生类的成员函数可以直接访问基类的所有成员。 3. 函数的参数和返回值类型可以是简单数据类型,也可以是指针、引用、数组和类。4. 如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。 5. 函数重载既要求两函数参数对应的类型不同又要求参数个数不同。 6字符串”hello,world”在内存中存放时,占用 11 个字节的空间7当函数的返回值是数组类型的,传递的是数组第

2、一个元素的地址。8在内存中,一个字符常量或变量是以 ASCII 码值存储的,它可直接作为整数值参加运算。1、 2、X 3、X 4、 5、X 6、X 7、 8、 1在 C+中,也可使用 struct 来声明类,但在该类中不能声明成员函数。 ( )2在定义二维数组时,语句“int a4=1,2,3,4;”是不正确的。( )3采用 inline 定义内联函数时,在对于函数代码少、频繁调用的情况下特别有效。 ( )4类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并没有撤销。 ( )5构造函数和析构函数均不能被说明为虚函数。 ( )6char *const p 表明 p 是

3、一个指针,它只能指向一个字符串常量。 ( )7如果派生类的继承方式是 protected 的,则在 main( )函数中,可以通过派生类对象来访问基类的公有的成员。 ( )8在 C+中,可以通过 ofstream 类对象来建立一个输出文件流。 ( )9在 C 语言中,不使用命名空间,但在 C+程序中,一定要使用命名空间。 ( )10在 MFC 编程中,通过 Invalidate(TRUE)可以发出重绘视图的消息。 ( )123456789101C+程序总是从第一个定义的函数开始执行。 ( )2在 c+语言中,也可以使用 struct(结构体)来定义一个类。 ( )3设 x 和 y 均为 boo

4、l 量,则 x”是正确的。 ( )3如果一个类的所有对象都共享某一个变量,则应当将该变量定义为该类的私有成员。 ( )4函数重载时,它们的参数个数和类型要求都不能相同。 ( )5在文档/视图结构的程序中,输出是在 OnDraw()函数中完成的。 ( )6在 C+中,标识符 Max 和 MAX 是不一样的。 ( )7析构函数的作用是当对象不用时,删除对象。 ( )8在 C+中,文件的输入输出可以通过 iostream 类对象来完成。 ( )9在声明一个类时,可以不同时声明类的数据成员和成员函数。 ( )10在 VC6.0 开发环境中,可以同时开发几个工程。 ( )123456789101C+函数

5、必须有返回值,否则不能使用函数。 ( )2构造函数不具备的特征是构造函数需指定类型说明。 ( )3采用 inline 定义内联函数时,在对于函数代码少、频繁调用的情况下特别有效。 ( )4Visual C+集成开发环境中,一个 Workspace 可以创建多个 Project。 ( )5构造函数和析构函数均不能被说明为虚函数。 ( )6char *const p 表明 p 是一个指针,它只能指向一个字符串常量。 ( )7cout 属于标准输出流,而 cerr 和 clog 则不属于标准输出流。 ( )8ASCII 码文件和二进制文件都可在记事本中直接打开。 ( )9在 C+程序中,可以使用命名

6、空间,也可不使用命名空间。 ( )10在文档/视图结构的程序中,输出是在 OnDraw()函数中完成的。 ( )123456789101语句“ typedef struct _MYSTRUC int x; int y; double z; MYSTRUC; ”是非法语句。 ( ) 2对对象成员的构造函数的调用顺序,取决于这些对象成员在成员初始化列表中的顺序。 ( ) 3能访问一个类 CMyClass 中的 private 成员的可以是类 CMyClass 的成员函数,友元函数和友元类中的函数。 ( )4C+中,如果条件表达式值为-1,则表示逻辑为假。 ( )6在 C+语言中,表达式:“b+;”

7、 和“+b;”在任何地方的作用都是不一样的。 ( )7在定义二维数组时,语句:int a5;是错误的。 ( )8在 C+中,标识符 Max 和 MAX 是不一样的。 ( )9析构函数的作用是当对象不用时,删除对象。 ( )310引入内联函数的主要目的是缩短程序代码,让程序少占用内存空间。 ( )1234678910二、简答题1、面向过程的程序设计和面向对象的程序设计的主要区别是什么? 2、什么是对象?什么是简单继承?什么是多重继承? 3、在 VC+6.0 中,语句 CWnd:Invalidate() ;和语句 CWnd:UpdateData(TRUE) ;的功能分别是什么? 4、什么是面向对象

8、的程序设计? 5、什么是类?什么是封装?什么是多态性? 6、在 VC+6.0 中,模态对话框和非模态对话框的主要区别是什么?7什么是面向对象的程序设计?什么是简单继承?什么是多重继承?8什么是多态性?C+中,多态性是如何实现的?9c+中,什么是函数重载?什么是运算符重载?什么是构造函数?什么是析构函数?10构造函数和析构函数的作用是什么?什么时候需要自己定义构造函数和析构函数?11什么是面向对象的程序设计?它的几个特征是什么?12函数重载的主要作用是什么?调用不同的重载函数是在编译时决定还是在运行时决定?13简述类和对象的含义。面向对象程序设计和面向过程程序设计的主要区别是什么?14什么是友元

9、函数?友元函数的作用是什么?15函数重载的主要作用是什么?函数重载时参数个数不同时,能否有缺省参数,为什么?16简要说明面向对象的程序设计的四个主要特征。 17类和结构有什么异同? 18多态性是指什么?C+中多态性是如何实现的?19什么是类?什么是对象?什么是面向对象的程序设计? 20什么是简单继承?什么是多重继承?在软件开发过程中,继承有什么好处?21在 C+中,分别使用 while 和 dowhile 语句等价实现下列 for 语句的功能:for (i=0,k=0;i int sum(int ,int);void main()int ia5 = 2,3,6,8,10;A ;sumOfArr

10、ay = sum(ia,5);cout next= (2) ;p-data= (3) ;i+;p-next=NULL; /把最后一个结点的指针域置空p=L;L=L-next; /使 L 指向链表的第一个带值的结点Delete p;(1) i #include struct NODEint data;NODE * next;void Create(NODE * NODE *p;if(ndata = _(2)_;i=1;p=Head;while( idata= tablei ;_(4)_; _(5)_; /把最后一个结点的指针域置空 return;void main() int a10=1,2,3

11、,4,5;NODE *H;Create(H,a,5);三、填空题(1) Head=NULL(2) table0(3) p-next (4) i+(5) p-next=NULL三、填空题(每空 2 分,共 10 分)1根据程序说明和程序中的注释,填充程序中不完整的部分。类 Number 的成员函数 TwoTimes 是递归函数,功能是求 2n (假设 nusing namespace std;class Number private:int Num;public:int n;8int TwoTimes (int n) /递归函数 TwoTimes (n)求 2n 。if (_(1)_) retu

12、rn 0;if (n=0) _(2)_;else return _(3)_; int GetNum()return Num;Number(int n=0) Num = n;void main()Number *p;p =_(4)_;/动态生成由 p 指向的 Number 对象,并使 Num 为 5。coutTwoTimes(_(5)_);/输出 2Numdelete p;三、填空题(1) nGetNum()三、填空题(每空 2 分,共 10 分)1根据程序说明和程序中的注释,填充程序中不完整的部分。MyString 是自定义的一个字符串类,其成员函数 IsPalindrome 判断该字符串对象

13、是否是回文(即字符串顺读和倒读是一致的,比如字符串“12321”和“abba”都是回文,而“12345”则不是回文) 。构造函数用于给字符串赋值。#include using namespace std;#define MaxLen 100class MyString private:int Len; /字符串的长度char ValueMaxLen;/字符串的值public:int IsPalindrome() /判断 Value 是否是回文,是则返回 1,不是返回 0。int i=0;while(iMaxLen) Len = MaxLen;else Len=n;if (LenIsPalind

14、rome()0) 。#include using namespace std;class Number private:int Num;public:int n;int Factorial (int n) /递归函数 Factorial (n)求 n! 。if (_(1)_) return 1;else return _(2)_; int GetNum()return Num;Number(int n=1) if (nFactorial(_(5)_);/输出 Num!。delete p1;delete p2;三、填空题(1)n=0(2)n*Factorial (n-1)(3)new Number(4)new Number(7)(5)p2-GetNum()三、填空题(每空 2 分,共 10 分)1下面递归函数 NTimes (n,m)求 nm 。填充程序中不完整的部分(假设 m=0,否则返回值为 0) 。int NTimes (int n,int m) /递归函数 NTimes (n,m)求 nm。 if (mclass studentpublic:string name; /姓名float score; /成绩static float total; /学生的总成绩student(string n=”li”,float s=60.0) name = n; score = s;

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

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

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