2022年3月26日 星期六

C 單迴圈的使用

學習目標:

1. 如何撰寫迴圈語句,使程式能執行指定次數? (使用LOOP指令)

2. 如何追踪變量數值的變化?

 

參考視頻: https://youtu.be/7k-dMxQQgaU

 

參考以下的單迴圈的使用,以下程式的功能是輸出指定數目(以下是4)*

使用的指令是forfor loop 的語法是:

for (起始值變量; 是否繼續執行的判斷; 迴圈執行一次後i值的變化){

  指令敍述;

}


說明

 

4

i的作用是用來貯存迴圈執行的起始值及隨後的變化。(留意,i並不是迴圈執行的次數。

6

for loop的意思是開始時變是1(因為於第5行把i設定成1),如等於或少於3的話(i<=3),便執行for 內被{ }著的指令,執行一次後i的值會加1(i=i+1)

7

如符合以上第6行的迴圈判斷的話,便執行這行指令,輸出一個*

 

如何追踪變量數值的變化?

- 如能準確列出程式執行時不同的行號及變量(i)值的變化,便是真正明白以上程式的運作,試試看(答案在下方) (由第3行開始)

i

輸出

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

答案:

i

輸出

說明

3

--

 

這是宣告i這個變量(variable)而已,並未賦予任何指定的數值。

4

1

 

1給予i

5

1

 

這是迴圈的第一句。

6

1

*

由於i少於3,所以會執行這句,輸出一粒 *

7

2

*

執行完迴圈內所有指令後,i的值會加1

5

2

*

先跳回迴圈第一句,判斷是否再執行迴圈內指令(即第6)

6

2

**

由於i少於3,所以仍會執行這句,又輸出一粒 *。由於這句指令內並沒有輸出換行字元(\n),第二粒 *會出現於第一粒*左方。

7

3

**

執行完迴圈內所有指令後,i的值會加1,變成3

5

3

**

仍先跳回迴圈第一句,判斷是否再執行迴圈內指令(即第6)

6

3

***

由於i等於3,仍符合所需條件,因此會執行這句,又輸出一粒 *。由於這句指令內並沒有輸出換行字元(\n),第三粒 *會出現於第二粒*左方。

7

4

***

執行完迴圈內所有指令後,i的值會加1,變成4

5

4

***

留意,即使i的值已是4,會仍會跳回迴圈開始時這句,這句才是用以判斷需否繼續下去的語句。

8

4

***

由於i的值大於3,不符合for內的判斷準則,因此不會執行67,直至跳出迴圈,到第8行。

 

討論問題:

1. 是甚麼決定迴圈的執行次數?

 

沒有留言:

張貼留言

如何於C程式內輸入字串?

之前我們學過如何於 C 程式內輸入數目字,但如要輸入字串,例如姓名,又要如何處理呢 ?   跟其他大部分電腦程言不一樣, C 並沒有一個字串的變數數據類型 (variable data type) , C 是使用字元 (character) 及變數陣列 (array)...