今天,我們一起來學習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 后面的執行語句不論有多少行,就算只有一行也要加“{}” 。