今天,我们一起来学习Arduino的循环,编程语言中提供了各种各样的控制结构,可以实现更多更复杂的控制,循环语句就是其中一种,它允许我们多次执行一个或一组语句,下图是大多数编程语言中循环语句的一般形式:
C语言中提供了以下类型的循环语句来处理循环请求。
while 循环
while 循环的执行顺序非常简单,它是一个顶部驱动的循环,它的格式是:
while (表达式) { 语句; }
当表达式为真,则执行下面的语句;语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句;然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。这个就是 while 的执行顺序。
do…while 循环
do…while 是一种底部驱动的循环,它的结构如下:
do { 语句; } while (表达式);
在表达式被执行之前,循环体语句首先被执行一次。与 while 和 for 循环不同,do…while 循环会确保循环体语句至少执行一次。如果控制表达式的值为 true,那么另一次循环就会继续;如果是 false,则循环结束。
for 循环
和 while 一样,for 循环也是一个顶部驱动的循环,但是它包含了更多的循环逻辑,每个for循环最多有三个表达式,如下所示:
for ( 表达式1; 表达式2; 表达式3) { 语句 }
在一个典型的 for 循环中,在循环体顶部,先后执行下述动作:
(1) 表达式 1:初始化,只执行一次。在计算表达式2之前,先计算一次表达式 1,以进行必要的初始化,后面不再计算它。
(2) 表达式 2:控制表达式,每轮循环前都要计算控制表达式,以判断是否需要继续本轮循环。当控制表达式的结果为 false,结束循环。
(3) 表达式 3:调节器,指计数器的自增或自减,在每轮循环结束后且表达式 2 计算前执行。即,先运行调节器,再执行表达式 2,以此进行循环判断。
例如:
for(counter = 2;counter <= 9;counter++) { //语句将被执行10次 }
嵌套循环
C语言允许在一个循环中使用另一个循环。下面的例子说明了这个概念。
for ( 初始化 ;控制表达式; 调节器增量或减量 ) { // 语句块 for ( 初始化 ;控制表达式; 调节器增量或减量 ) { // 语句块 } }
实际运用:
for(counter = 0;counter <= 9;counter++) { // 语句块将执行10次 for(i = 0;i <= 99;i++) { // 语句块将执行100次 } }
无限循环
无限循环也被称为死循环,它是一个没有终止条件的循环,所以这个循环会无限的执行下去。语法如下:
for循环-无限循环
for (;;) { // 语句块 }
while循环-无限循环
while(1) { // 语句块 }
do…while循环-无限循环
do { 语句块; } while(1);
也就是说,在for循环中如果设置初始化、控制表达式和 调节器,它将进入无限循环;在while循环和do…while循环,中如果判断表达式不为 false,它也将无限循环下去。
写在最后,初学者编程时,if、else、for、while、do 后面的执行语句不论有多少行,就算只有一行也要加“{}” 。