C++程序设计 教学课件 ppt 作者 冯博琴 C++第1章

上传人:E**** 文档编号:89423276 上传时间:2019-05-25 格式:PPT 页数:43 大小:151KB
返回 下载 相关 举报
C++程序设计 教学课件 ppt 作者 冯博琴 C++第1章_第1页
第1页 / 共43页
C++程序设计 教学课件 ppt 作者 冯博琴 C++第1章_第2页
第2页 / 共43页
C++程序设计 教学课件 ppt 作者 冯博琴 C++第1章_第3页
第3页 / 共43页
C++程序设计 教学课件 ppt 作者 冯博琴 C++第1章_第4页
第4页 / 共43页
C++程序设计 教学课件 ppt 作者 冯博琴 C++第1章_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《C++程序设计 教学课件 ppt 作者 冯博琴 C++第1章》由会员分享,可在线阅读,更多相关《C++程序设计 教学课件 ppt 作者 冯博琴 C++第1章(43页珍藏版)》请在金锄头文库上搜索。

1、1,第1章 C+语言概述,中国铁道出版社,2,1.1 C+语言的发展,1从C语言到C+语言 1980年贝尔实验室的Bjarne Stroustrup等对C语言进行改进和扩充,将早期的面向对象语言Simula67中类的概念引入到C语言,将其称为“带类的C”。 1983年,“带类的C”正式被命名为“C+”,同年7月对外发表。 1985年,贝尔实验室对C+进行了修订,推出了C+1.0,主要添加的特性有虚函数、函数运算符的重载、引用等。 1989年,推出C+2.0,新增特性主要有类的保护成员、多重继承、抽象类等 1993年,推出C+3.0,新增特性有模板、类的嵌套等。 1994年,美国国家标准委员会(

2、ANSI)制定了ANSIC+的标准草案。 1998年,该草案被ISO组织批准为国际标准ISO/IEC14882。 C+仍在不断发展中。,3,2C+语言的特点,C+包括了C的全部特征和优点,同时添加了对面向对象编程(OOP)的支持。 (1)C+支持大多数面向对象的程序设计特征 (2)吸取结构化程序设计方法的优点,同时引入了新机制,建立了比传统方法更高层次的抽象。 所以,C+更适合大规模程序的开发。,4,1.2 C+程序概述,1.2.1 C+程序的结构和组成 C+程序以函数作为程序的模块 模块之间的关系通过函数调用实现 一个C+程序由若干个函数构成 其中必须有而且仅能有一个名为main的函数 最简

3、单的程序只由一个main函数构成。,5,【例1-1】由一个main函数组成的程序,给定一个圆的半径,计算这个圆的面积,输出计算结果 / The first C+ program #include using namespace std; void main() double r,area; r=10.0; area=3.14*r*r; cout“area=“areaendl; ,6,1函数的组成,第1行:/ The first C+ program 由“/”开始的表示其后的内容是注释。 第2行:#include 以“#”开始的行是预处理命令,“include”是编译预处理命令之一,称为文件包含

4、。 第3行:using namespace std; 该行是针对命名空间使用的。 如果文件包含的是带有“.h”的头文件 ,则不需要该行 如果使用没有后缀名的头文件,该行和#include配合,7,第4行:void main() 该行是函数的头部,表明定义了一个名为main的函数,称为主函数 第5行和第10行的一对花括号表示由它括起来的整个部分是函数的函数体。 第6行:double r,area; 这是变量声明语句,作用是定义2个双精度型变量r和area,分别用来保存圆的半径和面积。,8,第7行:r=10.0; 赋值语句将半径值10.0赋给变量r; 第8行:area=3.14*r*r; 赋值语句

5、,先计算圆的面积3.14*r*r,再将计算结果赋给变量area; 第9行:cout“area=“areaendl; 该语句完成向屏幕上输出一行字符串,9,函数的组成,一个完整的函数由函数说明(函数头部)和函数体两部分组成 函数说明 包含四个部分,即函数类型、函数名、函数参数的类型和参数名称。 函数体 包括两部分,变量说明和执行语句部分,其中变量说明部分用来定义变量的存储类型、数据类型、初值。,10,2C源程序的组成,【例1-2】由两个函数组成的程序,输出两个整数中较大的一个数。 #include using namespace std; int max( int x, int y ) int

6、z; if(xy) z=x; else z=y; return z; ,11,【例1-2】(续),void main() int a,b,c; a=3; b=4; c=max(a,b); /*调用函数max,将最大值返回给变量c*/ cout“max=“cn; ,12,C+程序结构的总结,(1)书写格式自由 一行可以写多个语句; 一个语句可以分写在几行; (2)源程序的组成 一个 C+源程序由一个或多个函数组成; 每个源程序必须有而且只能有一个main()函数; 除了main()函数外,程序中还可以有若干个其它的函数; (3)程序的执行: 从main()函数开始执行; 其它函数通过调用的方式被

7、执行; 最后在main()函数中结束。,13,3预处理命令,预处理是指对源程序编译之前,由编译预处理程序先对预处理命令进行处理的过程,文件包含是预处理命令之一。 格式1:#include 文件名用尖括号括起来,表示头文件由系统提供并放在指定的子目录中 格式2:#include “文件名” 文件名用双引号括起来,表示由用户定义的放在当前目录或其他目录下的头文件或其他的源文件。,14,关于预处理命令的规定,(1)所有的预处理命令均以“#”开头; (2)每条命令占一行; (3)一条include命令只能包含一个文件; (4)每条命令以回车结束,末尾不带分号。,15,4C+程序的基本框架,C+程序的基

8、本框架由3部分组成: (1)整体声明部分 在程序文件的所有函数的外部,通常包括文件包含、宏定义、外部变量的定义、变量和函数的声明等。 (2)main函数的定义部分 包括函数说明和函数体两部分。 (3)其它函数的定义区 该部分定义形式与main函数的定义是相同的,只是函数名不同。,16,5. C+程序的注释,在C+程序中有两种方法为程序添加注释 (1)行方式 以双斜杠符号“/”作为注释的开始,注释内容包含从该符号之后到本行末尾的所有符号。 (2)块方式 注释内容以符号“/*”开始,并且以符号“*/”结束,注释内容可以占1行或多行,17,1.2.2 C+程序的开发过程,1编辑源程序 利用编辑程序建

9、立一个新的源程序文件或修改已存在的源文件。 2预处理 在编译之前处理程序中的预处理命令,并删除源程序中的注释部分。 3编译 通过编译程序将源程序文件.cpp进行转换(编译)成目标文件.obj。,18,4连接 将编译形成的一个或多个目标文件.obj和库文件等连接起来,形成一个完整的可以在操作系统下直接运行的可执行文件.exe。 5运行 运行可执行的文件.exe,得到程序的运行结果,19,1.4 C+语言的数据类型,在程序设计时针对不同的处理要使用不同的数据类型: (1)不同类型的数据在内存中占用的单元个数不同、表示方式也不同; (2)不同类型的数据对应着不同的数值范围; (3)不同的数据类型允许

10、进行不同的运算。,20,21,1.4.1 基本数据类型,1整型 包括基本整型(int)、长整型(long int)和短整型(short int),每一种又有带符号(signed)和不带符号(unsigned)之分 2实型 按精度不同, 可以分为单精度(浮点型)、双精度和长双精度 3字符型 用来表示单个的字符,保存时用1个字节,具体存放该字符对应的ASCII值,运算时,可以看作是单字节的整型数,22,4逻辑型 用bool表示,又称为布尔型,只能取两个值,分别是“true”和“false”, “true”表示逻辑真,对应整数1,而“false”表示逻辑假,对应整数0,这样,逻辑型的数据也可以参与整

11、型运算。 5空值型 空类型由void进行定义,用来表示没有返回值的函数或没有确定指向的指针。,23,1.4.2派生类型,在基本类型前加上类型修饰符,得到派生的类型。 C+语言的类型修饰符: (1)signed 带有符号,修饰int和char,默认方式 (2)unsigned 不带符号,修饰int和char; (3)short 短类型,修饰int; (4)long 长类型,修饰int和double。 不同的编译系统中,每个基本数据类型及派生数据类型的长度和取值范围有所不同。,24,1.4.3 标识符,标识符 用户定义的符号,表示变量名、符号常量名、数组名、函数名等。 标识符的命名规则: (1)标

12、识符中只能由字母、数字、下划线组成; (2)标识符以字母或下划线开始; (3)C+中标识符是区分大小写的; (4)标识符的长度,不同系统中的规定不同; (5)不能与系统保留的关键字重名。 关键字 系统保留字,有的与数据类型有关,例如int、long、float等,有的与控制语句有关,例如if、while、goto等。,25,1.4.4 用typedef定义新的类型名,typedef为已有的类型名定义一个新的类型名。 格式: typedef 已有的类型名 新类型名的标识符 例如: typedef int INTEGER; typedef double newdoub; 说明: 这种定义仅仅增加了

13、一个新的名称,原有类型名仍然有效 例如: int x,y;与 INTEGER x,y; 是等价的。,26,1.5常量,1.5.1 直接常量 1整型常量 数据前后不加任何标记,表示该数据是带符号十进制基本整型数据。 (1)以0开头的常量是八进制整数,例如0123和-0452 (2)以0x或0X开头是十六进制数,例如0x123和-0X12A (3)以l或L结尾是长整型数,如123L。 (4)以u或U结尾是无符号整数,例如123u。 也可以同时使用这些符号,例如0x123uL。,27,2实型常量,实型常量只能使用十进制的写法,有两种表示形式。 (1)小数形式 由正负号、数字和小数点组成,例如 -3.

14、234。 (2)指数形式 以“e”或“E”后跟整数来表示以10为底的指数。 要求:“e”或“E”之前要有数字,其后为整数 例如1.23E3、 -.021e-5分别表示1.23103和-.02110-5。 在数字之后加上字母f或F,按单精度数处理; 在数字之后加上字母l或L,按长双精度数处理; 数字之后不加字母,按双精度数处理;,28,3字符常量,(1)普通字符常量 用一对单撇号括起来的一个字符,例如A、$ 字符常量在内存中保存时用一个字节,具体存放的是该字符的ASCII代码值,字符可以作为整型量处理。 例如,字符A的ASCII代码为65,所以A+1的结果是66,而B-A的结果是1。 (2)转义

15、字符 以“”开头的字符序列,用来表示特定的ASCII字符,29,30,【例1-3】转义字符的使用,#include using namespace std; void main() char c1,c2,c3; coutatbtcn; c1=65; c2=101; c3=x41; coutc1c2c3; ,31,4字符串常量,字符串常量 用一对双撇号括起来的字符序列,简称字符串 系统会在字符串末尾自动加上一个结束标志0 存放字符串 在内存中顺序存放包括结束标志在内的每个字符。,32,5逻辑型常量,逻辑型常量只能有两个值,即逻辑真(true)和逻辑假(false),分别对应1和0 【例1-4】逻

16、辑型数据的使用 #include using namespace std; void main() bool a,b; a=true; b=false; cout“true=“an“false=“b; ,33,1.5.2 符号常量,符号常量是指用特定的符号名称来表示某个数值。 1用#define命令定义符号常量 格式:#define 标识符 字符序列 格式中的标识符可以作为符号常量,又称为宏名 宏定义后就可以用在后面的程序中,编译程序时,所有使用该宏名的地方被替换为对应的字符序列 在进行宏替换时,仅仅是用字符序列替换符号常量名,不进行任何语法规则的检查。,34,【例1-5】符号常量的定义和使用,#include using namespace std; #define PI 3.14 void main() doub

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

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

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