高一課程C語言>for迴圈


for迴圈

C語言中,for語句使用最為靈活,它完全可以取代 while 語句。它的一般形式為:

        for(運算式1;運算式2;運算式3) 語句

它的執行過程如下:

1)     先執行運算式1

2)   再執行運算式2,若其值為真(非0),則執行for語句中指定的內嵌語句,然後執行下面 第 3 步;若其值為假(為0),則結束迴圈,轉到第 5 步。

3)    執行運算式 3

4)   轉回上面第 2 步繼續執行。

5)    迴圈結束,執行 for 語句下面的一個語句。

其執行過程可用右圖表示。

for迴圈

 

for語句最簡單的應用形式也是最容易理解的形式如下:

for(迴圈變數給予初值;迴圈條件;迴圈變數增量) 語句

迴圈變數給予初值總是一個給予值語句它用來給迴圈控制變數給予初值; 迴圈條件是一個關係運算式它決定什麼時候退出迴圈;迴圈變數增量,定義迴圈控制變數每迴圈一次後 ,按什麼方式變化。這三個部分之間用分開。

   例如:

for(i=1;i<=100; i++)

{

       sum=sum+i;

}

for(i=1;i<=100; i++)

       sum=sum+i;

  迴圈內容(即 { })只有一行,可以省略 { }

   先給i給予初值1,判斷i是否小於等於100, 若是則執行語句之後值增加1。再重新判斷直到條件為假i>100 結束迴圈。

相當於:

    

       i=1;

whilei<=100

    {

        sum=sum+i;

        i++;

}

for(i=1;i<=100; i++)

       sum=sum+i;

左右兩邊的程式,執行後結果相同。

對於for迴圈中語句的一般形式,就是如下的while迴圈形式:

     運算式1

while(運算式2

    {

          語句

          運算式3

}

注意:

1)       for迴圈中的運算式1(迴圈變數給予初值)運算式2(迴圈條件)運算式3(迴圈變數增量)都是選擇項即可以缺省不能缺省。

2)       省略了“運算式1(迴圈變數給予初值)表示不對迴圈控制變數給予初值。

3)       省略了“運算式2(迴圈條件)則不做其他處理時便成為閉環。

例如:

    for(i=1;       ;i++)

            sum=sum+i;

相當於:

i=1;

while(1)

     {

         sum=sum+i;

          i++;

    }

4)       省略了“運算式3(迴圈變數增量)則不對迴圈控制變數進行操作這時可在語句體中加入修改迴圈控制變數的語句。

例如:

for(i=1;i<=100;)

{

           sum=sum+i;

                      i++;

         }

5)       省略了“運算式1(迴圈變數給予初值)運算式3(迴圈變數增量)

例如:

for(;i<=100;)

{

         sum=sum+i;

                i++;

     }

相當於:

while(i<=100)

     {

            sum=sum+i;

            i++;

    }

6)       3個運算式都可以省略。

例如:

for(;;)語句

相當於:

while(1)語句

7)      運算式1可以是設置迴圈變數的初值的給予值運算式,也可以是其他運算式。

例如:

    for(sum=0;i<=100;i++)

            sum=sum+i;

8)       運算式1和運算式3可以是一個簡單運算式也可以是逗號運算式。

for(sum=0,i=1;i<=100;i++)

            sum=sum+i;

     或:

         for(i=0,j=100;i<=100;i++,j--)

                k=i+j;

9)       運算式2一般是關係運算式或邏輯運算式,但也可是數值運算式或字元運算式,只要其值非零,就執行循環體。

例如:

又如: