4.2 while语句
While 语句用到实现“当型”循环结构,其一般形式如下:
while(表达式) 语句
当表达式为非 0 值(真)时,执行while 语句中的内嵌语句。其特点是:先判断表达式,
图4-2 选择串口、波特率及其他选项
图4-1 设置Debug 页
图4-3 正确进入程序调试
后执行语句。
在上述例子中,表达式使用了一个常数“1”,这是一个非零值,即“真”,条件总是满
足,语句总是会被执行,构成了无限循环。下面再举一例说明:
例 4-2:当K1 键被按下时,流水灯工作,否则灯全部熄灭。
#include "reg51.h"
#include"intrins.h" //该文件包含有_crol_(…)函数的说明
void mDelay(unsigned int DelayTime)
{ unsigned int j=0;
for(;DelayTime>0;DelayTime--)
{ for(j=0;j<125;j++)
{;}
}
}
void main()
{ unsigned char OutData=0xfe;
while(1)
{ P3|=0x3c;
while((P3|0xfb)!=0xff)
{ P1=OutData;
OutData=_crol_(OutData,1); //循环左移
mDelay(1000); /*延时1000 毫秒*/}
P1=0xff;
}
}
程序分析:这个程序中的第二个while 语句中的表达式用来判断K1 键是否被按下,如
被按下,则执行循环体内的程序,否则执行P1=0xff;程序行。虽然整个程序是在一个无限循
环过程中,但是由于外界条件的变化使得程序执行的过程发生了变化。
while(表达式) 语句
当表达式为非 0 值(真)时,执行while 语句中的内嵌语句。其特点是:先判断表达式,
图4-2 选择串口、波特率及其他选项
图4-1 设置Debug 页
图4-3 正确进入程序调试
后执行语句。
在上述例子中,表达式使用了一个常数“1”,这是一个非零值,即“真”,条件总是满
足,语句总是会被执行,构成了无限循环。下面再举一例说明:
例 4-2:当K1 键被按下时,流水灯工作,否则灯全部熄灭。
#include "reg51.h"
#include"intrins.h" //该文件包含有_crol_(…)函数的说明
void mDelay(unsigned int DelayTime)
{ unsigned int j=0;
for(;DelayTime>0;DelayTime--)
{ for(j=0;j<125;j++)
{;}
}
}
void main()
{ unsigned char OutData=0xfe;
while(1)
{ P3|=0x3c;
while((P3|0xfb)!=0xff)
{ P1=OutData;
OutData=_crol_(OutData,1); //循环左移
mDelay(1000); /*延时1000 毫秒*/}
P1=0xff;
}
}
程序分析:这个程序中的第二个while 语句中的表达式用来判断K1 键是否被按下,如
被按下,则执行循环体内的程序,否则执行P1=0xff;程序行。虽然整个程序是在一个无限循
环过程中,但是由于外界条件的变化使得程序执行的过程发生了变化。