C語言入門筆記 第五講 迴圈語句之for

2021-10-16 05:52:23 字數 2983 閱讀 7544

for迴圈是用的最多的迴圈,其次是while,最後是do  while。

for(表示式1;表示式2;表示式3)

迴圈語句;

表示式1表示式1為初始化部分,用於初始化迴圈變數的。

表示式2表示式2為條件判斷部分,用於判斷 迴圈時候終止。

表示式3表示式3為調整部分,用於迴圈條件的調整。

我們來看乙個例子:

使用for迴圈 在螢幕上列印1-10的數字。我的部落格

**如下:

#include int main()

return 0;

}

for迴圈的執行流程圖:

表示式1只會被執行一次。

現在我們對比一下for迴圈和while迴圈:

同樣實現從1列印到10

while實現:

int i = 0;

//實現相同的功能,使用while

i=1;//初始化部分

while(i<=10)//判斷部分

for實現:

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

可以發現在while迴圈中依然存在迴圈的三個必須條件,但是由於風格的問題使得三個部分很可能偏離較遠,這樣查詢修改就不夠集中和方便。所以,for迴圈的風格更勝一籌。 for迴圈使用的頻率也最高。

我們發現在for迴圈中也可以出現break和continue,他們的意義和在while迴圈中是一樣的。 但是還是有些差異:

先看**1:

//**1

#include int main()

return 0;

}

輸出結果為:1 2 3 4

這是因為,當i==5時,執行了break語句,跳出了整個for迴圈。

再看**2:

//**2

#include int main()

return 0;

}

輸出結果為:1 2 3 4 6 7 8 9 10

這是因為,當i==5時,下一步執行continue語句,continue後面的語句全部不執行,直接跳到下一次for迴圈。

這裡是不會出現死迴圈的。

因為執行完stmt後,會自動執行表示式3,也就是i++,那麼下一次迴圈的時候i==6,不再滿足if的判斷,所以不會出現死迴圈。

一些建議:

1.不可在for 迴圈體內修改迴圈變數,防止 for 迴圈失去控制。2. 建議for語句的迴圈控制變數的取值採用「前閉後開區間」寫法。

前閉後開區間:

int i = 0;

//前閉後開的寫法

for(i=0; i<10; i++)

{}

雙閉合寫法:

//兩邊都是閉區間

for(i=0; i<=9; i++)

{}

原因在於:

這個10具有意義:迴圈十次,列印十次等...

語法上和執行上兩種都沒有問題。 

看如下**:

#include int main()

1、for迴圈的初始化、判斷、調整都可以省略,

但是,for迴圈的判斷部分如果被省略,那判斷條件就是:恒為真。

2、如果不是非常熟練,建議不要隨便省略相關**。

舉個例子

int main() 

} return 0;

}

列印結果為:10個hehe 

分析一下程式的執行過程

首先,i = 0,i<10,進入第一次迴圈;

然後,j = 0,j<10,內層迴圈執行10次,從而列印10個呵呵;

這時候,j = 10,不滿足內層迴圈,跳出,進行第二次外層迴圈。

外層第二次迴圈:i++;i =1;i<10;

滿足第二次迴圈的條件

但是進入內層迴圈時,j的值是10,沒有被初始化為0,所以內層迴圈不會被執行!

所以一共只列印了10個呵呵。

//變種2

int x, y;

for (x = 0, y = 0; x<2 && y<5; ++x, y++)

return 0;

}

初始化部分出現了兩個表示式

這種迴圈用了兩個迴圈變數來控制

列印結果為2個呵呵。

【情況少見】

請問迴圈要迴圈多少次?

//請問迴圈要迴圈多少次?

#include int main()

破案關鍵:

判斷語句。

這裡的判斷語句不是k==0,而是k=0

這是乙個賦值語句!

又因為把0賦給了k,而0是假,也就是判斷表示式的值為假,

所以根本不會進入這個for迴圈。

所以:迴圈0次。

【一定要注意等號】

C語言入門筆記 第五講 迴圈語句之while

我們已經掌握了,if語句。當條件滿足的情況下,if語句後的語句執行,否則不執行。但是這個語句只會執行一次。但是我們發現生活中很多的實際的例子是 同一件事情我們需要完成很多次。那我們怎麼做呢?c語言中給我們引入了 while,for,do while 三種語句,可以實現迴圈。while 語法結構 wh...

C語言入門筆記 第五講 番外篇 goto語句

c語言中提供了可以隨意濫用的goto語句和標記跳轉的標號。從理論上 goto語句是沒有必要的,實踐中沒有goto語句也可以很容易的寫出 但是某些場合下goto語句還是用得著的,最常見的用法就是終止程式在某些深度巢狀的結構的處理過 程,例如一次跳出兩層或多層迴圈。這種情況使用break是達不到目的的。...

C語言入門(四)之switch 迴圈語句

switch格式 switch 條件表示式 如何結束switch語句 1.遇到break 2.執行到switch對應的大括號的結束 switch的條件表示式必須是返回整數的表示式,也就是說 中只能放整數。或者寫能夠轉換為整數的型別也可以,例如char,因為char型別可以轉換為int型別,所以寫ch...