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

2024/01/04閱讀時間約 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實現氣泡排序法

48會員
81內容數
Python程式設計師,不是在學習就是在學習的路上
留言0
查看全部
發表第一個留言支持創作者!