(第四版)C语言程序设计(全套课件527P).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《(第四版)C语言程序设计(全套课件527P).ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 语言程序设计 全套 课件 527
- 资源描述:
-
1、2022-5-232022-5-23目录目录v第一章第一章 C语言概述语言概述v第二章第二章 数据类型及基本运算数据类型及基本运算v第三章第三章 顺序结构程序设计顺序结构程序设计v第四章第四章 选择结构程序设计选择结构程序设计v第五章第五章 循环结构程序设计循环结构程序设计v第六章第六章 数组数组v第七章第七章 函数函数v第八章第八章 指针指针v第九章第九章 结构与其它自定义类型结构与其它自定义类型v第十章第十章 文件文件2022-5-232022-5-23程序设计与高级语言程序设计与高级语言 早期的机器语言;早期的机器语言; 过渡性语言过渡性语言汇编语言;汇编语言; 2020世纪世纪5050
2、年代末的程序设计语言(高级语言);年代末的程序设计语言(高级语言);2022-5-23 C C语言是国际上广泛流行的计算机高级语言语言是国际上广泛流行的计算机高级语言, ,既可用来写系统既可用来写系统软件,也可用来写应用软件。软件,也可用来写应用软件。 C C语言是在语言是在B B语言的基础上发展起来的。语言的基础上发展起来的。 BCPL (basic combined programming language)语言语言C语语言言扩充扩充C语言的内核,使其能满足面向对象模型的要求,称语言的内核,使其能满足面向对象模型的要求,称“带类的带类的C”,1983年取名年取名C+2022-5-23 C+
3、C+与与C C完全兼容,保存了完全兼容,保存了C C语言的所有组成部分,具有更完美的语言的所有组成部分,具有更完美的体系结构和更强大的功能;体系结构和更强大的功能; C/C+C/C+常用的编译软件有常用的编译软件有Turbo CTurbo C,Quick CQuick C,Borland CBorland C,Microsoft Visual C+Microsoft Visual C+,Borland C+Borland C+,WatcomWatcom C+ C+等等;等等;同学们应了解所用的计算机系统所配置的同学们应了解所用的计算机系统所配置的C C编译系统编译系统的特点和规定的特点和规定
4、( (可以参阅有关手册可以参阅有关手册) )。2022-5-231.2.1 1.2.1 简单的简单的C/C+C/C+程序实例程序实例【例【例 1.11.1】 include stdio.hinclude 头文件头文件main ( )main ( )函数名函数名 printf printf (This is a C program.n); (This is a C program.n); 函数体函数体本程序的作用是输出以下一行信息:本程序的作用是输出以下一行信息: This is a C program.This is a C program. 2022-5-23 1.2.2 C/C+1.2.2
5、 C/C+程序设计规则程序设计规则 (1 1)C C程序中使用到的一切数据都必须在使用它们之前对其类程序中使用到的一切数据都必须在使用它们之前对其类型和存储属性加以定义和说明;型和存储属性加以定义和说明; (2 2)函数是)函数是C C程序的基本模块,包括函数名、参数说明表和函程序的基本模块,包括函数名、参数说明表和函数体三个部分;数体三个部分; (3 3)语句是函数的基本单位,语句结束必须加)语句是函数的基本单位,语句结束必须加“ “ ;”; (4 4)C C语言允许语言允许“/ /* * * */”/”包围的注释行;包围的注释行; (5 5)C C程序是自由格式书写的程序,通常采用结构化程
6、序设计程序是自由格式书写的程序,通常采用结构化程序设计原则将程序设计成原则将程序设计成“层次型层次型”; (6 6)C C的输入输出操作由库函数的输入输出操作由库函数scanfscanf和和printfprintf完成;完成;2022-5-23c c程序结构程序结构2022-5-23 高级语言源程序高级语言源程序目标程序目标程序编译程序编译程序编译编译执行执行高级语言程序的执行过程高级语言程序的执行过程 在编好一个在编好一个C源程序后,如何上机运行呢源程序后,如何上机运行呢? 要经过以下几个步骤:要经过以下几个步骤:上机输入、编辑源程序、对源程序进行编译、与库函数连接、运行上机输入、编辑源程序
7、、对源程序进行编译、与库函数连接、运行目标程序这样几个步骤。目标程序这样几个步骤。2022-5-23 实线表示操作流程,虚线表示文件的输入输出。实线表示操作流程,虚线表示文件的输入输出。2022-5-231.2.3 C/C+程序的编辑、编译与运行程序的编辑、编译与运行 在在Visual C+Visual C+集成开发环境下编辑集成开发环境下编辑C C程序程序 2022-5-23 在在Visual C+Visual C+集成开发环境下编译与运行集成开发环境下编译与运行C C程序程序 打开打开“Build”Build”菜单,选择菜单,选择“Compile hjm01.c”Compile hjm01
8、.c”命令,命令,编译正确后生成目标文件;编译正确后生成目标文件; 打开打开“Build”Build”菜单,选择菜单,选择“Build hjm01.exe”Build hjm01.exe”命令,命令,将目标程序与库文件相链接,生成可执行文件;将目标程序与库文件相链接,生成可执行文件; 打开打开“Build”Build”菜单,选择菜单,选择“Execute hjm01.exe”Execute hjm01.exe”命命令,运行执行程序。令,运行执行程序。2022-5-23 1.3.1 1.3.1 基本字符集基本字符集 字符集是构成字符集是构成C/C+C/C+程序的基本元素。程序的基本元素。C/C+
9、C/C+语言的字符集有下语言的字符集有下述字符构成:述字符构成: (1 1)英文字母:)英文字母:A AZ Z,a az z (2 2)数字字符:)数字字符:0 09 9 (3 3)特殊符号:!,)特殊符号:!,& &等。等。 2022-5-23 1.3.2 1.3.2 标识符标识符 C/C+C/C+程序中,标识符用来标识变量名、符号常量名、函数名、程序中,标识符用来标识变量名、符号常量名、函数名、数组名、文件名、类名、对象名等。数组名、文件名、类名、对象名等。 有效标识符的构成规则为:有效标识符的构成规则为: (1 1)必须由字母()必须由字母(a az z,A AZ Z)或下划线()或下划
10、线(_ _)开头;)开头; (2 2)由字母、数字和下划线组成的长度不超过)由字母、数字和下划线组成的长度不超过3232的字符串;的字符串; (3 3)标识符中的大小写字母有区别;)标识符中的大小写字母有区别; (4 4)不能与)不能与同名;同名; 下面是不合法的标识符和变量名:下面是不合法的标识符和变量名: .d.d.,ohnohn,y 123y 123,3333,3d643d642022-5-23 1.3.3 1.3.3 关键字关键字 C C编译系统已经预定义的、具有特殊用途的保留标识编译系统已经预定义的、具有特殊用途的保留标识符称为关键字。具体见书符称为关键字。具体见书P P7 7。 编
11、译预处理是编译预处理是C C编译系统的一个组成部分。编译系统的一个组成部分。 告诉编译系统在对源程序进行编译之前应该告诉编译系统在对源程序进行编译之前应该做些什么。做些什么。2022-5-23C C源程序源程序目标程序目标程序执行程序执行程序编译预处理编译预处理编译编译链接链接图图1 1 编译预处理的执行过程编译预处理的执行过程(无预处理命令)(无预处理命令)(有预处理命令)(有预处理命令)2022-5-23 编译预处理命令有三种:编译预处理命令有三种: 宏定义宏定义 无参数宏定义无参数宏定义 有参数宏定义(有参数宏定义(7.77.7节介绍)节介绍) 文件包含文件包含 条件编译条件编译 202
12、2-5-23 无参数宏定义的格式为:无参数宏定义的格式为:define define 【例】【例】define PI 3.1415926define PI 3.1415926 【例】分析程序的结果。【例】分析程序的结果。 #define PI 3.1415926#define PI 3.1415926 #define R 4.0 #define R 4.0 main( ) main( ) float area; float area; area=PI area=PI* *R R* *R;R; printf(“area printf(“area=%.2f”);=%.2f”); 宏名一般用大写字母
13、表示宏名一般用大写字母表示1.4.1 1.4.1 无参数宏定义无参数宏定义2022-5-23 1.4.2 1.4.2 文件包含文件包含 文件包含是通过编译预处理命令文件包含是通过编译预处理命令includeinclude把另一个文件的全把另一个文件的全部内容包含到本文件之中。命令格式有两种:部内容包含到本文件之中。命令格式有两种:include “include “文件名文件名” 【例】【例】#include “C#include “C:TCCC1file2.c”TCCC1file2.c”include include 【例【例】#include stdio.h#include 按系统指定的标
14、准方式检索文件目录按系统指定的标准方式检索文件目录先在源文件目录中检索文件,没找到再按先在源文件目录中检索文件,没找到再按系统指定的标准方式检索文件目录系统指定的标准方式检索文件目录2022-5-23【例】计算常用对数【例】计算常用对数lgx。 #include “math.h” main( ) float x; scanf(“%f”,&x); printf(“%fn”,log10(x); 【例【例】 #include main( ) printf(This is a C program.n); 2022-5-232022-5-23 见书见书P P1111图图2.1 2.1 数据类型分类示意图
15、数据类型分类示意图数据在内存中有两种表示形式:其一是在程序运行数据在内存中有两种表示形式:其一是在程序运行过程中值永远保持不变的过程中值永远保持不变的;其二是在程序运行过程;其二是在程序运行过程中值可以发生变化的中值可以发生变化的; 2022-5-23常量常量数值常量数值常量符号常量符号常量整型常量整型常量实型常量实型常量字符常量字符常量字符串常量字符串常量2.3.1 2.3.1 常量常量 常量常量在程序运行过程中其值不能被改变的量;在程序运行过程中其值不能被改变的量; 按表达形式,常量分为:按表达形式,常量分为:2022-5-23 1 1、值常量、值常量 常量通常是直接以自身的存在形式体现其
16、值和类型,常量不占内存,常量通常是直接以自身的存在形式体现其值和类型,常量不占内存,在程序运行时作为操作对象直接出现在运算器的各种寄存器中。在程序运行时作为操作对象直接出现在运算器的各种寄存器中。 2 2、符号常量、符号常量 符号常量的定义形式:符号常量的定义形式: 标识符标识符 值常量值常量 数据类型数据类型 标识符值常量标识符值常量 【例】【例】 define PI 3.14159define PI 3.14159 const float I=3.1415926const float I=3.14159262022-5-23 3.3.常用的转义字符常用的转义字符 【例】分析下面两段代码的区
17、别:【例】分析下面两段代码的区别: #includestdio.h#include main( ) main( ) printf(“This printf(“This is a C program.n”) is a C program.n”); #includestdio.h#include main( )main( ) printf(“tThis printf(“tThis is a C is a C program.n”)program.n”); 2022-5-23 2.3.2 2.3.2 变量变量 在程序运行过程中其值可以被改变的量;在程序运行过程中其值可以被改变的量; 1.1.变量的说
18、明变量的说明 【例【例】 intint i i,j j,k k; 2.2.变量的赋初值变量的赋初值在程序中,一个变量占据着一在程序中,一个变量占据着一个实际的存储单元,变量名实际上是存储单元的逻辑地个实际的存储单元,变量名实际上是存储单元的逻辑地址,存储单元中的内容是变量的值;址,存储单元中的内容是变量的值;2022-5-23 (1 1)允许在定义变量的同时对其赋初值;)允许在定义变量的同时对其赋初值; 【例【例】 intint a a3 3; float ffloat f7.87.8; (2 2)允许仅对说明语句中的部分变量赋初值;)允许仅对说明语句中的部分变量赋初值; 【例【例】 inti
19、nt a a,b b,c c6 6; (3 3)不允许同时对几个变量赋同一个初值;)不允许同时对几个变量赋同一个初值; 【例【例】 intint a ab bc c1313; (4 4)变量的赋初值不是在程序编译阶段,而是在程序)变量的赋初值不是在程序编译阶段,而是在程序运行时赋的;运行时赋的;2022-5-23 1 1、变量一旦被说明为字符型,就意味着它只能取单字变量一旦被说明为字符型,就意味着它只能取单字符值。符值。 例:例:charchar x x;x x3333; 字符在计算机内部并不是以字符原形存储的,是以字符在计算机内部并不是以字符原形存储的,是以ASCIIASCII码的形式码的形
20、式存储在一个字节中,所以字符也可以用存储在一个字节中,所以字符也可以用ASCIIASCII码的整数形式来表示。码的整数形式来表示。 2 2、字符型数据与字符串数据的区别、字符型数据与字符串数据的区别和和;2022-5-23 2.4.1 2.4.1 算术运算符和算术表达式算术运算符和算术表达式 1 1)算术运算符)算术运算符 类别类别运算符运算符含义含义备注备注双目双目/ /除除随参与运算的类型而含义有所不同随参与运算的类型而含义有所不同% %求余数求余数运算对象必须为整型运算对象必须为整型单目单目+自增自增1 1运算对象必须为变量运算对象必须为变量-自减自减1 1运算对象必须为变量运算对象必须
21、为变量+ +取正取正- -取负取负2022-5-23 2 2)算术运算符的运算优先级和结合性)算术运算符的运算优先级和结合性 运算符运算符结合性结合性备注备注()()自内向外自内向外+,-,- -(取负)(取负)自右至左自右至左+,-为前缀形式时为前缀形式时* *,/ /,自左至右自左至右+ +(加),(加),- -(减)(减)自左至右自左至右优优先先级级3 3)算术表达式)算术表达式 注意书写的规范注意书写的规范2022-5-23【例】将下列代数式转换成【例】将下列代数式转换成C C语言表达式。语言表达式。 xx212sqrtsqrt(x x* *x+1x+1)/ /(2 2* *x x)x
22、21sqrtsqrt(absabs(x x)/2/24 4)算术型数据的混合运算)算术型数据的混合运算 自动类型转换:规则是由低级向高级转换,如下自动类型转换:规则是由低级向高级转换,如下图所示:(图所示:(P P1717图图2.2 2.2 )2022-5-23 强制类型转换:是根据程序的需要,将某数据强强制类型转换:是根据程序的需要,将某数据强 制转换成指定的数据类型,方法是在被转换对象制转换成指定的数据类型,方法是在被转换对象 (或表达式)前面增加类型标识符,(或表达式)前面增加类型标识符,如下:如下: 数据类型自动转换规则示意数据类型自动转换规则示意(类型标识符)(类型标识符) 表达式表
23、达式水平箭头表示必定转换;纵向箭头表示水平箭头表示必定转换;纵向箭头表示两个不同类型对象时的转换方向两个不同类型对象时的转换方向2022-5-23 【例】【例】 (2.7+6.82.7+6.8) 表示将表示将2.7+6.82.7+6.8的运算结果的运算结果9.59.5强制转换成强制转换成intint型整数型整数9 9,舍弃小数,舍弃小数部分。部分。 【思考题思考题】如何实现运算结果的四舍五入呢?如何实现运算结果的四舍五入呢? 5 5)使用算术表达式的注意事项)使用算术表达式的注意事项 两个整数直接相除,结果自动取整,丢弃小数部分;两个整数直接相除,结果自动取整,丢弃小数部分;【例【例】 flo
24、at xfloat x,y y; x x6/46/4; y y6.0/46.0/4;x x的值为的值为1.01.0y y的值为的值为1.51.5(int)2022-5-23 运算符运算符“+”+”、“-”-”运算的优先级高于算术运算中运算的优先级高于算术运算中所有所有 双目运算符,运算对象双目运算符,运算对象,不能是,不能是或或 【例】【例】 有有intint x x;float yfloat y;下面的式子错在了哪里?;下面的式子错在了哪里? (x+yx+y)+、 5+ 5+ 变量的前缀和后缀运算的区别变量的前缀和后缀运算的区别2022-5-23y y6 6,x x6 6y y2525,x
25、x7 7y y4949,x x7 7y y+x+x* *+x+x;y y+x+x;y yx+x+* *x+x+;y y5 5,x x6 6y yx+x+;2022-5-23 2.4.2 2.4.2 赋值运算符和赋值表达式赋值运算符和赋值表达式 1 1)基本赋值运算符)基本赋值运算符 将赋值运算符右边的表达式的值赋给其左边的将赋值运算符右边的表达式的值赋给其左边的; 【例【例】float xfloat x3.13.1;intint y y;y yx+2x+2;float yfloat y5.65.6;intint x x;x+2x+2y y;5 5y y;2022-5-23 2 2)复合赋值运算
展开阅读全文