[C++基礎]迴圈loop介紹 for ,while ,do while

閱讀時間約 7 分鐘

for,while,do while語法介紹



for loop

for比較偏向固定圈數型的迴圈

語法

for(計數變數初值; 布林運算式 ; 增量運算)

{

一般指令;

}
for迴圈 執行流程圖

for迴圈 執行流程圖

計數變數初值:經指定初值之後即不可重覆設定。

 ●負責for-loop初始化的動作。

布林運算式:進入一般指令前迴圈必須測試條件成立,否則離開迴圈。

●負責運算布林條件式,並掌控迴圈的進行。

增量運算式:可為遞增或遞減運算。

● 當一個步驟(程式區塊)完成之後所要進行的動作,step運算通 常指的是計數值的增加或減少

程式範例

利用for迴圈將ASCII印出

#include <iostream>
using namespace std;
int main()
{
printf("ASCII Code \n");
for (int i=1;i<=128;i++)
{
printf("%d=%c\t",i,i); // %d 整數 %c字元 \t 跳格
if(i%5 == 0) //每顯示5個就要換行
printf("\n"); //換行
}
system("pause");
return 0;
}
程式輸出結果圖

程式輸出結果圖

利用for迴圈,累計周支出

依序輸入七天的支出,將會累積輸出總支出

#include <iostream>
using namespace std;
int main()
{
int sum=0, n; //sum儲存支出總數,n儲存輸入數字
for(int i=1; i<=7 ;i++) //執行七次迴圈
{
if(i==7) //如果是第七天就改為星期「日」
cout << "請輸入星期日的支出:";
else
cout << "請輸入星期 " << i << " 的支出:";
cin >> n; //等待使用者輸入
sum += n; //計算總支出
}
cout << "本星期的支出為: " << sum << " 元\n";
system("pause");
return 0;
}
程式輸出結果圖

程式輸出結果圖

While loop

比較偏向不固定的迴圈

while迴圈需先測試條件是否符合,若符合 進入迴圈內執行,直到條件不成立時跳出 迴圈,此種是偏向不固定圈數型的迴圈。

測試運算式,判斷是否為True,是的話執行一般指令,否則不進入迴圈

語法

while(測試運算式)

{

一般指令;

}
while loop 執行流程圖

while loop 執行流程圖

利用while實現從1累加到1000

也可以用for迴圈實現此應用,但while迴圈在使用上,比較靈活,條件到達在跳脫迴圈

#include <iostream>

using namespace std;

int main()
{
int i=1,sum=0;
while(true) //無限迴圈
{
printf("Hello~ 跑第幾 %d 圈了~\n",i);
sum += i; // sum = sum + i
printf("i=%3d sum=%d\n", i , sum);
i++;
if(i > 1000) //印10次後跳出迴圈
break;
}
system("pause");
return 0;
}
raw-image

While結合If,實現上面案例1到1000累加,只加偶數的部分

只有修改15行~18行新增一個if的判斷式讓滿足偶數的部分累加,即可實現

#include <iostream>
using namespace std;
int main()
{
int i=1,sum=0;
while(true) //無限迴圈
{
printf("Hello~ 跑第幾 %d 圈了~\n",i);
if( i%2 != 0)
{
i++;
continue;
}
sum += i; // sum = sum + i
printf("i=%3d sum=%d\n", i , sum);
i++;
if(i > 1000) //印10次後跳出迴圈
break;
}
system("pause");
return 0;
}
程式輸出圖

程式輸出圖

do While loop

其意義大致上與 while-loop 相同, 唯一 的差別是 do-while 至少會先執行 程式主體 1 次

do-while 迴圈是先執行程式區塊後才 判定while 布林條件

do-while循環通常用於確保至少執行一次某個操作,然後再檢查條件。

do

{

一般指令;
}
while(測試條件) ;
do while loop 執行流程圖

do while loop 執行流程圖

do While loop 應用在 使用者密碼

輸入密碼,與原先設定正確才會跳脫迴圈

=#include <iostream>
using namespace std;
int main()
{
string pw; //儲存使用者輸入的密碼
do //建立 do…while 迴圈
{
cout << "請輸入密碼:";
cin >> pw; //等待使用者輸入

}while(pw!="1234"); //如果密碼不正確

cout << "恭喜!密碼正確!\n";
system("pause");
return 0;
}
raw-image

用While loop 也可以實現

#include <iostream>
using namespace std;
int main()
{

string pw; //儲存使用者輸入的密碼

while(true)

{
​cout << "請輸入密碼:";

cin >> pw; //等待使用者輸入

if(pw == "1234")
break;

}
cout << "恭喜!密碼正確!\n";
system("pause");
return 0;

}

若有問題歡迎留言提問,喜歡的話在追蹤,鼓掌 謝謝大家

下一篇 巢狀迴圈介紹 For loop實現氣泡排序法

119會員
201內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言0
查看全部
發表第一個留言支持創作者!
螃蟹_crab的沙龍 的其他內容
巢狀迴圈For loop介紹結構及範例說明 巢狀迴圈 巢狀迴圈是在一個迴圈內包含另一個迴圈的結構 簡單來說,就是內迴圈做完,才會在跑到外迴圈,接著在做內迴圈
IF,Switch,三元運算子語法說明 IF條件選擇結構說明 IF為布林條件,當()內條件式滿足True執行if區塊的程式碼,不滿足則執行else區塊的程式碼,若無else也行。
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
巢狀迴圈For loop介紹結構及範例說明 巢狀迴圈 巢狀迴圈是在一個迴圈內包含另一個迴圈的結構 簡單來說,就是內迴圈做完,才會在跑到外迴圈,接著在做內迴圈
IF,Switch,三元運算子語法說明 IF條件選擇結構說明 IF為布林條件,當()內條件式滿足True執行if區塊的程式碼,不滿足則執行else區塊的程式碼,若無else也行。
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
練習 bmi的計算 BMI的公式為 體重(公斤)/((身高(公尺))^2) (註:^是次方的意思) 這個問題有用到平方的計算, 如果我要將一個數字平方,在c++時可以怎麼用呢? 1.使用pow函數 pow(參數1,參數2) 參數一代表的是底數,參數2代表的是指數 pow(x,y)=
基礎練習 怎麼做三個數的相乘以及 怎麼算三個數的平均數 include<iostream>(一樣引入背景需要的設置,是寫c++時開頭必加的一行) using namespace std;(這樣做能讓我們不需要每一行的開頭都加std::,如果沒有使用這個功能,打cout就要變成std::co
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 類別Class 創造類別之後就可以持續使用創建的類別來創建物件,以武器為例,在遊戲裡有不同的武器,但是他們的屬性是一樣的,我們就可以在一個類別裡面設定不同
Thumbnail
C# 迴圈 (C# 教學) – while就是在條件句作立, 即true的情況下, 繼續執行while的block內的邏輯, 直至條件句的結果為false. 其重點在條件句的成立與while 內 BLOCK的重用. 本篇暫時只以基礎的介紹, 以下為一些例子顯示出while的用法. 其他相關:
Thumbnail
C# 迴圈(C# 教學) – for loop 可以說是程序編寫的基本功. 運用LOOPING可以減少程式碼, 只需透過for內的BLOCK, 就可把程式碼重用, 避免要不停把程序碼重覆. 以下我會介紹迴圈的結構, 運行方式, 如何離開迴圈, 以及迴圈的種類. 2) 迴圈的種類 3) 迴圈的用法
Thumbnail
條件句在編碼上隨處可見. 程式編碼就是一堆分別判斷情況, 再提出行動指令的邏輯. if為邏輯的根本. 就好像一個人去計劃做一件事或對一件事作預備, 不可能無假設, 沒有如果這字眼, 不用if這字眼, 就無法把情況判斷, 分類, 也無沒寫程式. 總而言之, 學條件句為最基本而必要. 其他相關:
Thumbnail
這一篇文章將會從Microsoft的.NET Class Library開始介紹,在介紹具狀態和不具狀態,以及物件和new關鍵字。
Thumbnail
本篇文章將會介紹C#的基礎構成和字串的使用,若想要更詳細的教學,可以參考前一篇文章,前往Microsoft官方教學學習。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
這篇文章會介紹一個靜態浮點數Time.deltaTime,並教導你製作計時器,以及計時器的相關知識與使用建議。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
練習 bmi的計算 BMI的公式為 體重(公斤)/((身高(公尺))^2) (註:^是次方的意思) 這個問題有用到平方的計算, 如果我要將一個數字平方,在c++時可以怎麼用呢? 1.使用pow函數 pow(參數1,參數2) 參數一代表的是底數,參數2代表的是指數 pow(x,y)=
基礎練習 怎麼做三個數的相乘以及 怎麼算三個數的平均數 include<iostream>(一樣引入背景需要的設置,是寫c++時開頭必加的一行) using namespace std;(這樣做能讓我們不需要每一行的開頭都加std::,如果沒有使用這個功能,打cout就要變成std::co
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 類別Class 創造類別之後就可以持續使用創建的類別來創建物件,以武器為例,在遊戲裡有不同的武器,但是他們的屬性是一樣的,我們就可以在一個類別裡面設定不同
Thumbnail
C# 迴圈 (C# 教學) – while就是在條件句作立, 即true的情況下, 繼續執行while的block內的邏輯, 直至條件句的結果為false. 其重點在條件句的成立與while 內 BLOCK的重用. 本篇暫時只以基礎的介紹, 以下為一些例子顯示出while的用法. 其他相關:
Thumbnail
C# 迴圈(C# 教學) – for loop 可以說是程序編寫的基本功. 運用LOOPING可以減少程式碼, 只需透過for內的BLOCK, 就可把程式碼重用, 避免要不停把程序碼重覆. 以下我會介紹迴圈的結構, 運行方式, 如何離開迴圈, 以及迴圈的種類. 2) 迴圈的種類 3) 迴圈的用法
Thumbnail
條件句在編碼上隨處可見. 程式編碼就是一堆分別判斷情況, 再提出行動指令的邏輯. if為邏輯的根本. 就好像一個人去計劃做一件事或對一件事作預備, 不可能無假設, 沒有如果這字眼, 不用if這字眼, 就無法把情況判斷, 分類, 也無沒寫程式. 總而言之, 學條件句為最基本而必要. 其他相關:
Thumbnail
這一篇文章將會從Microsoft的.NET Class Library開始介紹,在介紹具狀態和不具狀態,以及物件和new關鍵字。
Thumbnail
本篇文章將會介紹C#的基礎構成和字串的使用,若想要更詳細的教學,可以參考前一篇文章,前往Microsoft官方教學學習。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
這篇文章會介紹一個靜態浮點數Time.deltaTime,並教導你製作計時器,以及計時器的相關知識與使用建議。