Download presentation
Presentation is loading. Please wait.
1
5 重複迴圈 5.1 增減運算符號 5-2 5.1.1 增量運算符號 ++ 5-2 5.1.2 減量運算符號 -- 5-4
5 重複迴圈 5.1 增減運算符號 5-2 5.1.1 增量運算符號 5.1.2 減量運算符號 /--與算術運算 5-6 /--與關係運算 5-7 5.2 迴圈敘述 5-8 5.2.1 前測試迴圈while 5-9 5.2.2 計數器counter 5.2.3 後測試迴圈do-while 5-16 5.2.4 計數型迴圈for 5-23 5.3 巢狀迴圈 5-28 5.3.1 while巢狀迴圈 5-29 5.3.2 do-while巢狀迴圈 5-30 5.3.3 for巢狀迴圈 5-31 5.4 無窮迴圈 5-33 5.4.1 無窮while 5-33 5.4.2 無窮do-while 5-33 5.4.3 無窮for 5-34 5.5 中斷與繼續 5-35 5.5.1 break敘述 5-35 5.5.2 continue敘述 5-39
2
5.1 增減運算符號 雖然C++ 語言已經提供了算術運算符號的加法(+)與減法(-)與混合指定運算符號的加法指定(+=)與減法指定(-=)等符號,但為了提供使用者更多的選擇,C++ 語言還提供增量(++)與減量(--)運算符號。
3
5.1.1 增量運算符號 ++ 增量(increment)運算就是運算元加1。 範例一 範例二
增量運算符號 ++ 增量(increment)運算就是運算元加1。 範例一 num = num + 1; //num的值加1 num += 1; //num的值加1 範例二 num++; //功能與num=num+1相同
4
5.1.1 增量運算符號 ++ (續) ++變數 //前置型增量 變數++ //後置型增量 前置型增量 int num = 1;
增量運算符號 ++ (續) ++變數 //前置型增量 變數++ //後置型增量 前置型增量 int num = 1; cout << ++num; //先執行++num=2,再輸出num 後置型增量 cout << num++; //先輸出num=1再執行num++
5
5.1.2 減量運算符號 -- 減量(decrement)運算就是運算元減1。 範例一 範例二
減量運算符號 -- 減量(decrement)運算就是運算元減1。 範例一 num = num - 1; //num的值減1 num -= 1; //num的值減1 範例二 num--; //功能與num=num-1相同
6
5.1.2 減量運算符號 – (續) --變數 //前置型減量 變數-- //後置型減量 前置型減量 int num = 1;
減量運算符號 – (續) --變數 //前置型減量 變數-- //後置型減量 前置型減量 int num = 1; cout << --num; //先執行--num=2,再輸出num 後置型減量 cout << num--; //先輸出num=1再執行num--
7
5.1.3 ++/--與算術運算式 後置增量與運算式 a = 5; b = 2;
/--與算術運算式 後置增量與運算式 a = 5; b = 2; x = a * b++; //先x=a*b=10,後b=b+1=3 前置增量與運算式 x = a * ++b; //先b=b+1=3,後x=a*b=15
8
5.1.3 ++/--與算術運算式 (續) 錯誤的前置增量與運算式 a = 5; b = 2;
/--與算術運算式 (續) 錯誤的前置增量與運算式 a = 5; b = 2; x = ++(a * b); //錯誤, 需要Lvalue 錯誤的後置增量與運算式 x = (a * b)++; //錯誤, 需要Lvalue
9
5.1.4 ++/--與關係運算式 後置減量與運算式 n = 0;
/--與關係運算式 後置減量與運算式 n = 0; if(n-- <= 0) //先判斷n<0,後n=n-1=-1 cout << n << " 是負數"; 前置減量與運算式 if(--n < 0) //先n=n-1=-1,後判斷n<0
10
5.2 迴圈敘述 非迴圈敘述 int i = 1; //i=1 cout << i << endl;
5.2 迴圈敘述 非迴圈敘述 int i = 1; //i=1 cout << i << endl; i = i + 1; //i=1+1=2 i = i + 1; //i=2+1=3 i = i + 1; //i=3+1=4 i = i + 1; //i=4+1=5 迴圈敘述 for(int i=1; i<=5; i++) cout << i << endl;
11
5.2.1 前測試迴圈while 單行型while敘述 while (條件運算式) 單一敘述; 區塊型while敘述
12
前測試迴圈while (續)
13
5.2.1 前測試迴圈while (續) 範例 cin >> year; //輸入year
while (year != 0) //若year!=0則迴圈成立 { cin >> year; //輸入year }
14
計數器counter
15
5.2.2 計數器counter (續) 範例一 int count = 1; //計數值count = 1
while (count <= 9) //設定while條件運算式 { cout << count; //輸出count值 count++; //計數值count加1 } 範例二
16
5.2.2 計數器counter (續) 範例三 int count = 0; //計數值count = 0
while (count < 9) //設定while條件運算式 { count++; //計數值count加1 cout << count; //輸出count值 } 範例四 while (count++ < 9) //設定while條件運算式
17
5.2.2 計數器counter (續) 範例五 int count = 10; //計數值count = 10
while (--count >= 1) //設定while條件運算式 cout << count; //輸出count值
18
Ex 8 寫一個C++程式,計算 …+100 的總和。
19
5.2.3 後測試迴圈do-while 單行型do-while迴圈敘述 do 單一敘述; while (條件運算式);
20
後測試迴圈do-while (續)
21
5.2.3 後測試迴圈do-while (續) 範例一 do { cin >> year; //輸入year
} while (year != 0); //若year!=0則迴圈繼續
22
5.2.3 後測試迴圈do-while (續) 範例二 (計數型do-while)
int count = 1; //計數值count = 1 do { cout << count; //輸出count值 count++; //計數值count加1 } while (count <= 9); //設定while條件運算式 範例三 (計數型do-while) } while (++count <= 9); //設定while條件運算式
23
後測試迴圈do-while (續)
24
5.2.3 後測試迴圈do-while (續) 範例四 (遞減型計數) int count = 9; //計數值count = 9 do
cout << count; //輸出count值 while (--count > 0); //設定while條件運算式
25
5.2.4 計數型迴圈for 單行型for迴圈敘述 for ( 起始運算式; 條件運算式; 更新運算式 ) 單一敘述; 區塊型for迴圈敘述
While迴圈及計數器 單行型for迴圈敘述 for ( 起始運算式; 條件運算式; 更新運算式 ) 單一敘述; 區塊型for迴圈敘述 for ( 起始運算式; 條件運算式; 更新運算式 ) { 多敘述區; } 範例 for(int i=1; i<=9; i++) cout << i << ' '; int count = 1; while (count <= 9) { cout << count; count++; }
26
5.2.4 計數型迴圈for (續) 範例二 for (int i=0; i<10; i++) //宣告並使用i變數
cout << 2*i << endl; for (int i=0; i<10; i++) //重複宣告並使用i變數 cout << i*i << endl; 範例三 int i = 0; //宣告並起始變數i for (i=0; i<10; i++) //使用i變數 for (i=0; i<10; i++) //重複使用i變數
27
計數型迴圈for (續)
28
5.2.4 計數型迴圈for (續) 基本型for迴圈敘述 int sum = 0; //宣告並起始sum
for (int count = 1; count <= MAX; count++) //for敘述 { //start of for sum += count; //迴圈敘述 } //end of for 簡化型for迴圈敘述 for (int count = 1; count <= MAX; count++) // for敘述
29
5.2.4 計數型迴圈for (續) 省略型for迴圈敘述 int count = 1, sum = 0; //宣告與起始count,sum
for ( ; count <= MAX; count++) //省略起始運算式 sum += count; //迴圈敘述 for ( ; count <= MAX; ) //省略起始與更新運算式 sum += count++; //迴圈敘述
30
5.2.4 計數型迴圈for (續) 單行型for迴圈敘述 int count, sum; //宣告count, sum
for (count = 1, sum = 0; count <= MAX; sum += count, count++);
31
5.3 巢狀迴圈 巢狀迴圈(nested loops)就是在迴圈中包含另一個迴圈,也就是大迴圈包小迴圈。而且可以在for迴圈中包含while迴圈或do迴圈,反之亦然。
32
5.3.1 while巢狀迴圈 範例 int count1 = 1; //宣告外層迴圈計數值
while (count1 <= 2) //定義外層while迴圈 { //外層while迴圈起點 int count2 = 1; //宣告內層迴圈計數值 while (count2 <= 3) //定義內層while迴圈 { //內層while迴圈起點 cout << count1 * count2; //輸出運算值 count2++; //內層計數值加1 } //內層while迴圈結束點 count1++; //外層計數值加1 cout << endl; //跳行 } //外層while迴圈結束點
33
5.3.2 do-while巢狀迴圈 範例 int count1 = 1; //宣告外層do迴圈計數初值 do //定義外層do迴圈
cout << count1 * count2; //輸出運算值 while (++count2 <= 3); //內層while條件與返回點 cout << endl; //跳行 } while (++count1 <= 2); //外層while條件與返回點
34
5.3.3 for巢狀迴圈 範例 for (count1 = 1; count1 <= 2; count1 ++) //外層迴圈 {
cout << count1 * count2; }
35
5.4 無窮迴圈 無窮迴圈就是迴圈將永遠的循環下去,方法是另for或while敘述的條件永遠成立則形成for或while的無窮迴圈。
5.4 無窮迴圈 無窮迴圈就是迴圈將永遠的循環下去,方法是另for或while敘述的條件永遠成立則形成for或while的無窮迴圈。 若要中斷無窮迴圈,則可以在迴圈中加if敘述,再配合5.5.1節的break敘述中斷迴圈。
36
5.4.1 無窮while 範例 while (true) //條件永遠成立(true) {
cout << "forever"; }
37
5.4.2 無窮do-while 範例 do { cout << "forever";
} while (true); //條件永遠成立(true)
38
無窮for 範例 for ( ; ; ) //無起始也無終止 { cout << "forever"; }
39
5.5 中斷與繼續 中斷(break)敘述用來提前結束迴圈的執行。 繼續(continue)敘述則用來跳過某些敘述而繼續下一個計數。
40
break敘述 break; 範例 for (count = 0; count <= stringlength; count++) { if (string[count] == letter) //若條件成立 break; //中斷for迴圈 }
41
5.5.2 continue敘述 continue; 範例
for (count = 1; count <= maxnum; count++) { if (count % 3 != 0) //若不是3的倍數 continue; //返回迴圈起點 cout << count; //若非3的倍數則不顯示 }
42
Ex 9 寫一C++程式,利用巢狀for迴圈計算列出九九乘法表。如下所示: 2*1= 2 2*2= 4 2*3= 6 2*4= 8
2*1= 2 2*2= 4 2*3= 6 2*4= 8 2*5=10 2*6=12 . 9*8=72 9*9=81
43
Ex 9 寫一C++程式,利用巢狀for迴圈計算列出九九乘法表。如下所示:
44
Homework 4 課本第5-42頁第19題 寫一C++程式,以亂數擲10000次骰子然後計算並列出出現1、2 、 3 、 4 、 5 、 6點的次數。
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.