學習目標:
1. 迴圈的使用(for loop)
Exercise 2-1
學習要點:
1. 要執行指定次數的迴圈,需要使用FOR 這指令,語法如下:
For (起始變量值 ; 迴圈重複條件式; 變量增減控制) {
迴圈內要執行的指令
}
例如以上例子:
i=1;
for ( i ; i<4 ; i=i+1) {
cout<<”*”;
}
(1) 起始變量名 i , 進入迴圈前的值是1 (因為 i=1 )。
(2) i=i+1 這個變量增減控制指令,要求每執行完一次迴圈內的指令後變值值加1。
- 於C++,也可以寫成 i++ ,i++的作用跟 i=i+1 是一樣的。
(3) 迴圈一直進行,直至符合i<4 的條件,注意,由於起始值是1,每次加1,即是達到3還會執行,因3仍然小於4 (3<4),但如 i變成4的話,便不再執行。即是說,最終祇會輸出 ***。
- 如果想達到3還會執行的話,有時也可寫成 i<=3,i<4 跟i<=3於這裡是一樣的,因為沒有使用小數點。
2. 留意: 以上迴圈結束後,i的值是4。
3. 單迴圈較簡單,但也可以使用以下表格追踪變量及結果的變化。
|
迴圈次數 |
變量i |
執行結果 |
|
1 |
1 |
* |
|
2 |
2 |
** |
|
3 |
3 |
*** |
|
4 |
4 |
已跳離迴圈,沒有執行指令 |
4. 留意,使用單迴圈時,起碼需要一個變量(variable),以便貯存迴圈的執行次數。
Exercise 2-2
學習學習:
1. 輸出一個*後,如要換行,其實可輸入”\n”。
- 也可以輸入”endl”,視乎使用者覺得哪一更清晰。
2. 提提你,於C++程式中,可用 i++ 取代i=i+1
<<作業2-1>>
讓使用者自行輸入次數,然後輸出相應數目的 * 。
輸出如下圖:
建議答案
Exercise 2-3
學習要點:
1. 其實這題目沒有新的指令用法,祇是複習而已。複習cout<< 內可以是變量的,例如這題的 i。
2. 留意,for (i; i<=50;i=i+1); 內起始的i的值不一定是1的,可以是其他數字,最後的變量增加也不一定是加1,可以是其他的。不過 i++ 便一定是每次把i加1。
<<Assignment 2-2>>
Output the numbers from 10 to 40 as follow:
Suggested Answer
<<Assignment 2-3>>
Output the even numbers from 1 to 50 as follow:
Suggested Answer
<<Assignment 2-4>
Let the user enter a smaller number first, and then a greater number and then output all the integers(整數) between these two numbers. The output is as follow:
Suggested Answer
Preview Exercise
學習重點:
1. 這裡需要使用雙層的迴圈,想一想,哪層是外的? 哪層是內的? 按上題,由於輸入每行出現8個數目,首先進行的迴圈應位於內。
2. 內迴圈應每次執行8次(用變量j控制次數),輸出數目字(但數目字是用i控制的,於同一行每執行一次迴圈後,輸出的數目應加1,因此要i=i+1。
3. 執行一次後,要換行,否則第二次執行時便會於同一行輸出,便覆蓋了第一行的數字。
4. 留意,執行8次後,j的值變成9的,因此要把j變回1才可輸出第二行。
5. 留意,執行8次後,i的值也會變成9,但外迴圈會自動把i的值再加1,那便變成10,因此要先把i的值減1才再開始第二次內迴圈。












沒有留言:
張貼留言