循環結構語句
在實際生活中經常會将同一件事情重複做很多次,比如在走路時,會重複使用左右腳,打乒乓球時,會重複揮拍的動作等。同樣在C語言中,也經常需要重複執行同一代碼塊,這時就需要使用循環語句。循環語句分為while循環語句、do…while循環語句和for循環語句三種。今天,我們将重點講講while循環和do...while循環語句。
while循環語句
while循環語句和條件判斷語句有些相似,都是根據條件判斷來決定是否執行大括号内的執行語句。區别在于,while語句會反複地進行條件判斷,隻要條件成立, { } 内的執行語句就會一直執行,直到條件不成立,while循環結束。while循環語句的具體語法格式如下:
while (循環條件)
{
執行語句
………
}
在上面的語法格式中, { } 中的執行語句被稱作循環體,循環體是否執行取決于循環條件。當循環條件為true時,循環體就會被執行。循環體執行完畢時會繼續判斷循環條件,如條件仍為true則會繼續執行,直到循環條件為false時,整個循環過程才會結束。
while循環的流程圖
接下來通過while語句來實現1~4之間自然數的打印,如下例所示:
#include <stdio.h>
int main()
{
int x = 1; //定義變量x,初始值為1
while (x <= 4) // 循環條件
{
printf("x = %d\n", x);// 條件成立,打印x的值
x ; // x進行自增
}
return 0;
}
運行結果如圖3-14所示:
例中,x的初始值為1,在滿足循環條件x <= 4的情況下,循環體會重複執行,打印x的值并讓x進行自增。因此打印結果中x的值分别為1、2、3、4。值得注意的是,例3-7中的第8行代碼用于在每次循環時改變變量x的值,直到循環條件不成立,如果沒有這行代碼,整個循環會進入無限循環的狀态,永遠不會結束。
do-while循環語句
do…while循環語句和while循環語句功能類似,二者的不同之處在于,while語句需要先判斷循環條件,然後根據判斷結果來決定是否執行大括号中的代碼,而do…while循環語句先要執行一次大括号内的代碼再判斷循環條件,其具體語法格式如下:
do
{
執行語句
………
} while(循環條件);
在上面的語法格式中,關鍵字do後面 { } 中的執行語句是循環體。do…while循環語句将循環條件放在了循環體的後面。這也就意味着,循環體會無條件執行一次,然後再根據循環條件來決定是否繼續執行。
do…while循環的執行流程如圖所示:
do…while循環的執行流程
接下來使用do…while循環語句将例3-7進行改寫,如例所示。
#include <stdio.h>
int main()
{
int x = 1; //定義變量x,初始值為1
do
{
printf("x = %d\n", x);// 條件成立,打印x的值
x ; // x進行自增
} while (x <= 4); // 循環條件
return 0;
}
運行結果如圖所示:
兩個例題的運行結果一緻,這說明do …while循環和while循環能實現同樣的功能。然而在程序運行過程中,這兩種語句還是有差别的。如果循環條件在循環語句開始時就不成立,那麼while循環的循環體一次都不會執行,而do…while循環的循環體還是會執行一次。若将例中的循環條件x<=4改為x < 1,後一個例子會打印x=1,而前一個例子則什麼也不會打印。
求關注,求轉發,求支持!
想要學習的童鞋可以加群:564950050!
同時關注我們的【輕松學C語言】
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!