前言:
为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长。
1. 简述
C 语言中循环语句有三种,分别是:while;do-while;for 循环。
2. while
先判断 while 后面括号里的值,如果为真则执行后面的代码,否则不执行。while(1) 表示死循环,在写单片机程序裸跑的时,经常使用。
补充:
(1)break:表示终止本层循环,遇到 break,跳出循环,循环终止,向后执行。
(2)continue:结束本轮循环,但还继续在循环内执行,并未结束循环。
3. do-while
先执行 do 后面的代码,然后再判断 while 后面括号里的值,如果为真,循环开始,否则不执行循环。
4. for
for 循环容易控制循环次数,多用于事先知道循环次数的情况下。
5. 循环语句的一些注意点
(1)在多重循环中,尽可能把最长的循环放在最内层,最短的循环放在最外层,以减少 CPU 跨切循环的次数。
(2)for 循环控制变量取值采用“半开半闭区间”写法,更加直观。
(3)不能在 for 循环内修改循环变量,防止循环失控。
第一次进入循环之后,每次进入循环内,i 的值都被重新赋值为 8 ,就导致循环 10 次变成了死循环。
(4)循环要尽可能的短,使代码清晰,一目了然。
(5)循环嵌套要控制在 3 层以内,降低阅读程序的复杂度。
6. goto
goto语句是一种无条件转移语句,goto 语句的使用格式为:
goto 语句标号;
eg:
for (i = 0; i < 10; i++)
{
printf("i value is %d \r\n",i);
if(i==5)
{
goto test;
}
}
test:
printf("goto test \r\n");
结果为:
其中标号是一个有效的标识符,这个标识符加上一个“:”(冒号)一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。
goto 在 Linux 内核中很常见,只是 goto 语句的随意跳转会导致一些隐藏的问题,使用时需要多留心。