《《C++程序设计》电子教案第1章C++简单程序设计.ppt》由会员分享,可在线阅读,更多相关《《C++程序设计》电子教案第1章C++简单程序设计.ppt(65页珍藏版)》请在优知文库上搜索。
1、第第1章章 C+简单程序设计简单程序设计n1.1 C+语言概述语言概述n1.2 基本数据类型和表达式基本数据类型和表达式n1.3 运算符与表达式运算符与表达式n1.4 程序的基本控制结构程序的基本控制结构1.1 C+语言概述语言概述n1.1.1 从从C到到C+n1.1.2 C+面向对象的特性面向对象的特性n1.1.3 C+的词法与规则的词法与规则n1.1.4 C+程序结构的组成程序结构的组成n1.1.5 C+程序的开发步骤程序的开发步骤返回首页1.1.1 从从C到到C+nC+语言源于语言源于C语言,而语言,而C语言是在语言是在B语言的基础上发语言的基础上发展起来的。展起来的。1960年出现了一
2、种面向问题的高级语言年出现了一种面向问题的高级语言ALGOL 60,但它离硬件比较远,不宜用来编写系统软但它离硬件比较远,不宜用来编写系统软件。件。1963年英国剑桥大学推出了年英国剑桥大学推出了CPL(Combined Programming Language)语言,后来经简化为语言,后来经简化为BCPL语言。语言。1970年美国贝尔(年美国贝尔(Bell)实验室的实验室的K.Thompson以以BCPL语言为基础,设计了一种类似于语言为基础,设计了一种类似于BCPL的语言,取其第一字母的语言,取其第一字母B,称为称为B语言。语言。1972年年美国贝尔实验室的美国贝尔实验室的Dennis M
3、.Ritchie为克服为克服B语言的诸语言的诸多不足,在多不足,在B语言的基础上重新设计了一种语言,取其语言的基础上重新设计了一种语言,取其第二字母第二字母C,故称为故称为C语言。语言。 返回本节1.1.2 C+面向对象的特性面向对象的特性n1C+支持数据封装支持数据封装支持数据封装就是支持数据抽象。在支持数据封装就是支持数据抽象。在C+中,类是支持数中,类是支持数据封装的工具,对象则是数据封装的实现。据封装的工具,对象则是数据封装的实现。 n2C+类中包含私有、公有和保护成员类中包含私有、公有和保护成员C+类中可定义三种不同访问控制权限的成员。一种是私类中可定义三种不同访问控制权限的成员。一
4、种是私有(有(Private)成员,另一种是公有(成员,另一种是公有(Public)成员,还成员,还有一种是保护(有一种是保护(Protected)成员。成员。n 3C+中通过发送消息来处理对象中通过发送消息来处理对象C+中是通过向对象发送消息来处理对象的,每个对象根中是通过向对象发送消息来处理对象的,每个对象根据所接收到的消息的性质来决定需要采取的行动,以响应据所接收到的消息的性质来决定需要采取的行动,以响应这个消息。这个消息。 n4C+中允许友元破坏封装性中允许友元破坏封装性类中的私有成员一般是不允许该类外面的任何函数访问的,类中的私有成员一般是不允许该类外面的任何函数访问的,但是友元便可
5、打破这条禁令,它可以访问该类的私有成员但是友元便可打破这条禁令,它可以访问该类的私有成员(包含数据成员和成员函数)。(包含数据成员和成员函数)。 n5C+允许函数名和运算符重载允许函数名和运算符重载C+允许一个相同的函数名或运算符代表多个不同实现的函允许一个相同的函数名或运算符代表多个不同实现的函数,这就称函数或运算符的重载,用户可以根据需要定义函数,这就称函数或运算符的重载,用户可以根据需要定义函数重载或运算符重载。数重载或运算符重载。n6C+支持继承性支持继承性C+中可以允许单继承和多继承。中可以允许单继承和多继承。 n7C+支持动态联编支持动态联编C+中可以定义虚函数,通过定义虚函数来支
6、持动态联编。中可以定义虚函数,通过定义虚函数来支持动态联编。 返回本节1.1.3 C+的词法与规则的词法与规则n1C+的字符集的字符集C+中含有以下字符:数字,小写字母,大写字母,运算中含有以下字符:数字,小写字母,大写字母,运算符,特殊字符,不可印出字符符,特殊字符,不可印出字符 。n2词与词法规则词与词法规则(1)标识符。)标识符。 (2)关键字。)关键字。 (3)运算符和分隔符。)运算符和分隔符。(4)字符串。)字符串。 (5)常量。)常量。 (6)注释。)注释。n3书写格式书写格式(1)一般情况下每个语句占用一行。)一般情况下每个语句占用一行。(2)不同结构层次的语句)不同结构层次的语
7、句。(3)表示结构层次的大括弧)表示结构层次的大括弧。(4)适当加些空格和空行。)适当加些空格和空行。表1-1 C+的标准保留字返回本节1.1.4 C+程序结构的组成程序结构的组成C+程序结构的基本组成包括以下几个部分:程序结构的基本组成包括以下几个部分:(1)预处理命令,)预处理命令,C+提供了三类预处理命令:提供了三类预处理命令:宏定义命令、文件包含命令和条件编译命令。宏定义命令、文件包含命令和条件编译命令。(2)输入输出,)输入输出,C+程序中总是少不了输入和输程序中总是少不了输入和输出语句,实现与程序内部的信息交流。出语句,实现与程序内部的信息交流。 (3)函数)函数 (4)语句)语句
8、 (5)变量)变量 (6)其他)其他 n下面用一个简单的程序例子来分析下面用一个简单的程序例子来分析C+程序的构成。程序的构成。例例1-2:C+程序构成示例。程序构成示例。/*-C+程序构成示例程序构成示例- */ /注释注释#define PI 3.1415926 /宏定义命令,定义符号常量宏定义命令,定义符号常量PI#include /文件包含命令文件包含命令void main()/主函数主函数 double length,area,radius;/定义变量定义变量coutPlease input radius:radius;/输入语句输入语句length=2*PI*radius;area
9、=PI*radius*radius;coutlength=lengthendl/输出语句输出语句area=areaendl; 返回本节1.1.5 C+程序的开发步骤程序的开发步骤n1编辑编辑是指把按照是指把按照C+语法规则编写的程序代码通过编辑器语法规则编写的程序代码通过编辑器(Borland C+ 5.05,Visual C+ 6.0,Turbo C+ 3.0)输入计算机,并保存。输入计算机,并保存。n2编译编译将编辑好的将编辑好的C+源程序通过编译器转换为目标文件(源程序通过编译器转换为目标文件(OBJ文件)。即文件)。即生成该源文件的目标代码。生成该源文件的目标代码。n3链接链接将用户程
10、序生成的多个目标代码文件(将用户程序生成的多个目标代码文件(.obj)和系统提供的库文件和系统提供的库文件(.lib)中的某些代码连接在一起,生成一个可执行文件(中的某些代码连接在一起,生成一个可执行文件(.exe)。)。n4执行执行把生成的可执行文件运行,在屏幕上显示运行结果。用户可以根据运把生成的可执行文件运行,在屏幕上显示运行结果。用户可以根据运行结果来判断程序是否出错。行结果来判断程序是否出错。返回本节1.2 基本数据类型和表达式基本数据类型和表达式n1.2.1 数据类型概述数据类型概述n1.2.2 常量常量n1.2.3 变量变量返回首页图1-1 C+数据类型1.2.1 数据类型概述数
11、据类型概述n1基本数据类型基本数据类型基本数据类型有基本数据类型有4种:整型(种:整型(int)、)、浮点型(浮点型(float)、)、字字符型(符型(char)、)、逻辑型(逻辑型(bool)。)。 2空类型空类型void:用于显示说明一个函数不返回任何值。用于显示说明一个函数不返回任何值。 3构造类型构造类型,又称为组合类型,它是由基本类型按照某种又称为组合类型,它是由基本类型按照某种规则组合而成的。规则组合而成的。4指针类型指针类型:变量用于存储另一变量的地址,而不能用来变量用于存储另一变量的地址,而不能用来存放基本类型的数据。存放基本类型的数据。5类类型类类型:是体现面向对象程序设计的
12、最基本特征,也是是体现面向对象程序设计的最基本特征,也是体现体现C+与与C最大的不同之处。最大的不同之处。 返回本节1.2.2 常量常量n1整型常量整型常量n整型数据表示通常意义上的整数,整型常量可以用十整型数据表示通常意义上的整数,整型常量可以用十进制、八进制或十六进制表示。进制、八进制或十六进制表示。n2浮点数常量浮点数常量n浮点数也称为实型数。只能以十进制形式表示。共有浮点数也称为实型数。只能以十进制形式表示。共有两种表示形式:小数表示法和指数表示法。两种表示形式:小数表示法和指数表示法。n3字符常量与字符串常量字符常量与字符串常量(1)字符常量。)字符常量。(2)转义字符。)转义字符。
13、(3)字符串常量。)字符串常量。4逻辑常量逻辑常量逻辑常量是逻辑类型中的值,逻辑常量是逻辑类型中的值,Visual C+用保留字用保留字bool表表示逻辑类型,该类型只含有两个值,即整数示逻辑类型,该类型只含有两个值,即整数0和和1,用,用0表示逻表示逻辑假,用辑假,用1表示逻辑真。表示逻辑真。5枚举常量枚举常量枚举常量是枚举类型中的值,即枚举值。枚举类型是一种枚举常量是枚举类型中的值,即枚举值。枚举类型是一种用户定义的类型,只有用户在程序中定义它后才能被使用。用户定义的类型,只有用户在程序中定义它后才能被使用。 6地址常量地址常量指针类型的值域是指针类型的值域是0 232-1之间的所有整数,
14、每一个整数代之间的所有整数,每一个整数代表内存空间中一个对应单元(若存在的话)的存储地址,每表内存空间中一个对应单元(若存在的话)的存储地址,每一个整数地址都不允许用户直接使用来访问内存,以防止用一个整数地址都不允许用户直接使用来访问内存,以防止用户对内存系统数据的有意或无意的破坏。户对内存系统数据的有意或无意的破坏。 表1-2 常用的特殊字符 返回本节1.2.3 变量变量1变量命名变量命名变量的命名要遵守以下规则:变量的命名要遵守以下规则:(1)不能是)不能是C+保留字。保留字。(2)第一个字符必须是字母或下划线,中间不能有空格。)第一个字符必须是字母或下划线,中间不能有空格。(3)变量名除
15、了使用)变量名除了使用26个英文大小写字母和数字外,只个英文大小写字母和数字外,只能使用下划线。能使用下划线。(4)一般不要超过)一般不要超过31个字符。个字符。(5)变量名不要与)变量名不要与C+中的库函数名、类名和对象名相中的库函数名、类名和对象名相同。同。n2变量定义和说明变量定义和说明变量定义是通过变量定义语句实现的,该语句的变量定义是通过变量定义语句实现的,该语句的一般格式为:一般格式为: =,;3变量初始化变量初始化变量初始化一般采用两种方式。变量初始化一般采用两种方式。第一种方式是在定义变量时可以给变量赋一个初值,例如:第一种方式是在定义变量时可以给变量赋一个初值,例如:int
16、a=3;float b=3.4;const int c=5;第二种方式是先定义变量,然后通过赋值语句使变量初始第二种方式是先定义变量,然后通过赋值语句使变量初始化,例如:化,例如:int a;a=3;返回本节1.3 运算符与表达式运算符与表达式n1.3.1 运算符运算符n1.3.2 表达式表达式n1.3.3 数据类型转换数据类型转换返回首页C+语言的运算符按其在表达式中与运算对象的语言的运算符按其在表达式中与运算对象的关系(连接运算对象的个数)可分为:关系(连接运算对象的个数)可分为:l l单目运算符(一元运算符,只需一个操作数)单目运算符(一元运算符,只需一个操作数)l l双目运算符(二元运算符,需两个操作数)双目运算符(二元运算符,需两个操作数)l l三目运算符(三元运算符,需三个操作数)三目运算符(三元运算符,需三个操作数)1.3.1 运算符运算符n1算术运算符算术运算符 n2赋值运算符赋值运算符n3关系运算符关系运算符n4逻辑运算符逻辑运算符n5自增、自减运算符自增、自减运算符n6条件运算符条件运算符n7位运算符位运算符n8sizeof运算符(求字节运算符)运算符(求字节运算符