2022年全国计算机二级C++考试复习知识点汇总 2.pdf
《2022年全国计算机二级C++考试复习知识点汇总 2.pdf》由会员分享,可在线阅读,更多相关《2022年全国计算机二级C++考试复习知识点汇总 2.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2017年全国计算机二级C+考试复习知识点汇总一、C+概述(一)发展历史1980年,Bjarne Stroustrup博士开始着手创建一种模拟语言,能够具有面向对象的程序设计特色。在当时,面向对象编程还是一个比较新的理念,Stroustrup 博士并不是从头开始设计新语言,而是在C语言的基础上进行创建。这就是 C+语言。1985年,C+开始在外面慢慢流行。经过多年的发展,C+已经有了多个版本。为次,ANSI和 ISO的联合委员会于 1989年着手为 C+制定标准。1994年 2月,该委员会出版了第一份非正式草案,1998年正式推出了 C+的国际标准。(二)C 和 C+C+是 C的超集,也可以说
2、 C是 C+的子集,因为 C先出现。按常理说,C+编译器能够编译任何C程序,但是 C和 C+还是有一些小差别。例如 C+增加了 C不具有的关键字。这些关键字能作为函数和变量的标识符在 C程序中使用,尽管C+包含了所有的 C,但显然没有任何 C+编译器能编译这样的 C程序。C程序员可以省略函数原型,而C+不可以,一个不带参数的C函数原型必须把 void 写出来。而 C+可以使用空参数列表。C+中 new和 delete 是对内存分配的运算符,取代了 C中的 malloc 和 free。标准 C+中的字符串类取代了C标准 C函数库头文件中的字符数组处理函数。C+中用来做控制态输入输出的iostre
3、am 类库替代了标准 C中的 stdio 函数库。C+中的 try/catch/throw异常处理机制取代了标准C中的 setjmp()和 longjmp()函数。二、关键字和变量C+相对与 C增加了一些关键字,如下:typename bool dynamic_cast mutable namespace static_cast using catch explicit new virtual operator false private template volatile const protected this wchar_t 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共
4、13 页 -const_cast public throw friend true reinterpret_cast try bitor xor_e and_eq compl or_eq not_eq bitand 在 C+中还增加了 bool 型变量和 wchar_t 型变量:布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1 或 0。要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假;反之如果整型值为非 0,则其布尔型值为真。布儿型变量在运行时通常用做标志,比如进行逻辑测试以改变程序流程。#inclu
5、de int main()bool flag;flag=true;if(flag)cout return 0;C+中还包括 wchar_t 数据类型,wchar_t 也是字符类型,但是是那些宽度超过 8 位的数据类型。许多外文字符集所含的数目超过256 个,char 字符类型无法完全囊括。wchar_t 数据类型一般为16 位。标准 C+的 iostream 类库中包括了可以支持宽字符的类和对象。用 wout 替代 cout 即可。#include int main()wchar_t wc;wc=b;wout wc=y;wout wc=e;名师资料总结-精品资料欢迎下载-名师精心整理-第 2
6、页,共 13 页 -wout return 0;说明一下:某些编译器无法编译该程序(不支持该数据类型)。三、强制类型转换有时候,根据表达式的需要,某个数据需要被当成另外的数据类型来处理,这时,就需要强制编译器把变量或常数由声明时的类型转换成需要的类型。为此,就要使用强制类型转换说明,格式如下:int*iptr=(int*)&table;表达式的前缀(int*)就是传统 C风格的强制类型转换说明(typecast),又可称为强制转换说明(cast)。强制转换说明告诉编译器把表达式转换成指定的类型。有些情况下强制转换是禁用的,例如不能把一个结构类型转换成其他任何类型。数字类型和数字类型、指针和指针
7、之间可以相互转换。当然,数字类型和指针类型也可以相互转换,但通常认为这样做是不安全而且也是没必要的。强制类型转换可以避免编译器的警告。long int el=123;short i=(int)el;float m=;int i=(int)m;上面两个都是 C风格的强制类型转换,C+还增加了一种转换方式,比较一下上面和下面这个书写方式的不同:long int el=123;short i=int(el);float m=;int i=int(m);使用强制类型转换的最大好处就是:禁止编译器对你故意去做的事发出警告。但是,利用强制类型转换说明使得编译器的类型检查机制失效,这不是明智的选择。通常,是
8、不提倡进行强制类型转换的。除非不可避免,如要调用malloc()函数时要用的 void 型指针转换成指定类型指针。四、标准输入输出流在 C语言中,输入输出是使用语句scanf()和 printf()来实现的,而 C+中是使用类来实现的。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 13 页 -#include main()的声明class 类名 private:.public:.;2.类的成员一般在 C+类中,所有定义的变量和函数都是类的成员。如果是变量,我们就叫它数据成员如果是函数,我们就叫它成员函数。3.类成员的可见性private和 public访问控制符决定了成员的可见
9、性。由一个访问控制符设定的可访问状态将一直持续到下一个访问控制符出现,或者类声明的结束。私有成员仅能被同一个类中的成员函数访问,公有成员既可以被同一类中的成员函数访问,也可以被其他已经实例化的类中函数访问。当然,这也有例外的情况,这是以后要讨论的友元函数。类中默认的数据类型是private,结构中的默认类型是public。一般情况下,变量都作为私有成员出现,函数都作为公有成员出现。类中还有一种访问控制符protected,叫保护成员,以后再说明。4.初始化在声明一个类的对象时,可以用圆括号()包含一个初始化表。看下面一个例子:#include class Box private:名师资料总结-
10、精品资料欢迎下载-名师精心整理-第 4 页,共 13 页 -int height,width,depth;联函数内联函数和普通函数的区别是:内联函数是在编译过程中展开的。通常内联函数必须简短。定义类的内联函数有两种方法:一种和 C语言一样,在定义函数时使用关键字 inline。如:inline int Box:volume()return height*width*depth;还有一种方法就是直接在类声明的内部定义函数体,而不是仅仅给出一个函数原型。我们把上面的函数简化一下:#include class Box private:int height,width,depth;public:Box
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年全国计算机二级C+考试复习知识点汇总 2022 全国计算机 二级 C+ 考试 复习 知识点 汇总
限制150内