重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在单片机 C 言语编程的时分,每一个程序我们都邑固定的加一句 while(1),这条语句就可以起到死轮回的感化。关于 while 语句来说,他的普通方式是:
while (表达式){
轮回体语句;
}
在 C 言语里,平日表达式契合前提,我们叫做真,不契合前提,叫做假。比方前边 i<30000,当 i 等于 0 的时分,那这个前提成立,就是真;假如 i 大于 30000 的时分,前提不成立,就叫做假。
while(表达式)这个括号里的表达式,为真的时分,就会履行轮回体语句,当为假的时分,就不履行。在这里先不举例,后边碰到时再具体阐明。
还有别的一种状况,就是我们 C 言语里边,除了表达式外,还有常数,习气上,我们把非 0 的常数都以为是真,只要 0 以为是假,所以我们程序中运用了 while(1),这个数字 1,可以改成 2、3、4......等等都可以,多是一个死轮回,一直的履行轮回体的语句,然则假如把这个数字改成 0,那么就不会履行轮回体的语句了。
人人经过进修 for 轮回和 while 轮回,是不是会发生一个疑问?为何有的轮回加上{},而有的轮回却没加呢?什么时分需求加,什么时分不需求加呢?
我们前边讲过,在 C 言语中,分号表现语句的完毕,而在轮回语句里{}表现的是轮回体的一切语句,假如不加大括号,则只轮回履行一条语句,即第一个分号之前的语句,而加上大括号后,则会履行大括号中一切的语句,举个例子看一下吧,上节课的闪耀小灯程序如下所示。
程序一:
while (1){ LED = 0; for(i=0;i<30000;i++); LED = 1; for(i=0;i<30000;i++); }
程序二:
while (1) LED = 0; for(i=0;i<30000;i++); LED = 1; for(i=0;i<30000;i++);
程序一就是我们上节课的程序,直接可以完成闪耀功用。而程序二没有加大括号,从语法下去看是没有任何毛病的,写到 Keil 里编译一下也不会报错。然则从逻辑下去讲,程序二只会一直的轮回“LED = 0;”这条语句,实践上和程序三后果是相反的。
程序三:
while(1){ LED = 0; } for(i=0;i<30000;i++); LED = 1; for(i=0;i<30000;i++);
程序履行到 while(1)曾经进入死轮回了,所今后边三条语句是一辈子也履行不到的。因而为了避免出相似的逻辑毛病,我们引荐,不论轮回语句后边是一条照样多条语句,都加上{}以防失足
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。