单片机C语言-第2章51单片机硬件及C51编程基础-5课件.ppt

上传人(卖家):晟晟文业 文档编号:4286655 上传时间:2022-11-26 格式:PPT 页数:22 大小:170.58KB
下载 相关 举报
单片机C语言-第2章51单片机硬件及C51编程基础-5课件.ppt_第1页
第1页 / 共22页
单片机C语言-第2章51单片机硬件及C51编程基础-5课件.ppt_第2页
第2页 / 共22页
单片机C语言-第2章51单片机硬件及C51编程基础-5课件.ppt_第3页
第3页 / 共22页
单片机C语言-第2章51单片机硬件及C51编程基础-5课件.ppt_第4页
第4页 / 共22页
单片机C语言-第2章51单片机硬件及C51编程基础-5课件.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、2.5 基本运算与流程控制语句基本运算与流程控制语句 2.5.1 基本运算基本运算 2.5.2 分支判断分支判断-if、switch 2.5.3 循环控制循环控制while、for 2.5.4 break、continue、return、goto语句语句 运算符按其在表达式中所起的作用,可分为赋值运算符、运算符按其在表达式中所起的作用,可分为赋值运算符、算术运算符、增量与减量运算符、关系运算符、逻辑运算算术运算符、增量与减量运算符、关系运算符、逻辑运算符、位运算符、复合赋值运算符、逗号运算符、条件运算符、位运算符、复合赋值运算符、逗号运算符、条件运算符、指针和地址运算符、强制类型转换运算符等。

2、符、指针和地址运算符、强制类型转换运算符等。1赋值运算符赋值运算符 在在C51程序中,符号程序中,符号“=”称为赋值运算符,它的作用是将称为赋值运算符,它的作用是将一个数据的值赋给一个变量。一个数据的值赋给一个变量。2算术运算符算术运算符 C语言中的算术运算符有:语言中的算术运算符有:+(加或取正值加或取正值)运算符、运算符、-(减或减或取负值取负值)运算符、运算符、*(乘乘)运算符、运算符、/(除除)运算符、运算符、%(取余取余)运算符。运算符。2.5.1 基本运算基本运算3增量与减量运算符增量与减量运算符 C51中除了基本的加、减、乘、除运算符之外,还提供两中除了基本的加、减、乘、除运算符

3、之外,还提供两种特殊的运算符:种特殊的运算符:+(增量)运算符和(增量)运算符和-(减量)运算符。(减量)运算符。4关系运算符关系运算符 C语言中有语言中有6种关系运算符:种关系运算符:(大于)、(大于)、=(大于等于)、(大于等于)、=(小于等于)、(小于等于)、=(等于)、(等于)、!=(不等(不等于)。于)。5逻辑运算符逻辑运算符 C51中有中有3种逻辑运算符:种逻辑运算符:|(逻辑或)、(逻辑或)、&(逻辑(逻辑与)、与)、!(逻辑非)。(逻辑非)。6位运算符位运算符 C51中共有中共有6种位运算符:(按位取反)、种位运算符:(按位取反)、(右移)、(右移)、&(按位与)、(按位与)、

4、(按位异或)、(按位异或)、|(按位或)。(按位或)。7复合赋值运算符复合赋值运算符 在赋值运算符在赋值运算符“=”的前面加上其他运算符,就构成了的前面加上其他运算符,就构成了所谓复合赋值运算符,所谓复合赋值运算符,C51中共有中共有10种复合赋值运算符:种复合赋值运算符:+=(加法赋值)、(加法赋值)、-=(减法赋值)、(减法赋值)、*=(乘法赋值)、(乘法赋值)、/=(除法赋值)、(除法赋值)、%=(取模赋值)、(取模赋值)、=(右移位赋值)、(右移位赋值)、&=(逻辑与赋值)、(逻辑与赋值)、|=(逻辑或赋值)、(逻辑或赋值)、=(逻辑异或赋值)、(逻辑异或赋值)、=(逻辑非赋(逻辑非赋

5、值)。值)。8逗号运算符逗号运算符 C51程序逗号程序逗号“,”是一个特殊的运算符,可以用它将两个是一个特殊的运算符,可以用它将两个(或多个)表达式连接起来,称为逗号表达式。(或多个)表达式连接起来,称为逗号表达式。9条件运算符条件运算符 条件运算符条件运算符“?:?:”是是C51中唯一的一个三目运算符,中唯一的一个三目运算符,它要求有它要求有3个运算对象,用它可以将个运算对象,用它可以将3个表达式连接构成一个表达式连接构成一个条件表达式。条件表达式的一般形式如下个条件表达式。条件表达式的一般形式如下:逻辑表达式逻辑表达式?表达式表达式1:表达式表达式210指针和地址运算符指针和地址运算符 指

6、针是指针是C51中的一个十分重要的概念,中的一个十分重要的概念,C51中专门规中专门规定了一种指针类型的数据。变量的指针就是该变量的地址,定了一种指针类型的数据。变量的指针就是该变量的地址,还可以定义一个指向某个变量的指针变量。为了表示指针还可以定义一个指向某个变量的指针变量。为了表示指针变量和它所指向的变量地址之间的关系,变量和它所指向的变量地址之间的关系,C51提供了两个提供了两个专门的运算符:专门的运算符:*(取内容)和(取内容)和&(取地址)。(取地址)。取内容和取地址运算的一般形式分别为取内容和取地址运算的一般形式分别为:变量变量=*指针变量指针变量 指针变量指针变量=&目标变量目标

7、变量11强制类型转换运算符强制类型转换运算符 C语言中的圆括号语言中的圆括号“()”也可作为一种运算符使用,这也可作为一种运算符使用,这就是强制类型转换运算符就是强制类型转换运算符,它的作用是将表达式或变量的类它的作用是将表达式或变量的类型强制转换成为所指定的类型型强制转换成为所指定的类型(char、int、long、float等类等类型型)。强制类型转换运算符的一般使用形式为:强制类型转换运算符的一般使用形式为:(类型类型)表达式表达式 C51程序的基本结构程序的基本结构 1 表达式语句表达式语句 表达式语句是最基本的一种语句。在表达式的后边加表达式语句是最基本的一种语句。在表达式的后边加一

8、个分号一个分号“;”就构成了表达式语句。表达式语句也可以就构成了表达式语句。表达式语句也可以仅由一个分号仅由一个分号“;”组成,这种语句称为空语句。组成,这种语句称为空语句。2 复合语句复合语句 复合语句是由若干条语句组合而成的一种语句,它是复合语句是由若干条语句组合而成的一种语句,它是用一个大括号用一个大括号“”将若干条语句组合在一起而形成的一种将若干条语句组合在一起而形成的一种功能块。功能块。复合语句的一般形式为复合语句的一般形式为:局部变量定义局部变量定义;语句语句1;语句语句2;语句语句n;2.5.2 分支判断分支判断-if、switch语句语句 1、if语句语句(1)if(表达式)(

9、表达式)语句语句 (2)if(表达式)(表达式)语句语句1 else 语句语句2(3)if(表达式表达式1)语句语句1;else if(表达式表达式2)语句语句2;else if(表达式表达式3)语句语句3;else if(表达式表达式m)语句语句m;else 语句语句n;uif语句的嵌套:语句的嵌套:在在if语句中又含有一个或多个语句中又含有一个或多个if语句,这种情况称为语句,这种情况称为if语句的嵌套。语句的嵌套。if语句的嵌套的基本形式如下:语句的嵌套的基本形式如下:外层嵌套if语句if()elseif()else 语句1;语句2;if()else 语句1;语句2;内层嵌套语句内层嵌套

10、语句2、switch语句语句 switch(表达式表达式)case 常量表达式常量表达式1:语句语句1;break;case 常量表达式常量表达式2:语句语句2;break;.case 常量表达式常量表达式n:语句语句n;break;default:语句语句n+1;u使用使用case 语句需注意下列几个问题:语句需注意下列几个问题:(1)当当switch括号中表达式的值与某一括号中表达式的值与某一case后面常量表达式后面常量表达式的值相等时,就执行它后面的语句,然后因遇到的值相等时,就执行它后面的语句,然后因遇到break而退出而退出switch语句。当所有的语句。当所有的case中的常量表

11、达式的值中的常量表达式的值都没有与表达式的值相匹配时,就执行都没有与表达式的值相匹配时,就执行default后面的语后面的语句。句。(2)每一个每一个case的常量表达式必须是互不相同的,否则将出的常量表达式必须是互不相同的,否则将出现混乱局面现混乱局面(对表达式的同一个值,有两种或两种以上对表达式的同一个值,有两种或两种以上的选择的选择)。(3)各个各个case和和default出现的次序,不影响程序执行的结果。出现的次序,不影响程序执行的结果。(4)如果在如果在case语句中遗忘了语句中遗忘了break,则程序在执行了本行,则程序在执行了本行case选择之后,不会按规定退出选择之后,不会按

12、规定退出switch语句,而是将执语句,而是将执行后续的行后续的case语句。语句。2.5.3 循环控制循环控制while、for语句语句1、基于、基于while语句构成的循环语句构成的循环while语句的一般形式为:语句的一般形式为:while(表达式表达式)语句;语句;*循环体循环体*在这里,表达式是在这里,表达式是while循环能否继续的条件,而语循环能否继续的条件,而语句部分则是循环体,是执行重复操作的部分。只要表句部分则是循环体,是执行重复操作的部分。只要表达式为真,就重复执行循环体内的语句;反之,则终达式为真,就重复执行循环体内的语句;反之,则终止止while循环,执行循环之外的下

13、一行语句。循环,执行循环之外的下一行语句。do-while语句的格式为:语句的格式为:do 语句;语句;*循环体循环体*while(表达式);(表达式);do-while循环语句的执行过程如下:首先执行循环体循环语句的执行过程如下:首先执行循环体语句,然后执行圆括号中的表达式。如果表达式的结语句,然后执行圆括号中的表达式。如果表达式的结果为真果为真(1),则循环继续,并再一次执行循环语句。只,则循环继续,并再一次执行循环语句。只有当表达式的结果为假有当表达式的结果为假(0)时,循环才会终止,并以正时,循环才会终止,并以正常方式执行程序后面的语句。常方式执行程序后面的语句。do-while循环语

14、句把循环语句把while循环语句作了移位,即把循循环语句作了移位,即把循环条件测试的位置从起始处移至循环的结尾处。该语环条件测试的位置从起始处移至循环的结尾处。该语句大多用于执行至少一次以上循环的情况。句大多用于执行至少一次以上循环的情况。2、基于、基于do-while语句构成的循环语句构成的循环 for语句是最灵活、最复杂的语句是最灵活、最复杂的C语言循环语句。它不语言循环语句。它不仅可以用于循环次数已经确定的情况,而且可以用于循仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定但已经给出循环条件的情况。它既可以包环次数不确定但已经给出循环条件的情况。它既可以包含一个索引计数变量,

15、也可以包含任何一种表达式。含一个索引计数变量,也可以包含任何一种表达式。for循环语句的一般形式为:循环语句的一般形式为:for(表达式表达式1;表达式;表达式2;表达式;表达式3)语句;语句;/*循环体循环体*/3、基于、基于for语句构成的循环语句构成的循环 for循环的语句执行过程如下:循环的语句执行过程如下:(1)先对表达式先对表达式1赋初值,进行初始化。赋初值,进行初始化。(2)判断表达式判断表达式2是否满足给定的循环条件,若是否满足给定的循环条件,若 满足循环条件,则执行循环体内语句,然后满足循环条件,则执行循环体内语句,然后 执行第执行第(3)步;若不满足循环条件,则结束步;若不

16、满足循环条件,则结束 循环,转到第循环,转到第(5)步。步。(3)若表达式若表达式2为真,则在执行指定的循环语句为真,则在执行指定的循环语句 后,求解表达式后,求解表达式3。(4)回到第回到第(2)步继续执行。步继续执行。(5)退出退出for循环,执行下面一条语句。循环,执行下面一条语句。例题:延时程序例题:延时程序(1)用用while语句实现:语句实现:void msec(unsigned int x)/延时延时xms unsigned char j;while(x-)for(j=0;j0;t1-)for(t2=120;t20;t2-);例题:无限循环的实现例题:无限循环的实现2.5.4 b

17、reak、continue、return、goto语句语句 1、break语句语句 退出循环退出循环(整个循环整个循环)2、continue语句语句 退出循环退出循环(当前循环当前循环)continue语句通常和条件语句一起用在由语句通常和条件语句一起用在由while、dowhile和和for语句构成的循环结构中,它也是一种具语句构成的循环结构中,它也是一种具有特殊功能的无条件转移语句,但与有特殊功能的无条件转移语句,但与break语句不同,语句不同,continue语句并不跳出循环体,而只是退出当前循环,语句并不跳出循环体,而只是退出当前循环,根据循环控制条件确定是否继续执行循环语句。根据循

18、环控制条件确定是否继续执行循环语句。3、goto 语句语句:无条件转移语句无条件转移语句 goto 语句标号;语句标号;其中,语句标号是一个带冒号其中,语句标号是一个带冒号“:”:”的标识符。的标识符。4、return语句语句 返回语句用于终止函数的执行,并控制程序返返回语句用于终止函数的执行,并控制程序返回到调用该函数时所处的位置。返回语句有两种形回到调用该函数时所处的位置。返回语句有两种形式:式:(1)return(表达式)(表达式);(2)return;如果如果return语句后边带有表达式语句后边带有表达式,则要计算表,则要计算表达式的值,并达式的值,并将表达式的值作为该函数的返回值将表达式的值作为该函数的返回值。若使用若使用不带表达式不带表达式的第的第2种形式,则种形式,则被调用函数返被调用函数返回主调函数时,函数值不确定回主调函数时,函数值不确定。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(单片机C语言-第2章51单片机硬件及C51编程基础-5课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|