vue项目接口域名动态的获取方法
263
2022-10-30
C言语while轮回语句
在单片机 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)曾经进入死轮回了,所今后边三条语句是一辈子也履行不到的。因而为了避免出相似的逻辑毛病,我们引荐,不论轮回语句后边是一条照样多条语句,都加上{}以防失足
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~