SlideShare a Scribd company logo
1 of 23
CH4 重複結構
獻給我們平凡單調無趣的學生生活
By 程教 文月
以下是文月的學生生活:
周而復始
起床→上學→放學→補習→回家→睡
覺→新的一天!周而復始
周而復始 起床→上學→放學→
周而復始
補習→回家→睡覺→新的一天!→起
周而復始
床→上學→放學→補習→回家→睡覺
周而復始
→新的一天!→起床→上學→放學→
周而復始
補習→回家→睡覺→新的一天!→起
周而復始
床→上學→放學→補習→回家→睡覺
周而復始
周而復始
→新的一天!→起床→上學→放學→
補習→回家→睡覺→新的一天!

周而復始
周而復始
於是這時候文月崩潰了:

我的生命陷入了
無限迴圈啊啊啊
啊!
寫成程式碼就像這樣:
★以for迴圈為例:
for(int i=0;i<∞;i++ )
{
文月起床;
文月去上學;
文月去補習;
文月回家;
文月去睡覺;
}
寫成程式碼就像這樣:
★以while迴圈為例:
int i=0;
while(i<∞)
{
文月起床;
文月去上學;
文月去補習;
文月回家;
文月去睡覺;
i++;
}
for迴圈解說
★for迴圈的語法如下:
for(int 迴圈變數 = 起始值; 終止值; 遞增減值)
{
重覆的程式
}
for迴圈解說

宣告i為控制迴圈次數的
變數。i的初始值為1。
每跑一圈,i就加1(i++
是i=i+1的意思)。

for(int i=1;i<=5;i++ )
{
cout<<"這是第"<<i<<"圈"<<endl;
}
i<=5時才執行迴
圈的內容,否則即
跳出迴圈。

執行結果:
while迴圈解說
★while迴圈的語法如下:
while(執行條件)
{
重覆的程式
控制迴圈變數之值的改變
}
while迴圈解說

宣告i為控制迴圈次數的
變數。i的初始值為1。

int i=1;
i<=5時才執行迴
while(i<=5)
圈的內容,否則即
{
跳出迴圈。
cout<<"這是第"<<i<<"圈"<<endl;
i++;
執行結果:
}
每跑一圈,i就加1(i++
是i=i+1的意思)。
周而復始裡的周而復始
讓我們再仔細地看看文月的生活:
起床

上學

上課
寫考卷 寫考卷 寫考卷 寫考卷 寫考卷

文月在上課的時候不停地
在寫考卷!

放學
用程式碼表示如下:
★以for迴圈為例:
for(int i=0;i<∞;i++ ) 迴圈裡的迴圈!
{
文月起床;
for(int i=0;i<∞;i++ )
{
文月寫考卷;
}
文月去補習;
….省略XD
}
迴圈裡的迴圈表示:

「我叫做

巢狀迴圈!」
巢狀迴圈 解說

#include<iostream>
using namespace std;
int main(){
int i1=1,i2=1,i3=1;
while(i1<=3){
cout<<"這是第"<<i1<<"回合"<<endl;
while(i2<=5){
cout<<" 第"<<i2<<"圈"<<endl;
while(i3<=7){
cout<<"
第"<<i3<<"小圈"<<endl;
i3++;
}
i2++;
執行結果:
}
i1++;
}
}
#include<iostream>
using namespace std;
int main(){
如果要讓每個回合都有圈跟小圈,
int i1=1,i2=1,i3=1;
該怎麼做呢?
while(i1<=3){
cout<<"這是第"<<i1<<"回合"<<endl;
while(i2<=5){
cout<<" 第"<<i2<<"圈"<<endl;
while(i3<=7){
cout<<"
第"<<i3<<"小圈"<<endl;
i3++;
把i2、i3值變回
}
初始值即可!
i2++;
執行結果:
i3=1;
}
i1++;
i2=1;
}

巢狀迴圈 解說
巢狀迴圈可以有好幾層!
int i=0;
while(i<100){
執行結果→
while(i<100){
while(i<100){
while(i<100){
while(i<100){
cout<<"i="<<i<<endl;
i++;
}
}
}
}
}
迴圈的應用
迴圈的應用很廣泛,
(也就是說,有很多相關題目可以練習>w<)

以後也會常常用到它。
讓我們來看看幾個範例吧!
應用一:九九乘法表

★ code 在此
應用二:數字加總

★ code 在此
應用三:印星星

★ code怎麼寫? 自己動腦想想看><
應用三延伸:星星樹

★ code怎麼寫? 自己動腦想想看><
連ppt都迴圈了QAQ"

CH4 重複結構
獻給我們平凡單調無趣的學生生活
報告到此結束,謝謝大家!
By 程教 文月
附錄: Code - 九九乘法表
#include<iostream>
using namespace std;
int main(){
int a,b;
for(a=1;a<10;a++)
{
for(b=1;b<10;b++)
{
cout<<a<<"*"<<b<<"="<<a*b<<" ";
}
cout<<endl;
}
}
附錄: Code -數字加總
#include<iostream>
using namespace std;
int main(){
int a,sum=0;
for(a=1;a<=100;a++)
{
sum+=a;
}
cout<<"1+2+3+....+100="<<sum;
}

More Related Content

More from requiemformemories

More from requiemformemories (11)

地理報告-水資源
地理報告-水資源地理報告-水資源
地理報告-水資源
 
Ch5 堆疊與佇列
Ch5 堆疊與佇列Ch5 堆疊與佇列
Ch5 堆疊與佇列
 
Ch6 函式
Ch6 函式Ch6 函式
Ch6 函式
 
Ch3 陣列
Ch3 陣列Ch3 陣列
Ch3 陣列
 
Ch2 重複結構(迴圈)
Ch2 重複結構(迴圈)Ch2 重複結構(迴圈)
Ch2 重複結構(迴圈)
 
Ch1 c++總複習
Ch1 c++總複習Ch1 c++總複習
Ch1 c++總複習
 
Ch4 字元陣列
Ch4 字元陣列Ch4 字元陣列
Ch4 字元陣列
 
C++基礎程式設計 ch1 進入c++的世界
C++基礎程式設計 ch1 進入c++的世界C++基礎程式設計 ch1 進入c++的世界
C++基礎程式設計 ch1 進入c++的世界
 
C++基礎程式設計 Zero judge介紹
C++基礎程式設計 Zero judge介紹C++基礎程式設計 Zero judge介紹
C++基礎程式設計 Zero judge介紹
 
C++基礎程式設計 ch2 變數與運算子
C++基礎程式設計 ch2 變數與運算子C++基礎程式設計 ch2 變數與運算子
C++基礎程式設計 ch2 變數與運算子
 
C++基礎程式設計 ch5 陣列
C++基礎程式設計 ch5 陣列C++基礎程式設計 ch5 陣列
C++基礎程式設計 ch5 陣列
 

C++基礎程式設計 ch4 重複結構