全套课件-C++面向对象程序设计(第二版).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《全套课件-C++面向对象程序设计(第二版).ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全套 课件 C+ 面向 对象 程序设计 第二
- 资源描述:
-
1、C+面向对象程序设计(第二版)C+面向对象程序设计(第二版)第一章 面向对象程序设计概述 2022年7月19日星期二C+面向对象程序设计第一章 面向对象程序设计概述 1.1 面向对象的基本概念 1.2 C+面向对象程序设计 1.3 C+程序的基本组成 1.4 Visual C+6.0开发环境2022年7月19日星期二C+面向对象程序设计1.1 面向对象的基本概念 面向对象程序设计的本质是把数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体对象。对同类型对象抽象出其共性,形成类。2022年7月19日星期二C+面向对象程序设计1.1 面向对象的基本概念 面向对象程序设计方法具有4个基
2、本特征:抽象、封装、继承和多态性。抽象(abstract)就是忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。面向对象方法中的“类”将具有相同属性和行为的一组对象提供了抽象的描述,一个属于某类的对象称为该类的一个实例。2022年7月19日星期二C+面向对象程序设计1.1 面向对象的基本概念 封装(encapsulation)就是把每个对象的数据(属性)和操作(行为)包装在一个类中,并尽可能隐藏对象的内部细节。一般限制直接访问对象的属性,而应通过操作接口访问,这样使程序中模块之间关系更简单、数据更安全。对程序的修改
3、也仅限于类的内部,使得由于修改程序所带来的影响局部化。2022年7月19日星期二C+面向对象程序设计1.1 面向对象的基本概念 多态性(polymorphism)是指允许不同类的对象对同一消息作出的响应不相同。一般类中定义的属性或行为,被特殊类继承后,可以具有不同的数据类型或者是表现出不同的行为。这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义 2022年7月19日星期二C+面向对象程序设计1.1 面向对象的基本概念 通过使用面向对象程序设计的抽象、封装、继承和多态性等机制,程序更易于维护、更新和升级。利用代码可重用性,程序员可以在程序中大量使用成熟的类库,从而缩短程序的开发时间,
4、提高程序员的工作效率和程序的可靠性。2022年7月19日星期二C+面向对象程序设计1.2 C+面向对象程序设计 本书介绍的主要就是使用最为广泛的C+语言和使用C+语言进行面向对象程序设计的方法。在学习编程之前,我们首先来简单了解以下C+程序的开发过程。2022年7月19日星期二C+面向对象程序设计1.2 C+面向对象程序设计 程序的开发通常要经过编辑、编译、连接、运行调试这几个步骤。编辑是将源程序输入到计算机中,生成后缀为.cpp的磁盘文件。编译(compile)是将程序的源代码转换成机器语言代码。程序员编制的源程序被编译后,会生成一个目标文件,这个文件通常以.obj作为文件扩展名,该目标文件
5、为源程序的目标代码。2022年7月19日星期二C+面向对象程序设计1.2 C+面向对象程序设计 但是编译后的程序还不能由计算机执行,因为目标代码只是一个个的程序块,需要相互衔接成为一个适应一定操作系统环境的程序整体。为了把它转换成可执行程序,必须进行连接(link)。C+程序通常是通过同时连接一个或多个目标文件以及一个或几个库而创建的。2022年7月19日星期二C+面向对象程序设计1.2 C+面向对象程序设计 库(.lib)是一组由机器指令构成的程序代码,是可连接文件。库有标准库和用户生成的库。标准库是由C+提供的,用户生成的库是由软件开发商或程序员提供的。文件与库连接的结果,即生成一个后缀为
6、.exe的计算机可执行程序。2022年7月19日星期二C+面向对象程序设计1.3 C+程序的基本组成 我们就从最简单的例子来分析C+程序的构成:#include using namespace std;void main()cout Hello,World!n;cout Im a student.n;2022年7月19日星期二C+面向对象程序设计1.3 C+程序的基本组成 程序运行结果为:Hello,World!Im a student.2022年7月19日星期二C+面向对象程序设计1.3 C+程序的基本组成t一个C+程序是由三部分组成的,分别是:注释部分、编译预处理和程序主体。l程序的注释部
7、分是程序员为读者作的说明,是提高程序可读性的一种方法。l每个以符号“#”开头的行,称为编译预处理行。如本例中“#include”称为编译指令。2022年7月19日星期二C+面向对象程序设计1.3 C+程序的基本组成l在程序的主体部分中,main是主函数名,函数是C+程序中最小的功能单位,每一个C+程序都必须有一个main()函数,并且main()表明了程序执行的开始点。2022年7月19日星期二C+面向对象程序设计1.3 C+程序的基本组成 每一种编程语言都使用一组字符来构造成编程语句。用C+语言编写程序时,除了字符型数据以外,其它所有成分都只能由字符集中的字符构成。C+语言的字符集由下列字符
8、构成:2022年7月19日星期二C+面向对象程序设计1.3 C+程序的基本组成26个大写英文字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ26个小写英文字母:abcdefghijklmnopqrstuvwxyz10个数字字符:0 1 2 3 4 5 6 7 8 9特殊字符:+-*/=,._ :;?!#%&()空格2022年7月19日星期二C+面向对象程序设计1.3 C+程序的基本组成t词法记号是最小的词法单元,接下来介绍C+的关键字、标识符、文字、运算符、分隔符、空白符。l关键字C+中,关键字又称保留字,它是预先定义好的标识符,这些标识符对C+编译程序有着特殊的含义。2022年7月
9、19日星期二C+面向对象程序设计1.3 C+程序的基本组成l标识符标识符是程序员声明的单词,它命名程序正文中的一些实体,如函数名、变量名、类名、对象名等。l文字文字是在程序中直接使用符号表示的数据,包括数字、字符、字符串和布尔文字。l操作符(运算符)操作符是用于实现各种运算的符号。2022年7月19日星期二C+面向对象程序设计1.3 C+程序的基本组成l分隔符 分隔符用于分隔各个词法记号或程序正文,这些分隔符不表示任何实际的操作,仅用于构造程序。l空白 在程序编译时的词法分析阶段将程序正文分解为词法记号和空白。空白是空格、制表符、换行符和注释的总称。2022年7月19日星期二C+面向对象程序设
10、计1.4 Visual C+6.0开发环境 Visual C+6.0是微软公司推出的一个功能强大的可视化软件开发工具。Visual C+6.0不仅是一个C+编译器,它还有一个非常好的集成开发环境Developer Studio,包括编辑器编译器、调试器以及程序向导等组件,用它可以在编写C+程序时对程序的结构进行可视化的管理。2022年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境 本节简单介绍Visual C+6.0集成开发环境的特点、界面风格和简单工具的使用。安装完Visual C+6.0后,从Windows的“开始|程序”菜单中选择Microsoft Visu
11、al Studio 6.0菜单中的Microsoft Visual C+6.0菜单项,就启动了Visual C+集成开发环境,出现集成开发环境的主窗口Developer Studio。2022年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境 下面通过实例说明如何利用Visual C+6.0创建一个C+程序。l启动Visual C+6.0,打开File菜单,执行New菜单命令,出现New对话框,如图1-1所示。在Project页面窗口中选择Win32 Console Application选项,创建一个Win32控制台应用程序。在Project name编辑框中输入
12、项目名称Hello,在Location编辑框中输入保存项目的路径。2022年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境图1-1 创建一个Win32控制台应用程序2022年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境l在Win32 Console Application-Step1 of 1对话框中设置控制台应用程序的类型,如图1-2所示。这里我们要创建一个空项目程序,因此选择第一项An empty project,单击Finish按钮,出现New Project Information对话框,单击OK按钮,将生成一个空项目。20
13、22年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境图1-2 设置控制台应用程序的类型 2022年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境l向项目Hello中添加源程序文件。打开Project菜单,选择Add to Project|New,出现如图1-3所示的添加项目文件对话框。在的Files页面窗口中选择C+Source File,在右边的File编辑框中输入C+源程序文件名称Hello,在Location编辑框中输入保存该文件的路径。单击OK按钮,在主窗口Developer Studio左边的项目工作区窗口的Souce Fi
14、les文件夹目录下出现Hello.cpp文件,双击该文件,在右边的编辑窗口中输入例1-1的源程序代码。2022年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境图1-3 添加项目文件2022年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境l编译运行源程序Hello.cpp。打开Build菜单,选择Build Hello.exe命令项或按快捷键F7,系统开始对项目Hello进行编译、连接,同时在输出窗口中显示出编译的内容,当出现Hello.exe 0 error(s),0 warning(s)字样时,表示Hello.exe可执行文件已经正
15、确无误地生成了,如图1-4所示。在Build菜单中选取Execute Hello.exe命令项或按快捷键Ctrl+F5,就可以运行刚刚生成的Hello.exe。2022年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境图1-4 Hello项目Developer Studio窗口2022年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境lMSDN帮助系统。除了有关Visual C+6.0 IDE具体操作说明的联机帮助文件,Microsoft Visual Studio还提供了MSDN Library(Microsoft developer
16、network library)组件。MSDN帮助系统是一个HTML格式的帮助文件,它所包含的内容非常丰富,包含了有关Visual Studio的编程原理、方法和应用实例等内容。并且使用MSDN时可以通过访问微软网站“http:/”获得有关MSDN的最新信息。2022年7月19日星期二C+面向对象程序设计1.4 Visual C+6.0开发环境l用户通过选择Help菜单下的Contents命令或Search工具栏按钮就可以进入MSDN帮助系统,也可单击F1键快速获取相关内容的帮助。图1-5是MSDN Library是一般界面。2022年7月19日星期二C+面向对象程序设计1.4 Visual
17、C+6.0开发环境图 1-5 MSDN帮助系统C+面向对象程序设计(第二版)第二章 C+语言基础2022年7月19日星期二C+面向对象程序设计第二章 C+语言基础 2.1 数据类型和基本输入输出 2.2 运算符和表达式 2.3 基本控制结构 2.4 函数 2.5 构造类型 2.6 指针 项目设计1 控制台程序的人机界面设计2022年7月19日星期二C+面向对象程序设计2.1 数据类型和基本输入输出 2.1.1 基本数据类型 2.1.2 常量 2.1.3 变量 2.1.4 基本输入、输出2022年7月19日星期二C+面向对象程序设计2.1.1 基本数据类型 基本数据类型是C+系统的内部数据类型,
18、包括bool(布尔型)、int(整型)、char(字符型)、float(单精度浮点型)、double(双精度浮点型)以及基本数据类型中short(短型)和long(长型)、signed(有符号)和unsigned(无符号)之分。+的数据类型如下图所示:2022年7月19日星期二C+面向对象程序设计2.1.1 基本数据类型 2022年7月19日星期二C+面向对象程序设计2.1.1 基本数据类型 使用基本数据类型要注意两点:无符号(unsigned)和有符号(signed)的区别在于数值最高位的含义。int型在16位系统中和在32位系统中,所占用字节数是不一样的。2022年7月19日星期二C+面向
19、对象程序设计2.1.2 常量 所谓常量是指在程序运行的整个过程中其值始终不可改变的量,也就是直接使用符号(文字)表示的值。例如10,-6,2.3,-5.7,A,b都是常量。整型常量 整型常量就是整型常数。整型常量可以用以下三种形式表示:十进制整数:十进制整数没有前缀。例如:237、-568、65535、16272022年7月19日星期二C+面向对象程序设计2.1.2 常量 八进制整数:八进制整数要以数字0开头,即以0作为八进制数的前缀。例如:015(十进制为13)、0101(十进制为65)、0177777(十进制为65535)十六进制整常数:十六进制整数要以数字0 x或0X开头,即以0 x作为
20、十六进制数的前缀。例如:0X2A(十进制为42)、0XA0(十进制为160)、0XFFFF(十进制为65535)实型常量 实型常量也称为实数或者浮点数。实数只采用十进制,它有二种形式:小数形式和指数形式。2022年7月19日星期二C+面向对象程序设计2.1.2 常量 十进制数的形式:由数码09和小数点组成。例如:0.0、25.0、5.789、0.13、300.、-267.8230等均为合法的实数。注意,实型常量中必须含有小数点。指数形式:由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。例如:2.1E5(等于2.1105)、3.7E-2(等于3.710-2)、-2.8
21、E-2(等于-2.810-2)实型常量默认都按双精度double型处理。但可以添加后缀“f”或“F”即表示该数为单精度浮点数。2022年7月19日星期二C+面向对象程序设计2.1.2 常量 字符常量 字符常量是用单引号括起来的一个字符。例如:a、b、=、+、?。有以下特点:字符常量只能用单引号括起来,不能用双引号或其它括号。字符常量只能是单个字符,不能是字符串。字符可以是字符集中任意字符。但数字被定义为字符型其含义就发生了变化。如5 和5 是不同的。2022年7月19日星期二C+面向对象程序设计2.1.2 常量 转义字符是一种特殊的字符常量。转义字符以反斜线“”开头,后跟一个或几个字符。转义字
22、符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,“n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。广义地讲,字符集中的任何一个字符均可用转义字符来表示。字符串常量2022年7月19日星期二C+面向对象程序设计2.1.2 常量 字符串常量是由一对双引号括起的字符序列。例如:“CHINA”,“C program”,“$12.5”等都是合法的字符串常量。字符串常量和字符常量是不同的量。它们之间主要有以下区别 字符常量由单引号括起来,字符串常量由双引号括起来 字符常量只能是单个字符,字符串常量则可以含一个或多个字符 字符常量占一个字节
23、的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符“0”(ASCII码为0)。这是字符串结束的标志。2022年7月19日星期二C+面向对象程序设计2.1.2 常量 布尔常量 布尔型常量只有两个:true(真)和false(假)。符号常量 除了前面讲过的直接用文字表示常量外,也可以为常量命名,这种代替常量本身的标识符称为符号常量。C+中用const定义符号常量。符号常量在使用之前一定要首先声明,常量声明语句的形式为:const 数据类型说明符 常量名=常量值;2022年7月19日星期二C+面向对象程序设计2.1.2 常量 符号常量在声明时一定要赋初值,而在程序中
24、间不能改变其值。2022年7月19日星期二C+面向对象程序设计2.1.3 变量 在程序的执行过程中其值可以变化的量称为变量,变量是需要用名字来标识的。变量的定义 就像常量具有各种类型一样,变量也具有相应的类型。变量在使用之前需要首先声明其类型和名称。变量名应是合法的标识符。变量声明语句的形式如下:;2022年7月19日星期二C+面向对象程序设计2.1.3 变量 变量的初始化 在声明一个变量的同时,也可以给它赋以初值,而这实质上就是给对应的内存单元赋值,这一过程称为初始化。例如:int a=3,b=5;/指定a,b为整型变量,a的初值为3,b的初/值为5 C+中变量的初始化还有另一种形式,例如:
25、int a(3),b(5);需要注意的是,一个未初始化的变量不是没有数值,而是取决于变量所在系统中的存储形式,它可能是系统的默认值或无效值。2022年7月19日星期二C+面向对象程序设计2.1.4 基本输入、输出 C+中使用标准输入流cin和标准输出流cout来实现数据的输入与输出。输出流(cout)通过cout可以输出一个整数、实数、字符及字符串,cout中的插入符“”可以连续写多个,每个后面可以跟一个表达式,该表达式通常是获得输入值的变量或对象。2022年7月19日星期二C+面向对象程序设计2.2 运算符和表达式 2.2.1 算术运算符和算术表达式 2.2.2 赋值运算符和赋值表达式 2.
展开阅读全文