for比較偏向固定圈數型的迴圈
for(計數變數初值; 布林運算式 ; 增量運算)
{
:
一般指令;
:
}
計數變數初值:經指定初值之後即不可重覆設定。
●負責for-loop初始化的動作。
布林運算式:進入一般指令前迴圈必須測試條件成立,否則離開迴圈。
●負責運算布林條件式,並掌控迴圈的進行。
增量運算式:可為遞增或遞減運算。
● 當一個步驟(程式區塊)完成之後所要進行的動作,step運算通 常指的是計數值的增加或減少
#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;
}
依序輸入七天的支出,將會累積輸出總支出
#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迴圈需先測試條件是否符合,若符合 進入迴圈內執行,直到條件不成立時跳出 迴圈,此種是偏向不固定圈數型的迴圈。
測試運算式,判斷是否為True,是的話執行一般指令,否則不進入迴圈
while(測試運算式)
{
一般指令;
}
也可以用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;
}
只有修改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;
}
其意義大致上與 while-loop 相同, 唯一 的差別是 do-while 至少會先執行 程式主體 1 次
do-while 迴圈是先執行程式區塊後才 判定while 布林條件
do-while
循環通常用於確保至少執行一次某個操作,然後再檢查條件。
do
{
:
一般指令;
:}
while(測試條件) ;
輸入密碼,與原先設定正確才會跳脫迴圈
=#include <iostream>
using namespace std;
int main()
{
string pw; //儲存使用者輸入的密碼
do //建立 do…while 迴圈
{
cout << "請輸入密碼:";
cin >> pw; //等待使用者輸入
}while(pw!="1234"); //如果密碼不正確
cout << "恭喜!密碼正確!\n";
system("pause");
return 0;
}
#include <iostream>
using namespace std;
int main()
{
string pw; //儲存使用者輸入的密碼
while(true)
{
cout << "請輸入密碼:";
cin >> pw; //等待使用者輸入
if(pw == "1234")
break;
}
cout << "恭喜!密碼正確!\n";
system("pause");
return 0;
}