C--程序设计教程完整版教学课件-整套教程电子讲义(最全最新).ppt
《C--程序设计教程完整版教学课件-整套教程电子讲义(最全最新).ppt》由会员分享,可在线阅读,更多相关《C--程序设计教程完整版教学课件-整套教程电子讲义(最全最新).ppt(488页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1 1章章 C+C+及其开发环境概述及其开发环境概述 本章内容提要1.1 面向对象的程序设计概述面向对象的程序设计概述1.2 从从C到到C+的演变的演变1.3 认识认识C+程序及其开发环境程序及其开发环境1.1 面向对象的程序设计概述面向对象的程序设计概述1.1.1 什么是面向对象的程序设计思想什么是面向对象的程序设计思想1对象 将用于描述对象属性的数据,以及对这些数据施加的一组操作封装起来,就是对象。 2类 类是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。 类是对象的抽象,对象是类的实例化。3封装 相关的数据和操作代码都被放在了类及对象内部。4继承 在
2、定义和实现一个类的时候,可以在一个与其内容基本相同的类的基础之加入若干新的内容。5多态 对于不同的对象,当它们收到同一消息时会调用不同的方法(程序),从而执行不同的操作。1.1.2 面向过程与面向对象程序设计特点比较面向过程与面向对象程序设计特点比较1面向过程的程序设计方法的缺陷(1)程序的开发效率低下2面向对象的程序设计方法的优势(2)程序的可重用性差(3)程序的维护成本高(4)无法适应信息的快速膨胀和多样化)无法适应信息的快速膨胀和多样化(1)程序的开发效率高(2)程序代码的可重用性高(3)程序易于维护1.1.3 两种程序设计方法对比分析两种程序设计方法对比分析1以面向过程的程序设计方式思
3、考(1)确定所求长方形的长和宽。(2)确定计算长方形的周长和面积的公式并计算。(3)输出计算结果。2以面向对象的程序设计方式思考(1)将长方形类的共性,即两个基本属性(长和宽)和两个行为(求周长和求面积)抽取出来,设计一个长方形类。(2)根据长方形类创建一个对象。(3)通过调用对象的行为求出其周长和面积。1.2 从从C到到C+的演变的演变C+主要的特点: (1)C+可以被看成C语言的一个超集,是对C的增强和扩展。 (2)C+保留了C语言的全部特征,并支持所有面向对象的程序设计特征。 (3)C+很好地保持了C的简洁、高效、灵活和接近汇编语言的特点。1.3 认识认识C+程序及其开发环境程序及其开发
4、环境1.3.1 C+程序的开发过程1编写程序2编译程序3连接目标文件4运行程序C+程序的开发流程1.3.2 认识C+程序1第一个C+程序#include /包含头文件包含头文件iostream.h#include /包含头文件包含头文件string.h,字符串,字符串using namespace std;/使用标准命名空间使用标准命名空间/=int main() string greeting=hello world!;/定义一个字符串对象变量,并赋初值定义一个字符串对象变量,并赋初值 couthello world!n;/在屏幕上输出字符串在屏幕上输出字符串“hello world!”并换
5、并换行行 coutwelcome to C+!endl;/在屏幕上输出在屏幕上输出“welcome to C+!”并换行并换行 coutgreeting“新建”菜单,打开“新建”对话框,然后打开“工作区”选项卡,如图1-11所示。 步骤一步骤一图1-11 在“工作空间名称”编辑框中输入myworkspace(工作区名称只能为英文);单击“位置”编辑框右侧的 按钮,打开“选择目录”对话框,选择希望在其中创建工作区文件夹的目录,如图1-12所示。 步骤二步骤二图1-12 步骤三步骤三单击“确定”按钮,返回“新建”对话框。再次单击“确定”按钮,确认创建工作区并关闭“新建”对话框。此时系统将在所选目录
6、中创建一个工作区文件夹,并创建了myworkspace.dsw工作区文件和其他两个文件。 按【Ctrl+N】组合键,再次打开“新建”对话框,然后打开“工程”选项卡。在工程类型列表区选择“Win32 Console Application”,在“工程名称”编辑框中输入myproj1(工程名称同样只能为英文),选中“添加到当前工作空间”单选按钮,如图1-13所示。 步骤四步骤四图1-13 单击“确定”按钮,系统将打开如图1-14左图所示“Win32 Console Application”对话框。直接单击“完成”按钮,创建一个空工程。系统将显示如图1-14右图所示“新建工程信息”对话框,它提示系统
7、将为用户创建一个空的控制台应用程序,并显示了工程目录。 步骤五步骤五图1-14 步骤六步骤六单击“确定”按钮,此时系统将在当前工作区目录下创建一个工程文件夹,并在其中创建了一个myproj1.dsp工程文件。 参照步骤4至步骤6,再创建一个名为myproj2的工程。图1-15分别显示了创建工作区和两个工程后的文件夹结构和Visual C+中的文件视图(FileView)。 步骤七步骤七图1-15 步骤八步骤八如果当前工作区中包含了多个工程,每个时刻只能有一个工程为活动工程。要将某个工程设置为活动工程,可在FileView视图下右击该工程,然后从弹出的快捷菜单中选择“设为活动工程”,如图1-16
8、所示。 图1-16 步骤九步骤九如果希望在工程中创建一个C+源程序,可再次按【Ctrl+N】组合键,打开“新建”对话框,然后打开“文件”选项卡。在对话框左侧的文件类型列表区选择“C+ Source File”,在右侧的“文件名”编辑框中输入文件名,单击“确定”按钮,即可在当前活动工程中新建一个C+源文件,如图1-17所示。 图1-17 如果希望将现有文件添加到某个工程中,可在FileView视图中右击工程,然后从弹出的快捷菜单中选择“添加文件到工程”,打开“插入文件到工程”对话框。选择要插入工程的文件,然后单击“确定”按钮,如图1-18左图所示。图-18右图显示了分别为两个工程插入C+源文件后
9、的FileView视图。 步骤十步骤十图1-18 步骤十一步骤十一要编译并链接某个工程中的全部程序,应首先参照前面介绍的方法将该工程设置为活动工程,然后选择“组建”菜单中的“组建 工程名.exe”,如图1-19所示。 图1-19 步骤十二步骤十二步骤十三步骤十三编译和链接工程成功后,系统将生成“工程名.exe”文件,此时按【Ctrl+F5】组合键或者选择“组建”“执行 工程.exe”菜单,均可执行程序。 以后无论是修改工程,还是修改工程中的文件,都最好通过双击工作区文件打开工作区,然后再执行修改工作,从而保证工程的完整性。 第2章 C+程序设计基础(上) 本章内容提要2.1 C+的数据类型的数
10、据类型2.2 常量和变量常量和变量2.3 C+的运算符、表达式和优先级的运算符、表达式和优先级2.1 C+的数据类型的数据类型2.1.1 C+数据类型概述数据类型概述2.1.2 关于数值的范围关于数值的范围 例如,例如,unsigned short(无符号短整型)数据类型的长度为(无符号短整型)数据类型的长度为2字节,那么,它所能表示的最小数为字节,那么,它所能表示的最小数为0,最大数为,最大数为1111 1111 1111 1111,具体如下:,具体如下:2.1.3 数据类型的转换数据类型的转换1数据类型的隐含转换数据类型的隐含转换2赋值表达式中的数据类型转换赋值表达式中的数据类型转换 在赋
11、值表达式中,系统会自动将赋值运算符在赋值表达式中,系统会自动将赋值运算符“=”右侧表右侧表达式的值转换为左侧变量的数据类型,并赋值给变量。达式的值转换为左侧变量的数据类型,并赋值给变量。3强制数据类型转换强制数据类型转换一般形式:一般形式:(类型名)变量(类型名)变量 ,(类型名)(表达式),(类型名)(表达式)或或 类型名(变量)类型名(变量) ,类型名(表达式),类型名(表达式)例如:例如:(int)a/将变量将变量a强制转换成强制转换成int型型(double)(m+n)/将将m与与n的和强制转换成的和强制转换成double型型(char)(8%3) /将将8与与3取余的结果强制转换成取
12、余的结果强制转换成char型型(double)(7/4)/将将7/4的结果强制转换成的结果强制转换成double型型(double)7/4 /将将7的数据类型强制转换为的数据类型强制转换为double型,型,/再与再与4求商,结果是双精度型数据求商,结果是双精度型数据1.752.1.4 sizeof 操作符操作符一般形式:一般形式:sizeof(type) 或或 sizeof(变量(变量/表达式)表达式)sizeof(double)=8sizeof(8)=4sizeof(r)=1 sizeof(p) /假设假设p已定义,则求出变量已定义,则求出变量p所属类型所占的字节数所属类型所占的字节数 s
13、izeof(struct Eg)/求出简单结构体求出简单结构体Eg的长度的长度例如,以下形式为合法的。例如,以下形式为合法的。sizeof操作符的操作对象不能是函数、不完全类型或位字段。操作符的操作对象不能是函数、不完全类型或位字段。2.2 常量和变量常量和变量(1)整型常量)整型常量n十进制整型常量:由正、负号和数字十进制整型常量:由正、负号和数字09组成,但数字部分组成,但数字部分不能以不能以0开头。如开头。如12、7、0等。等。2.2.1 常量的类型与符号常量的声明常量的类型与符号常量的声明1常量类型常量类型n八进制整型常量:由正、负号和数字八进制整型常量:由正、负号和数字07组成,数字
14、部分以组成,数字部分以0开头,如开头,如0408、07761等。等。n十六进制整型常量:由正、负号,数字十六进制整型常量:由正、负号,数字09和字母和字母AF(或(或af)组成,数字部分以)组成,数字部分以0X或或0 x开头,用开头,用AF(或(或af)分别)分别表示数值从表示数值从1015的数,如的数,如0XFFFF、0 x2D等。等。(2)实型常量)实型常量n十进制小数形式:由数字十进制小数形式:由数字09和小数点组成,例如和小数点组成,例如3.9,4.112。实型常量默认为。实型常量默认为double型,如果在数字后添加字型,如果在数字后添加字母母F或或f,可使其成为,可使其成为floa
15、t型。型。n指数形式:也称科学计数法,其格式为指数形式:也称科学计数法,其格式为“小数小数E或或e指数指数”,表示表示“小数小数10指数指数”。当用指数形式表示实型常量时,。当用指数形式表示实型常量时,E前前面的小数可以省略整数部分或小数部分,但不能同时省略。面的小数可以省略整数部分或小数部分,但不能同时省略。例如,例如,.12E2、11.E3都是正确的,而都是正确的,而E5是错误的。是错误的。(3)字符常量)字符常量n普通字符常量:用单引号括起来的一个字符。普通字符常量:用单引号括起来的一个字符。n转移字符常量:由转移字符常量:由“”开头的一个或多个字符的序列,用于开头的一个或多个字符的序列
16、,用于表示一些无法显示的字符。表示一些无法显示的字符。(4)字符串常量)字符串常量 由一对双引号括起来的零个或多个字符序列,每一个字符占一由一对双引号括起来的零个或多个字符序列,每一个字符占一个字节,并在末尾添加个字节,并在末尾添加“0”作为字符串结尾标志或结束标志。作为字符串结尾标志或结束标志。字符型常量与字符串常量的存储方式字符型常量与字符串常量的存储方式(5)布尔型常量)布尔型常量 只有两个值,即整数只有两个值,即整数0(表示逻辑假)和(表示逻辑假)和1(表示逻辑真)。在(表示逻辑真)。在C+语言中还定义了这两个布尔型常量所对应的符号常量语言中还定义了这两个布尔型常量所对应的符号常量fa
17、lse和和true,false的值为的值为0,表示逻辑假,表示逻辑假,true的值为的值为1,表示逻辑真。,表示逻辑真。2符号常量的声明符号常量的声明一般形式:一般形式:const 数据类型数据类型 常量名常量名=数值数值/表达式表达式;例如,例如, const float PI=3.141592; /定义符号常量定义符号常量PI代替数值代替数值3.141592const int S=sin3*(1.2); /定义符号常量定义符号常量S代替表达式代替表达式sin3*(1.2) 由字母、数字和下划线组成,且第一个字符必须是字母或由字母、数字和下划线组成,且第一个字符必须是字母或下划线。下划线。2
18、.2.2 变量的命名、定义与声明变量的命名、定义与声明1变量的命名原则变量的命名原则例如,下面变量名为合法变量名:例如,下面变量名为合法变量名: std,code1,n_date,_kufun,i_jing,WAN,S_name,c_Code 非法变量名:非法变量名:Mr.Smith,$dollar,+y,7rain,li hua,C#,car-clour,stdn,U.S.An变量名不允许使用变量名不允许使用C+关键字关键字 、系统函数名和系统类名、系统函数名和系统类名C+关键字关键字nC+语言中区分字母大小写语言中区分字母大小写n标识符采用英文单词或其组合。标识符采用英文单词或其组合。通常
19、会对变量名做一些约束:通常会对变量名做一些约束:n遵循最小化长度与最大化信息量原则。遵循最小化长度与最大化信息量原则。n避免标识符过于相似。避免标识符过于相似。n用正确的反义词组命名具有互斥意义的标识符。用正确的反义词组命名具有互斥意义的标识符。n除非逻辑上的确需要编号,否则尽量避免名字中出现数字编号。除非逻辑上的确需要编号,否则尽量避免名字中出现数字编号。n保持在整个模块中命名风格的统一性。保持在整个模块中命名风格的统一性。2变量的定义变量的定义一般形式:一般形式:数据类型数据类型 变量名变量名1,变量名,变量名2,变量名,变量名n;例如:例如:int n;char a,b; 在定义变量的同
20、时,还可以给它赋予一个初值,即对变量进在定义变量的同时,还可以给它赋予一个初值,即对变量进行初始化。初值可以是常量,也可以是一个有确定值的表达式。行初始化。初值可以是常量,也可以是一个有确定值的表达式。例如:例如:int n=6;float pi=3.1415*3;char a=V,b,c=C;3变量的声明及其与变量定义的区别变量的声明及其与变量定义的区别 变量声明用于向程序表明变量的类型和名字,它并不一定为变量声明用于向程序表明变量的类型和名字,它并不一定为变量分配存储单元。由于在定义变量时声明了它的类型和名字,变量分配存储单元。由于在定义变量时声明了它的类型和名字,因此变量定义可以看作是变
21、量声明的一种,我们可称其为因此变量定义可以看作是变量声明的一种,我们可称其为“定义定义性声明性声明”。 除此之外,我们还可以在程序的其他地方声明已经定义的变除此之外,我们还可以在程序的其他地方声明已经定义的变量,这时变量的声明只是表明了变量的类型和名称,并不会为其量,这时变量的声明只是表明了变量的类型和名称,并不会为其分配存储空间。在分配存储空间。在C+程序中,可以通过使用程序中,可以通过使用extern关键字声明关键字声明变量名而不定义它。变量名而不定义它。2.3 C+的运算符、表达式和优先级的运算符、表达式和优先级C+中的运算符中的运算符2.3.1 算术运算符与算术表达式算术运算符与算术表
22、达式 算术表达式算术表达式:用算术运算符和括号将操作数连接起来的、符合用算术运算符和括号将操作数连接起来的、符合C+语法规则的式子。语法规则的式子。算术运算符算术运算符 自增与自减运算符:自增与自减运算符:n+ + i:在使用:在使用i之前,先使之前,先使i加加1,例如:,例如:i=3,运行,运行j= + +i之后,之后,j=4,i=4。n i:在使用:在使用i之前,先使之前,先使i减减1,例如:,例如:i=3,运行,运行j=i之后,之后,j=2,i=2。ni + +:在使用:在使用i之后,再使之后,再使i加加1,例如:,例如:i=3,运行,运行j=i + +之后,之后,j=3,i=4。ni:
23、在使用:在使用i之后,再使之后,再使i减减1,例如:,例如:i=3,运行,运行j=i之后,之后,j=3,i=2。2.3.2 赋值运算符与赋值表达式赋值运算符与赋值表达式赋值表达式一般形式:赋值表达式一般形式: 变量名变量名=数值数值/表达式表达式例如:例如:a=5a=sin(2.0)a=b+c结合方向:结合方向: 自右向左自右向左复合的赋值运算符:复合的赋值运算符: +=、=、*=、/=、%=、=、 &=、=和和|=。2.3.3 关系运算符与关系表达式关系运算符与关系表达式关系运算符关系运算符n前前4种优先级相同,后种优先级相同,后2种优先级相同,且前者级别高于后者。种优先级相同,且前者级别高
24、于后者。优先级关系优先级关系关系表达式一般形式:关系表达式一般形式: 表达式表达式 关系运算符关系运算符 表达式表达式n结合方向是自左向右,其比较结果是布尔型(结合方向是自左向右,其比较结果是布尔型(bool)的逻辑值。)的逻辑值。2.3.4 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式逻辑运算符逻辑运算符优先级关系优先级关系真值表真值表2.3.5 条件运算符及其表达式条件运算符及其表达式一般形式:一般形式: 表达式表达式1?表达式表达式2:表达式表达式3 如果表达式如果表达式1的值为的值为true,则整个表达式的值为表达式,则整个表达式的值为表达式2的的值;如果为值;如果为false,则整个
25、表达式的值为表达式,则整个表达式的值为表达式3的值。的值。n表达式表达式1的值必须为的值必须为bool型,表达式型,表达式2与表达式与表达式3的值可以为任的值可以为任意类型,且类型可以互不相同。意类型,且类型可以互不相同。n当表达式当表达式2与表达式与表达式3的数据类型不相同时,条件表达式的值的的数据类型不相同时,条件表达式的值的数据类型为二者中较高级的数据类型。数据类型为二者中较高级的数据类型。优先级关系优先级关系2.3.6 逗号运算符及其表达式逗号运算符及其表达式一般形式:一般形式: 表达式表达式1,表达式,表达式2 或或 表达式表达式1,表达式,表达式2,. ,表达式,表达式nn按顺序执
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 教程 完整版 教学 课件 整套 电子 讲义 最新
限制150内