成都嵌入式学习:C语言中While语句使用规则
C语言中的while语句很简单,基本的表达式为while (表达式) {循环体}
很简单:
如果表达式为条件成立,则执行循环体的内容;
如果表达式为条件不成立,则不执行循环体的内容
例如:
![096cd3ad728317e9cd42bb51e5f5ffba.png](https://i-blog.csdnimg.cn/blog_migrate/c168f1c4790e06ed38d3c5b354dbff30.jpeg)
执行的结果很简单,每隔一秒钟打印一句 “hello world”,一共五次
此时 a>0 ,就是一个判定成立,并且循环判定了五次
忽略刚才的代码,如果我们再修改一下,看看while循环里,经常用的
continue , 和break是什么情况:
![372eaf6eaea5bb4a4d84281f745634d9.png](https://i-blog.csdnimg.cn/blog_migrate/2684fc68604d65ad1bfb7376c8cb7cc5.jpeg)
代码编程上图,你依然可以快速的看懂打印的结果为:
![2a747075002105e62f3be62ca408b8b9.png](https://i-blog.csdnimg.cn/blog_migrate/ab1b470f59431334336af88d64bc48d8.jpeg)
现在加点东西进去,变成这样,打印的是什么呢:
![9b91f23dbb5180161ff3699493db0047.png](https://i-blog.csdnimg.cn/blog_migrate/13c2559bba42498a9b722d05f67f7b26.jpeg)
公布结果:
![c07becd237c62cba74628d9d9f51d845.png](https://i-blog.csdnimg.cn/blog_migrate/7d8e8400e74d91d883ec8e1c25890562.jpeg)
毫无疑问,没有打印 “hello world-3”,这说明什么呢,continue跳过了他下面所有的执行语句,在我们这个代码就是跳过了printf这条语句,继续执行while循环判断打印
考虑一下,如果把continue换成break,有是什么呢,毫无疑问,打印的结果为:
![e0eb29700e733c1f847006fcfa1c0ffb.png](https://i-blog.csdnimg.cn/blog_migrate/1a3ff8d76118b9525b3ca6a8720fbf7f.jpeg)
只有这一句,因为break和continue可不一样,他是直接跳出整个循环,而不是跳过本次打印,程序跳出循环直接就结束了。
当然,平时我们在使用也有使用do {循环体} while(表达式); 这种语句的时候,它和前面的while循环有什么区别呢,很简单,就是do while循环,先执行循环体,再执行表达式判断
,那么毫无疑问执行结果有两种:
1)执行循环体中的内容,执行之后,再进行表达式判断,如果表达式成立,则继续执行循环
2)执行循环体中的内容,执行之后,再进行表达式判断,如果表达式不成立,则结束循环,完事了。
私信【嵌入式】领取更多嵌入式语言学习视频!