书签 分享 收藏 举报 版权申诉 / 527
上传文档赚钱

类型(第四版)C语言程序设计(全套课件527P).ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2754672
  • 上传时间:2022-05-23
  • 格式:PPT
  • 页数:527
  • 大小:6.56MB
  • 【下载声明】
    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)复合赋值运算

    26、符)复合赋值运算符 算术运算符算术运算符 对赋值运算符左、右两边的运算对象进行指定的算术运算符对赋值运算符左、右两边的运算对象进行指定的算术运算符的运算,再将运算结果赋予左边的变量;的运算,再将运算结果赋予左边的变量; 【例】【例】 a+=3 a+=3 等价于等价于a=a+3a=a+3 那么那么a a* *b+1 b+1 等价于等价于a aa a* *(b+1b+1) a += a +=(b b) ( (其中其中a a为变量,为变量,b b为表达式为表达式) ) a +a += =(b b) ( (将有下划线的将有下划线的“a+”a+”移到移到“=”=”右侧右侧) ) a = a + a =

    27、a +(b b) ( (在在“=”=”左侧补上变量名左侧补上变量名a)a)2022-5-23 3 3)赋值表达式)赋值表达式 用用将将连接而成的式子称为赋值表达连接而成的式子称为赋值表达式。式。 【例【例】 intint k k,a a1 1,j j5 5;a+a+j+ j+ 【例【例】 intint x x6 6; x+x+x-x-x x* *x x;a aa +a +(j+j+)a a6 6,j j6 6x xx+x+(x-x-x x* *x x)x xx+x+(x xx-xx-x* *x x)x x-60-602022-5-23 2.4.3 2.4.3 逗号运算符和逗号表达式逗号运算符和

    28、逗号表达式 1 1)逗号运算符)逗号运算符“,”的用法:的用法: 用作分隔符用作分隔符在变量说明语句、函数调用语句等场合,例在变量说明语句、函数调用语句等场合,例 如如 intint a a,b b,c c; 用作运算符用作运算符是一个双目运算符,构成逗号表达式,是一个双目运算符,构成逗号表达式,运算顺序自左至右;例如,运算顺序自左至右;例如 a a2 2* *6 6,a-4a-4,a+15a+15;12128 82727逗号表达式的值为逗号表达式的值为27272022-5-23 2 2)逗号表达式)逗号表达式 表达式表达式1 1,表达式,表达式2 2,表达式,表达式3 3,表达式,表达式n

    29、n 分别计算每一个表达式的值,并将最后一分别计算每一个表达式的值,并将最后一个表达式的值作为整个逗号表达式的结果个表达式的值作为整个逗号表达式的结果 【例【例】x x5+55+5,10+1010+10 【例【例】x x(5+55+5,10+1010+10)2020,1010逗号表达式的值和逗号表达式的值和x x的值分别为的值分别为赋值语句之后赋值语句之后x x的值为的值为20202022-5-23 【例】分析逗号表达式(【例】分析逗号表达式(a a3 3* *5 5,a a* *4 4),),a+15a+15的结果。的结果。 6060a a的值为的值为1515整个逗号表达式的值为整个逗号表达式

    30、的值为3030 【例【例】intint x x,y y,分析,分析y y(x x1 1,+x+x,x+2x+2)的结果。)的结果。逗号表达式的值为逗号表达式的值为4 44 4y y的值为的值为括号中的表达式值为括号中的表达式值为2022-5-23 2.4.4 2.4.4 关系运算符和关系表达式关系运算符和关系表达式 关系运算主要用在程序中的判断语句。关系运算主要用在程序中的判断语句。 1 1、关系运算符、关系运算符 = = != = = !=同级同级同级同级高高低低2 2、关系表达式、关系表达式 若干表达式用关系运算符连接而成,关系表达式的值为若干表达式用关系运算符连接而成,关系表达式的值为0

    31、 0或或1 1。 【例】设【例】设x x1 1,y y2 2,z z3 3,分析下面的关系表达式的值。,分析下面的关系表达式的值。 x!=y=z-2x!=y=z-21 12022-5-23 2.4.5 2.4.5 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 1 1、逻辑运算符、逻辑运算符运算符运算符功能功能运算规则运算规则优先级优先级!逻辑非逻辑非!1=0, !0=1高高&逻辑与逻辑与1&1=11&0=0&1=0&0=0中中|逻辑或逻辑或0|0=01|0=0|1=1|1=1低低2022-5-23 2、逻辑表达式、逻辑表达式 用逻辑运算符将若干不同类型的表达式连接而成的式子称为逻辑用逻辑运算符

    32、将若干不同类型的表达式连接而成的式子称为逻辑表达式。表达式。 逻辑表达式的值应该是一个逻辑量逻辑表达式的值应该是一个逻辑量“真真”或或“假假”。c语言编译语言编译系统在给出逻辑运算结果时,判断一个量是否为系统在给出逻辑运算结果时,判断一个量是否为“真真”时,以时,以0代表代表“假假”,以,以代表代表“真真”。 【例】设【例】设int a0,b2,c3;判断下面逻辑表达式的值。;判断下面逻辑表达式的值。 a0 , a0 | b0 | c0 , !a2022-5-23 代数中的不等式代数中的不等式0 x0)& (x5),而不能直接写成),而不能直接写成0 x=A&c=a&c=z【例】判别整数变量【

    33、例】判别整数变量year是否为闰年是否为闰年。(year40&year%100!=0)| |( (year%400=0) )返回返回2022-5-233 3、逻辑表达式的求值顺序、逻辑表达式的求值顺序运算符运算符优先级优先级!(逻辑非)(逻辑非)1* / %2+ -3 =4= !=5&(逻辑与)(逻辑与)6|(逻辑或)(逻辑或)7=82022-5-23 2.4.6 2.4.6 位运算符和位表达式位运算符和位表达式 1 1)位运算符)位运算符位运算符位运算符形形 式式功功 能能x对对x x的二进制值按位求反的二进制值按位求反& &x&yx&y对对x x,y y的二进制值按位与的二进制值按位与|

    34、|x|yx|y对对x x,y y的二进制值按位或的二进制值按位或 x x yy对对x x,y y的二进制值按位异或的二进制值按位异或xmxxmxm将将x x的二进制值右移的二进制值右移m m位位 2 2)位运算符求值规则)位运算符求值规则2022-5-23 3 3)位运算的优先级)位运算的优先级 & | & |运运 算算 符符求求 值值 规规 则则0=10=1 1=01=0& &0&0=0 0&1=0 1&0=0 1&1=10&0=0 0&1=0 1&0=0 1&1=1| |0|0=0 0|1=1 1|0=0 1|1=10|0=0 0|1=1 1|0=0 1|1=1 0 0 0=0 0 1=1

    35、 1 0=1 1 1=0 0=0 0 1=1 1 0=1 1 1=0001011102 00101110001011102 001011102 结果为结果为 0000101100001011高高低低2022-5-23 【例】取一个整数【例】取一个整数a a从右端开始的从右端开始的4 47 7位。位。 先使先使a a右移右移4 4位;下图中,位;下图中, (a)(a)图是未右移时的情况图是未右移时的情况; ; (b) (b)图是右移图是右移4 4位后的情况。目的是使要取出的那几位移到最位后的情况。目的是使要取出的那几位移到最 右端。右移到右端可以用下面方法实现:右端。右移到右端可以用下面方法实现

    36、: a 4a 4。 2022-5-23 设置一个低设置一个低4 4位全为位全为1,1,其余全为其余全为0 0的数。可用下面方法的数。可用下面方法实现:实现: ( ( 0 4 )0 4 ) 0 0的全部二进制为全的全部二进制为全1 1,左移,左移4 4位,这样右端低位,这样右端低4 4位为位为 0 0。见下面所示:。见下面所示: 0:00000:0000000000000000 0: 11110: 1111111111111111 04:111104:1111110000110000 ( (04):00000 4) &(a 4) & ( ( 0 4 )0 4 ) 根据介绍的方法,与低根据介绍的方

    37、法,与低4 4位为位为1 1的数进行的数进行& &运算,就能将这运算,就能将这4 4位位保留下来。保留下来。 程序如下:程序如下: 2022-5-23 main(main() ) unsigned a unsigned a,b b,c c,d d; scanf(%oscanf(%o ,&a)&a); b=ab=a4 4; c=c=( (0 04)4); d=b&c d=b&c; printf(%oprintf(%o, %dn%o%dn%o, %dn%dn,a a,a a,d d,d)d); 2022-5-23 2.5.1 2.5.1 库函数的调用库函数的调用 abs(xabs(x) ) fab

    38、s(x fabs(x) ) sqrt(x sqrt(x) ) pow(x,y pow(x,y) ) clrscr clrscr( )( )2022-5-23 2.5.2 2.5.2 使用库函数注意事项使用库函数注意事项 库函数是库函数是C C编译系统预定义的,库函数的原型都被编译系统预定义的,库函数的原型都被定义在扩展名为定义在扩展名为h h的头文件,在调用库函数之前,必须的头文件,在调用库函数之前,必须用用编译预处理命令将相关的头文件包含到程序编译预处理命令将相关的头文件包含到程序中来。中来。2022-5-23 【例】计算常用对数【例】计算常用对数lgxlgx。 #include “math

    39、.h#include “math.h” main( ) main( ) float x; float x; scanf(“%f”,&x scanf(“%f”,&x);); printf(“%fn”,log10(x); printf(“%fn”,log10(x); 2022-5-232022-5-23 顺序结构顺序结构 分支结构分支结构 循环结构循环结构C C语言用于顺序结构的基本语句是表达式语句、复合语句和空语言用于顺序结构的基本语句是表达式语句、复合语句和空语句。语句。 3.1.1 3.1.1 表达式语句表达式语句2022-5-23表达式;表达式; 【例】【例】a a1 1; 【功能】完成计

    40、算表达式的值或将结果赋给某一变量的任务;【功能】完成计算表达式的值或将结果赋给某一变量的任务; 【例】【例】i+i+; 【例【例】printf(“byeprintf(“bye!”);!”); 【例【例】x=y+zx=y+z; ;2022-5-23 表达式语句中最常用的是表达式语句中最常用的是赋值表达式赋值表达式 ;);) 简单赋值:变量表达式;简单赋值:变量表达式; 多重赋值:变量多重赋值:变量1 1变量变量2 2变量变量n n表达式;表达式; 赋值表达式可以出现在任何表达式允许出现的地方,而赋赋值表达式可以出现在任何表达式允许出现的地方,而赋 值语句则不能;值语句则不能;x=(y=2)+(z

    41、=3+y);x=(y=2)+(z=3+y);x=(y=2;)+(z=3+y;)x=(y=2;)+(z=3+y;);正确正确错误错误2022-5-233.1.2 3.1.2 复合语句复合语句 若干连续语句若干连续语句 【例【例】 z=x; x=y; y=z; z=x; x=y; y=z; 中最后一个语句末尾的分号不能省略,并且在中最后一个语句末尾的分号不能省略,并且在 之外不能再加之外不能再加“;”。 【应用范围】复合语句主要用于选择结构和循环结构中。【应用范围】复合语句主要用于选择结构和循环结构中。返回返回2022-5-233.1.3 3.1.3 空语句空语句; 【功能】一般作为程序的转向点或

    42、作为循环语句中的空循环体;【功能】一般作为程序的转向点或作为循环语句中的空循环体;2022-5-23C C语言的输入和输出函数(原型放在头文件语言的输入和输出函数(原型放在头文件stdio.hstdio.h中):中): putcharputchar(字符输出);(字符输出); printfprintf(格式输出);(格式输出); getchargetchar(字符输入);(字符输入); scanfscanf(格式输入);(格式输入);2022-5-233.2.1 3.2.1 数据的输出数据的输出 1 1、putcharputchar函数函数 在显示器上输出在显示器上输出字符。字符。 putch

    43、arputchar (参数)(参数) 参数可以是一个字符型变量、一个整型变量或一个参数可以是一个字符型变量、一个整型变量或一个字符型常量(包括控制字符和转义字符)等。字符型常量(包括控制字符和转义字符)等。 【例】使用库函数【例】使用库函数putcharputchar()输出各种字符。()输出各种字符。2022-5-23 include main( ) char ch1, ch2; int j; ch1=C; ch2=h; j=105;putchar(ch1);putchar(ch2);putchar(j);putchar(n);putchar(141); putchar(n);输出字符输出字

    44、符C C输出字符输出字符h h输出字符输出字符i i输出字符输出字符n n输出字符输出字符a a,141141是转义字符是转义字符输出换行输出换行2022-5-23 2 2、printfprintf函数函数 1)1) printfprintf(“格式控制字符串格式控制字符串”,输出项,输出项1 1,输出项,输出项2 2,) 将各输出项(可以是变量、常量、表达式)的将各输出项(可以是变量、常量、表达式)的值按指定的格式输出到屏幕上。值按指定的格式输出到屏幕上。 【例【例】 printfprintf( “( “”,x”,x ); ); 2) printf 2) printf函数中常用的格式控制函数

    45、中常用的格式控制 2022-5-23格式字符格式字符 格式修饰格式修饰 格式说明总是由格式说明总是由“”字符开始字符开始标志、类型修饰、输标志、类型修饰、输出最小宽度和精度出最小宽度和精度说明输出项类型说明输出项类型 格式字符格式字符 见见P P3232表表3.13.1; 【例【例】printfprintf(“x xd d,y=y=fnfn”,x x,y y);); 【例】【例】mainmain()() char c=A; char c=A; int int x=1234; x=1234; float y=-123.456789; float y=-123.456789; printf(“|%

    46、c|%s|%d|%f|%e|n”,c,“Hello”,x,y,y printf(“|%c|%s|%d|%f|%e|n”,c,“Hello”,x,y,y);); 2022-5-23v 标志标志 - -表示输出值左对齐,右边补空;表示输出值左对齐,右边补空; 【例【例】 printfprintf(”-d”-d”,-24-24);); 运行结果:运行结果:-24-24 + +表示输出结果右对齐,输出符号位;表示输出结果右对齐,输出符号位; 对对o o格式输出时加前缀格式输出时加前缀0 0,对,对x x格式输出时加前缀格式输出时加前缀0 x0 x,对,对 e e、g g、f f格式当结果有小数时才给出

    47、小数点;格式当结果有小数时才给出小数点;2022-5-23v 精度精度 m .nm .n 【例【例】printfprintf(“8.1f”8.1f”,123.45123.45);); 输出结果:输出结果: 123.5123.5v 输出宽度输出宽度 用十进制整数限定输出数据的位数:用十进制整数限定输出数据的位数: 【例【例】printfprintf(“5d”5d”,-24-24);); 运行结果:运行结果: -24-24数据总宽度小数位数2022-5-23v 类型修饰类型修饰 h h表示输出项是短整型或无符号短整型;表示输出项是短整型或无符号短整型; l l表示输出项是长整型或无符号长整型;表示

    48、输出项是长整型或无符号长整型;【例【例】 long intlong int x x12345671234567; printfprintf(”|%ld|%d|”, x, x|%ld|%d|”, x, x); ; 输出结果:输出结果:|1234567|-10617|1234567|-10617|2022-5-23 【例【例】printfprintf函数应用举例。函数应用举例。 include stdio.hinclude main( ) main( ) int int x =28; x =28; float y =-1.7; float y =-1.7; char c =B; char c =B

    49、; double z =1.25e+7; double z =1.25e+7; printf(“x printf(“x=%+5d, y=%-8.3fn”, x, y);=%+5d, y=%-8.3fn”, x, y); printf(“|%c#%-5c|n”, c, c); printf(“|%c#%-5c|n”, c, c); printf(“z printf(“z=%lfn”, z);=%lfn”, z); x= x= +28,y=-1.700+28,y=-1.700 |B#B|B#B | |Z=12500000.000000Z=12500000.0000002022-5-233.2.2

    50、3.2.2 数据的输入数据的输入 1 1、getchargetchar函数函数c cgetchargetchar( ) 从键盘上读取从键盘上读取字符;字符;【例【例】include main( ) char ch; ch=getchar( ); printf(“%c:%dn”, ch, ch); include main( ) char ch; ch=getchar( ); printf(“c:%dn”, ch, ch); 2022-5-23 2 2、scanfscanf函数函数 1 1)函数调用)函数调用 scanfscanf(“格式控制字符串格式控制字符串”,输入项,输入项1 1,输入项,

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:(第四版)C语言程序设计(全套课件527P).ppt
    链接地址:https://www.163wenku.com/p-2754672.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库