
C语言for循环的格式一般如下:
for (exp1exp2exp3 ) {语句块}
流程:exp1一般是一个初始值设置,程序先检测exp2的条件是否成立,如果成立则执行for循环语句块,如果不成立,则退出循环,执行完for语句块后,会执行exp3,一般是一个增/减量的 *** 作。
#include <reg52.h>//定义头文件#include <intrins.h>
#define uint unsigned int//宏定义
#define uchar unsigned char
uchar a,num,i
sbit led1=P1^0//定义输出口
void delay(uint z)//延时函数定义
void main(void)//主函数
{
//这里应该定义P1^0是输出 还是输入吧??
//方向向量的设置
while(1)
{ //注意这个大括号
for(num=0num<200num++)
{
led1=1
delay(50)
led1=0
delay(50)
break
}
}//注意这里的大括号 分号
led1=0
}
void delay(uint z)
{
uint x,y
for(x=zx>0x--)
for(y=100y>0y--)
}
/*这是单片机。懂不???
//因为有
while(1)
{
//.......
}
这是一个死循环。不是没有跳出for 循环,而是没跳出while(1)这个循环。
这是必须的。这就像是你电脑的 *** 作系统不能跳出循环,除非你关机。如果你跳出循环了,你还能用它所提供的服务么?你的 *** 作系统都不运行了。你还想在电脑上玩游戏???这是在做梦。
如果你想它闪一段时间后就停止,你可以在 里面加两句:
while(1)
{
//.....
delay(x)//你自己定义x
break
}
道理很简单,n的值开始是10,所以for 语句实际上就变成了 for k=2 to 1 ,由于省略了step,相当于 for k=2 to 1 step 1,这时相当于告诉了系统,当k<=1的时候执行循环,但是K的开始值就是2,就不满足 k<=1这个条件,所以这个循环一次也没有得到执行,所以s的值没有变化,还是0欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)