C51程序控制语句解析课件.ppt

上传人:牧羊曲112 文档编号:1480227 上传时间:2022-11-30 格式:PPT 页数:30 大小:643.50KB
返回 下载 相关 举报
C51程序控制语句解析课件.ppt_第1页
第1页 / 共30页
C51程序控制语句解析课件.ppt_第2页
第2页 / 共30页
C51程序控制语句解析课件.ppt_第3页
第3页 / 共30页
C51程序控制语句解析课件.ppt_第4页
第4页 / 共30页
C51程序控制语句解析课件.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《C51程序控制语句解析课件.ppt》由会员分享,可在线阅读,更多相关《C51程序控制语句解析课件.ppt(30页珍藏版)》请在三一办公上搜索。

1、模块二 C51语言与Keil C集成开发系统,2.2 C51程序结构控制语句,2.2.1 C51语句概述,一个完整的C51程序包括数据描述和数据操作。数据描述定义数据结构和数据初值,由数据定义部分来实现;数据操作是对己提供的数据进行加工,这部分的功能就是由语句来实现的。,既包括与底层硬件无关的数据也包括如特殊功能寄存器(SFR)等与底层硬件状态直接相关的数据。,2.2.1 C51语句概述,分号是语句的终结符,一个语句必须在最后出现分号,分号是语句中不可缺少的一部分,在后面介绍空语句时会看到,甚至一个单独的分号也可以构成一个语句。 C51的语句按其复杂度可以分为简单语句和复杂语句。可以用花括号“

2、”和“”把一些语句组合在一起,使其在语法上等价于一个简单语句,这样的语句就称之为复合语句。 复合语句中最后一个语句中最后的分号不能忽略不写;结束一个复合语句的右花括号之后不能带分号。,2.2.2 分支控制语句,1ifelse语句 if(表达式) 分支一else 分支二,2.2.2 分支控制语句,2.if语句 if(表达式)语句,既可以是简单语句也可以是复合语句,if(表达式) 语句else ,P0口接8只发光二极管,P1.0接一个按钮,要求将按钮按下时,左边四个发光二极管亮,当按钮放开时,右边四个发光二极管亮。,实例2-3,实例2-3,#includesbit p10=P10;main() w

3、hile(1) if(p10=1) P0=0 x0f; else P0=0 xf0; ,#include sbit p10=P10 ; void main() while(1) if(p10=1) P0=0 x0f ; if(p10=0) P0=0 xf0 ; ,3多级ifelse语句,if(表达式1) 分支一else if(表达式2) 分支二,else if(表达式3) 分支三else 分支n,多级if语句流程图,实例2-4,P0口接8只发光二极管,P1.0、P1.1分别接一个按键S1、S2,要求当没有键按下时,8全灭,当S1按键按下时,左边四个亮,当S2按键按下时,右边四个亮,当两个按键按

4、下时,全亮。,流程图,源程序,#includesbit p10=P10;sbit p11=P11; void main() while(1) if(p10=0 ,P0口接8只发光二极管,P1.0、P1.1分别接一个按键S1、S2,要求当没有键按下时,8全灭,当S1按键按下时,左边四个亮,当S2按键按下时,右边四个亮,当两个按键按下时,全亮。,4switch语句,switch(整形或字符型变量) case 变量可能值1:分支一;break; case 变量可能值2:分支二;break; case 变量可能值n:分支n;break; default:分支n+1或空语句;,switch语句流程图,【

5、例2-5】,P1.0P1.3接4个按键,P1.4P1.7接4个发光二极管,现要求一般情况下,4个发光二极管全亮,如果只按S1时D1灭,只按S2时D2灭,依此类推。,源程序清单:,#includevoid main() unsigned char ctl; P1=0X0F; while(1) ctl=P1; ,ctl=ctl ,2.2.3 循环语句,1while语句while(表达式) 循环体 ,事先测试循环,在执行语句之前判断表达式,因此,循环可能没有执行循环体就退出。,【例2-6】,使用while语句实现从1到100的累加。,#include#includevoid main() unsig

6、ned int i=1; unsigned int sum=0; SCON=0 x52; TMOD=0 x20; TH1=0 xE8; TR1=1;,while(i=100) sum+=1; i+; printf(“sum=%dn”,sum); while(1) ,2for语句,for(表达式1;表达式2;表达式3) 循环体 表达式1为循环控制变量初始化表达式,表达式2为循环条件表达式,表达式3为循环控制变量增值表达式。“增值”仅仅是指循环控制变量发生了变化,不要按其字面意思去理解。,for语句的几点说明,for语句中的控制变量初始化表达式可以省略,但分号(;)不可省略。for语句中的循环条件

7、表达式可以省略。此时一般要在循环体中对循环条件进行判断并提供退出循环的措施,否则会导致“死循环”。 for语句中的循环控制变量增值表达式也可以省略。 可以同时省略for语句中的循环控制变量初始化表达式和增量表达式,这样的for语句完全等价于while语句。,实例:,常见程序段:int i;for(i = 0; i 30000; i+) 自行完成例2-6的功能。,3dowhile语句,do 循环体 while (表达式);,注意:在while(表达式)后面要加分号。,4嵌套的循环结构,实际应用中,经常要用到嵌套的循环结构。在嵌套循环结构中,内层循环需要置于称之为外层循环的另一个循环中。3种循环语

8、句还可以互相嵌套。,【例2-9】,P0.0接一个发光二极管,P1.0按一个按键,要求当按键按下时,发光二极管不停地闪烁,当按键放开时,停止闪烁。,源程序清单:,#includesbit p10=P10;sbit p00=P00;void main() while(1) while(p10=0) p00=p00; ,for(i=50000;i0;i-);,unsigned int i;,2.2.4 转移语句,1break语句break ;在switch语句中,break语句用来使流程跳出switch结构,继续执行switch之后的语句;在for语句中,break语句用来使流程跳出循环体,接着执行

9、循环后面的语句。,【例2-10】,#include sbit P10 = P10;sbit P00 = P00;void main() int i; while(1) P0=P0; for(i=30000;i0;i+); if(P10 = 0) break; while(1);,针对例2-9,若与P0.0相连的发光二极管不停地闪烁,当与P1.0相连的按键按下时停止闪烁。,2.2.4 转移语句,2continue语句 continue;continue语句的作用是跳过本次循环中剩余的循环体语句,立即进行下一次循环,【例2-11】,针对例2-9,其功能改变为当与P1.0相连的K1按下时,发光二极管暂停闪烁,K1放开时,发光二极管继续闪烁,试编写程序实现之。,#include sbit P10 = P10;sbit P00 = P00;void main() int i; while(1) if(P10 = 0) continue; P0=P0; for(i=30000;i0;i+); ,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号