51单片机之C语言-4.5基本语句之循环语句
循环结构是程序中一种很重要的结构。
while语句的一般形式为:
while(表达式)语句
其中表达式是循环条件,语句为循环体。
while语句的语义是:计算表达式的值,当值为真(非零)时,执行循环体语句。其执行过程可用下图表示。
图4-5-1 while循环执行过程
while语句中的表达式一般是关系表达式或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
2.循环语句do-while
do-while语句的一般形式为:
do
语句
while(表达式)
其执行过程可用如下流程图表示,
这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。
3.循环语句for
for循环的一般形式为:
for (表达式1;表达式2;表达式3)
{
语句;
}
执行过程:
(1)计算”表达式1”(“表达式1”通常称为”初值设定表达式”).
(2)计算”表达式2”(“表达式2”通常称为”终值条件表达式”)。若其值为非零,执行步骤(3);若其值为零,执行步骤(5)
(3)执行一次for循环中的语句
(4)计算”表达式3”,跳到步骤(2)
(5)结束循环,执行for循环之后的语句
例如:
for(i=0;i<8;i++)num=num+i;
关于for循环在前面章节的讲解中我们已经使用过了,相信大家已经会使用了。这里需要注意的是for循环的执行过程。
这里再对for循环语句的几种特例进行简单描述。所谓特例实际上是当for循环中”表达式1”, ”表达式2”, ”表达式3”部分省略的情况下,程序如何执行。
(1)三个表达式为空
for(;;)
{
语句1;
语句2;
}
在以上for循环中没有表达式1,2,3均为空,表示没有初值,没有判断条件,没有增量变化,这是一个死循环,相当于while(1)语句。
#include "reg52.h"
void main(void)
{
for(;;)//可以代替while(1)
{
//语句1;
//语句2;
}
}
(2)第一个表达式为空
for(;i<=100;i++)sum=sum+i;
以上for循环中表达式1无,i不做初始值设置,i的值取决于该程序前面对i的处理
(3)第二个表示为空
for(i=1;;i++)sum=sum+i;
以上程序表达式2为空,不判断条件,那么该循环也是死循环。相当于:
i=1;
while(1)
{
sum=sum+i;
i++;
}
(4)表达式1和表达式3为空
for(;i<=10;)
{
num=num+i;
i++;
}
以上for循环中,表达式1和3为空,相当于
while(i<=10)
{
num=num+i;
i++;
}
(5) for循环中没有执行语句(循环体)
for(i=0;i<8;i++)
{
;
}
以上for循环中无循环体,起到延时的作用,也可以简写为,
for(i=0;i<8;i++);
51单片机C语言循环语 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)