for 回圈和 BASIC 的 FOR 指令類似,但其能力比 BASIC 的 FOR 更強,其寫法如下:

for(算式 1; 算式 2; 算式 3)
{
    執行動作
}

for 中的三個算式分別以 『;』 分號隔開,彼此之間可以互相有關係或是基本沒有關係。 其中:

✦ 算式 1:通常是起始值的設定,此算式只有在第一次進入回圈時時才會被執行。

✦ 算式 2:通常是條件判斷式,如果條件為真時,則執行 { } 內的動作,否則離開 for 回圈。

✦ 算式 3:通常是步進運算,{ } 內的動作執行完后,必須再到這裡做運算,然後到算式 2 做判斷。

for 回圈的使用頻率較 while 和 do-while 都還要來得高,雖然也可以用 if 和 while 來完成相同的動作,可是還是以 for 最具彈性。 for 中的算式 1、2 或 3 均可省略。 以下是幾個使用 for 的程式範例:

範例一、發三聲嗶聲音

#include<iostream.h>

void main()
{
     int delay;

     for(int cnt=0;cnt<3;cnt++)           //執行 3 次
     {
         cout<<"beep!\b\n";               //用 '/b' 來發聲
         for(delay=0;delay<10000;delay++)
             ;                            //無動作也要加 ';'
     }
}

執行結果

beep!
beep!
beep!

範例二、合併多行敘述的 for 回圈

#include<iostream.h>

void main()
{
     float sum,i;

     for(sum=0.0,i=1.0;i<10.0;sum=sum+i,i+=0.1)
         ;
     cout<<"sum = "<<sum<<endl;
}

執行結果

sum = 490.499786

範例三、無限的 for 回圈

#include<iostream.h>

void main()
{
     for(;;)
     {
         cout<<"This is an endless loop\n";
     }
}

執行結果

This is an endless loop
This is an endless loop
This is an endless loop
This is an endless^C     <----- 使用 Ctrl+C 來中斷程式

範例四、有起始及步進式的無限 for 回圈

#include<iostream.h>

void main()
{
     for(int i=1;;i++)
         cout<< i  << i*i  << endl;
}

執行結果

1   1
2   4
3   9
4   16^C

範例五、巢狀的 for 回圈

#include<iostream.h>

void main()
{
     for(int n=1;n<=7;n++)
     {
         for(int m=0;m<n;m++)
             cout<"*";
         cout<<"\n";
     }
}

執行結果

*
**
***
****
*****
******
*******