C51中的流程控制语句

本文详细介绍了C51中的流程控制语句,包括分支语句的if, if-else, if-else if-else及switch-case形式,以及循环语句的for, while和do-while的使用和工作原理。通过实例解析了每种语句的执行流程和应用。" 129241777,17391316,Redis实现延迟队列的优缺点与实战,"['Redis', '消息队列', 'Java', '数据结构', '分布式系统']

C51中的流程控制语句

C51中的语句与通用C语言基本一致,这里简要介绍常用的流程控制语句,包括分支语句和循环语句两种。下面分别介绍:

(1)分支语句

C51提供了四种形式的分支语句,分别是if语句、if-else语句、if-else if-else语句和switch-case语句。

a、if语句

格式:if (条件表达式) 语句

功能:当条件表达式的结果为真时,就执行语句,否则就跳过。

例如:if (a==b) a++;    //当a等于 b时,a就加1 

b、if-else语句

格式:if (条件表达式) 语句1

      else 语句2

功能:当条件表达式成立时,就执行语句1,否则就执行语句2。

例如:if (a==b)

a++;

      else  

a--;    //当a等于b时,a加1,否则 a-1。 

c、if-else if-else语句

格式:if (条件表达式1) 语句1

        else if (条件表达式2) 语句 2

          ……

          else if (条件表达式n) 语句 n

           else 语句m

功能:如果条件表达式1成立时,就执行语句1;当条件表达式2成立时,就执行语句2;……;当条件表达式n成立时,就执行语句n;否则,执行表达式m。

d、switch-case语句

格式:switch (表达式)

      {

        case 常量表达式 1: 语句1; break;

        case 常量表达式 2: 语句2; break;

   case 常量表达式 3: 语句3; break;

        case 常量表达式 n: 语句n; break;

        default:  语句

}

功能:运行中switch后面的表达式的值将会作为条件,与case 后面的各个常量表达式的值相对比,如果相等时则执行后面的语句,再执行break(间断语句)语句,跳出switch语句。如果case没有和条件相等的值时就执行default后的语句。当没有符合的条件时不做任何处理,则可以不写default语句。

(2)循环语句

C51提供了三种形式的循环语句,分别是for语句、while语句和do-while语句。其中for语句使用频率最高,while语句次之,do-while语句用的较少。

a、for语句

格式:for(表达式1;表达式2;表达式3)

      {语句(可为空)}

过程:

第一步:求解表达式1;

第二步:求解表达式2,若为真则执行for中语句,然后执行第三步;否则,直接跳出for循环;

第三步:执行循环体语句;

第四步:求解表达式3,跳到第二步重复执行。

例如,软件延时程序如下:

unsigned char i;

for(i=100;i>0;i--);  //空语句;循环执行100次,实现延时功能。

b、while语句

格式:while(表达式)

     {内部语句(可为空)}

特点:先判断,为当型循环。

过程:如果表达式为真,则循环执行内部语句;否则,结束循环。

例如:while(1);  //表示无限循环。

c、do while语句

格式:do

     {内部语句(可为空)}

while(表达式);

特点:先执行内部语句,为直到型循环。

过程:先执行内部语句,然后判断表达式,如果为真则继续循环执行内部语句,否则跳出循环。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术小咖龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值