Arduino-循环-系列6

  • 内容
  • 评论
  • 相关

今天,我们一起来学习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 后面的执行语句不论有多少行,就算只有一行也要加“{}” 。