C++面向对象程序设计-电子教案-栗青生 第2章

上传人:E**** 文档编号:89423389 上传时间:2019-05-25 格式:PPT 页数:215 大小:754.50KB
返回 下载 相关 举报
C++面向对象程序设计-电子教案-栗青生 第2章_第1页
第1页 / 共215页
C++面向对象程序设计-电子教案-栗青生 第2章_第2页
第2页 / 共215页
C++面向对象程序设计-电子教案-栗青生 第2章_第3页
第3页 / 共215页
C++面向对象程序设计-电子教案-栗青生 第2章_第4页
第4页 / 共215页
C++面向对象程序设计-电子教案-栗青生 第2章_第5页
第5页 / 共215页
点击查看更多>>
资源描述

《C++面向对象程序设计-电子教案-栗青生 第2章》由会员分享,可在线阅读,更多相关《C++面向对象程序设计-电子教案-栗青生 第2章(215页珍藏版)》请在金锄头文库上搜索。

1、C+面向对象程序设计 第二章,本章导读,C+语言是在C语言的基础上发展而来的,它比C语言更容易被人们学习和掌握。 C+语言对C语言的扩充,主要是引进了面向对象机制,包括类、对象、派生类、继承、多态等概念和新的语言机制,从而使C+成为一种面向对象的程序设计语言。 应该说明的是C+语言并没有完全抛弃C语言的成份,C+的面向对象和面向过程的双重特性是区别于其它面向对象语言的一个显著标志。,本章要点,C+的特点 C+程序的基本结构 C+和C语言的区别,第2章 目录,2.1 C+语言的产生和发展 2.2 C+程序的结构及编程环境 2.3 C+的数据类型 2.4 运算符、表达式和基本语句 2.5 函数 2

2、.6 作用域和引用 2.7 程序举例 2.8本章小结 习题二,2.1 C+语言的产生和发展,2.1.1 C+的产生 2.1.2 C+的特点,2.1.1 C+的产生,C+程序设计语言由C语言发展而来。C语言产生以后,最早在UNIX操作系统上使用,并且迅速被人们接受并得到了广泛的应用。到了80年代C语言已经风靡全球,成为一种应用最为广泛的程序设计语言。 但C语言在盛行的时候也显现出了自己的局限性,突出表现在以下几个方面:,()C语言类型检查机制较弱,这使得程序中的一些错误不能在编译时被发现。 ()C语言本身几乎没有支持代码的重用机制,这使得各个程序的代码很难为其他程序所用。 ()C语言不适合开发大

3、型的程序,当程序达到一定的规模时,程序员很难控制程序的复杂性。,为了避免C语言以上的这些不足之处,1980年贝尔实验室的Bjarne Stroustrup博士开始对C语言进行改编。 虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、名字空间(name space)逐渐被加入标准,1983年正式命名新的语言为C+语言。 1998年国际标准组织(ISO)颁布了C+程序设计语言的国际标准ISO/IEC 14882-1998。 C+是具

4、有国际标准的编程语言,通常称作ANSI/ISO C+。 C+继承了C的原有精髓,增加了对开发大型软件非常有效的面向对象机制,并且弥补了C语言不支持代码重用的不足,成为一种既可表现过程模型,又可表现对象模型的优秀的程序设计语言之一。目前C+仍在不断的发展当中。,2.1.2 C+的特点,()兼容C语言。这主要表现在大部分C程序不需修改即可在C+的编译环境下运行,用C语言编写的许多库函数和应用软件都可用于C+。 ()用C+编写的程序可读性更好,代码结构更合理,可直接地在程序中映射问题空间的结构。 ()生成的代码质量高,运行效率仅比汇编语言代码段慢10%20%。 ()从开发时间、费用到形成的软件的可重

5、用性、可扩充性、可维护性和可靠性等方面有了很大的提高,使得大中型的程序开发项目变得容易得多。 ()C+是面向对象的程序设计语言,可方便地构造出模拟现实问题的实体和操作。,2.2 C+程序的结构及编程环境,2.2.1 C+程序基本格式 2.2.2 C+程序的结构 2.2.3 C+程序的编程环境,2.2.1 C+程序基本格式,让我们通过程序2.1的学习,对C+程序的格式有一个初步的认识。 【例2.1】 #include using namespace std; int max(int x,int y);,void main()/主函数 int a,b,fmax; /定义三个整型变量 coutab;

6、/从键盘输入变量a和b的值 fmax=max(a,b);/调用函数max,将得到的值赋给变量fmax cout“The larger number:“fmaxendl;/输出两个数中较大者 ,int max(int x,int y)/定义max函数 if(xy) return x; else return y; ,由上面程序可以看出C+程序有以下几个基本组成部分: 1预处理命令 2输入和输出 3函数 4注释,2.2.2 C+程序的结构,一个面向对象的C+程序一般由类的声明和类的使用两大部分组成。 类的使用部分一般由主函数及有关子函数组成。 其结构大致如下:,#include /类的声明部分 c

7、lass A int x,y,z;/类A的数据成员的声名 fun()/类A的成员函数的定义和声明 ; /类的使用部分 int main() A a;/创建一个类A的对象a fun();/调用成员函数fun() return 0; ,在应用程序中,我们常常把类的成员函数的定义与声明分开。 分开后的定义和声明还可以写在两个文件中,使用时只要用# include包含即可,所以我们说C+程序是多文件结构。,2.2.3 C+程序的编程环境,在DOS下,C+程序的编辑、编译和运行方法和过程与C语言基本一样,特别是常用的C+版本,如Turbo C+或Borland C+都带有C和C+两种编译器。 在Wind

8、ows下,我们常用Visual C+开发环境,来编辑、编译和运行C+程序,随着.NET的出现,有时也用Microsoft Visual Studio 2005或Microsoft Visual Studio 2008来编辑、编译和运行C+程序。,2.3 C+的数据类型,2.3.1 关键字和标识符 2.3.2 C+的基本数据类型 2.3.3 常量 2.3.4 变量 2.3.5 数组 2.3.6 结构体 2.3.7联合体 2.3.8 枚举类型 2.3.9 用typedef类型 2.3.10数据类型转换,基本数据类型(是系统预先定义的,并被 内设在语言中的数据类型 ) 派生类型(派生类型是从基本类型

9、派生出 来的新类型,它是一种更高级的抽象) 类类型(类类型是通过组合现存类型而生 成的新类型),2.3.1 关键字和标识符,在C+语言中,关键字(keyword)又称为保留字,它是系统预先定义的、具有特定含义的标识符,因此不允许用户重新定义,即不能作为新的标识符出现在程序中,例如:例2.1中的“cin”、“cout”和“return”等等。,标识符是由若干个字符组成的字符序列,用来命名程序中的一些实体。通常用于常量名、变量名、函数名、类名、结构名、联合名、对象名、类型名和标号名等。 在程序中用户是通过标识符来定义和引用这些对象的。C+语言中构成标识符的语法规则如下:,(1)标识符由字母(az,

10、AZ)、数字(09)或下划线(_)组成; (2)第一个字符必须是字母或下划线。例如,Example,My_Birthday,Message,是合法的标识符;5key,5-A是非法的标识符; (3)VC+中标识符最多由247个字符组成; (4)C+大小写字母被认为是两个不同的标识符。例如,book和Book被认为是两个不同的标识符; (5)关键字不能作为新的标识符在程序中使用,但标识符中可以包含关键字。例如,intx,myclass 是合法的标识符。,下面列出了C+语言中的标点符号: ,逗号,用做数据之间的分隔符; ;分号,语句结束符; :冒号,语句标号结束符或条件运算符 单引号,字符常量标记符

11、 “双引号,字符串常量标记符 左花括号,复合语句开始标记符 右花括号,复合语句结束标记符,2.3.2 C+的基本数据类型,整数类型(int) /用于定义整数对象。 字符类型(char) /字符类型用于定义字符数据。 浮点类型(float,double)/浮点类型用于定义实数。 空类型(void)/void类型主要用于声明没有返回值的函数,以及声明未确定类型或指向任意数据类型的指针。,数据类型决定了数据所占存储空间的大小及值域范围,这些是与机器有关的。 表2-1(见课本p14)列出的是在32位编译器中的基本数据类型所占空间的大小和值域范围。,2.3.3 常量,特点 分类,常量特点,常量是指在程序

12、运行的整个过程中始终保持不变的量。 在表达式中常量是明确表示出的值。 常量不同于变量,主要表现在以下两个方面: 第一,常量不在内存中占有编译空间; 第二,常量的值不能修改。,常量分类,整型常量 字符常量 逻辑常量 枚举常量 实型常量 地址常量 字符串常量,(一) 整型常量,整型常量简称整数 它有十进制、八进制和十六进制三种表示。 在整数末尾使用u和l字母,1 十进制整数,当一个十进制整数大于等于-2147483648即-231-1,同时小于等于2147483647即231-1时,则被系统看作是int型常量;当在21474836484294967295即232-1范围之内时,则被看作是unsig

13、ned int型常量;当超过上述两个范围时,则无法用C+整数类型表示,只有把它用实数(即带小数点的数)表示才能够被有效地存储和处理。,2 八进制整数,当一个八进制整数大于等于0同时小于等于017777777777时,则称为int型常量,当大于等于020000000000同时小于等于037777777777时,则称为unsigned int型常量,超过上述两个范围的八进制整数则不要使用,因为没有相对应的C+整数类型。,3 十六进制整数,当一个十六进制整数大于等于0同时小于等于0x7FFFFFFF时,则称为int型常量,当大于等于0x80000000同时小于等于0xFFFFFFFF时,则称为uns

14、igned int型常量,超过上述两个范围的十六进制整数没有相对应的C+整数类型,所以不能使用它们。,4 在整数末尾使用u和l字母,对于任一种进制的整数,若后缀有字母u(大、小写等效),则硬性规定它为一个无符号整型(unsigned int)数,若后缀有字母l(大、小写等效),则硬性规定它为一个长整型(long int)数。 在一个整数的末尾,可以同时使用u和l,并且对排列无要求。如25U,0327UL,0x3ffbL,648LU等都是整数,其类型依次为unsigned int,unsigned long int,long int和unsigned long int。,(二) 字符常量,字符常

15、量简称字符,它以单引号作为起止标记,中间为一个或若干个字符。 如a,%,n,012,125,x4F等都是合乎规定的字符常量。 每个字符常量只表示一个字符,当字符常量的一对单引号内多于一个字符时,则将按规定解释为一个字符。 如a表示字符a,125解释为字符U。,每个ASCII字符均是一个字符型数据,即字符型中的一个值。 “转义”字符的概念,其含义是:以反斜线作引导的下一个字符失去了原来的含义,而转义为具有某种控制功能的字符。如n中的字符n通过前面使用的反斜线转义后就成为一个换行符,其ASCII码为10。,(三) 逻辑常量,逻辑常量是逻辑类型中的值,VC+用保留字bool表示逻辑类型,该类型只含有

16、两个值,即整数0和1,用0表示逻辑假,用1表示逻辑真。 在VC+中还定义了这两个逻辑值所对应的符号常量false和true,false的值为0,表示逻辑假,true的值为1,表示逻辑真。,(四) 枚举常量,枚举常量是枚举类型中的值,即枚举值。 枚举类型是一种用户定义的类型,只有用户在程序中定义它后才能被使用。 用户通常利用枚举类型定义程序中需要使用的一组相关的符号常量。 枚举类型的定义格式为: enum ;,它是一条枚举类型定义语句,该语句以enum保留字开始,接着为枚举类型名,它是用户命名的一个标识符,以后就直接使用它表示该类型,枚举类型名后为该类型的定义体,它是由一对花括号和其中的枚举表所组成,枚举表为一组用逗号分开的由用户命名的符号常量,每个符号常量又称为枚举

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

当前位置:首页 > 高等教育 > 大学课件

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