C語言for迴圈詳解

2021-10-03 02:57:33 字數 3194 閱讀 7289

for 迴圈的使用更加靈活,在日常的程式開發過程中我們會使用的更多一些。

使用 while 迴圈來計算1加到100的值,**如下:

#include 

intmain()

printf

("%d\n"

,sum)

;return0;

}

可以看到,語句①②③被放到了不同的地方,**結構較為鬆散。為了讓程式更加緊湊,可以使用 for 迴圈來代替,如下所示:

#include 

intmain()

printf

("%d\n"

,sum)

;return0;

}

在 for 迴圈中,語句①②③被集中到了一起,**結構一目了然。

for 迴圈的一般形式為:

for

(表示式1

; 表示式2

; 表示式3

)

執行過程:1 . 先執行「表示式1」。

2 . 再執行「表示式2」,如果它的值為真(非0),則執行迴圈體,否則結束迴圈。

3 . 執行完迴圈體後再執行「表示式3」。

4 . 重複執行步驟 2) 和 3),直到「表示式2」的值為假,就結束迴圈。

上面的步驟中,2 . 和 3 . 是一次迴圈,會重複執行,for 語句的主要作用就是不斷執行步驟 2 . 和 3 .。

「表示式1」僅在第一次迴圈時執行,以後都不會再執行,可以認為這是乙個初始化語句。「表示式2」一般是乙個關係表示式,決定了是否還要繼續下次迴圈,稱為「迴圈條件」。「表示式3」很多情況下是乙個帶有自增或自減操作的表示式,以使迴圈條件逐漸變得「不成立」。

for迴圈的執行過程可用下圖表示:

我們再來分析一下「計算從1加到100的和」的**:

#include 

intmain()

printf

("%d\n"

,sum)

;return0;

}

執行結果:

5050
程式分析:1 . 執行到 for 語句時,先給 i 賦初值1,判斷 i<=100 是否成立;因為此時 i=1,i<=100 成立,所以執行迴圈體。迴圈體執行結束後(sum的值為1),再計算 i++。

2 . 第二次迴圈時,i 的值為2,i<=100 成立,繼續執行迴圈體。迴圈體執行結束後(sum的值為3),再計算 i++。

3 . 重複執行步驟 2 . ,直到第101次迴圈,此時 i 的值為101,i<=100 不成立,所以結束迴圈。

由此我們可以總結出for迴圈的一般形式:

for

(初始化語句; 迴圈條件; 自增或自減)

for 迴圈中的「表示式1(初始化條件)」、「表示式2(迴圈條件)」和「表示式3(自增或自減)」都是可選項,都可以省略(但分號;必須保留)。

1 . 修改「從1加到100的和」的**,省略「表示式1(初始化條件)」:

int i =

1, sum =0;

for(

; i<=

100; i++

)

可以看到,將i=1移到了 for 迴圈的外面。

2 . 省略了「表示式2(迴圈條件)」,如果不做其它處理就會成為死迴圈。例如:

for

(i=1

;; i++

) sum=sum+i;

相當於: i=1

;while(1

)

所謂死迴圈,就是迴圈條件永遠成立,迴圈會一直進行下去,永不結束。死迴圈對程式的危害很大,一定要避免。

3 . 省略了「表示式3(自增或自減)」,就不會修改「表示式2(迴圈條件)」中的變數,這時可在迴圈體中加入修改變數的語句。例如:

for

( i=

1; i<=

100;

)

4 . 省略了「表示式1(初始化語句)」和「表示式3(自增或自減)」。例如:

for

(; i<=

100;

)相當於:

while

(i<=

100)

5 . 3個表示式可以同時省略。例如:

for(;

;) 語句

相當於:

while(1

) 語句

6 . 「表示式1」可以是初始化語句,也可以是其他語句。例如:

for

( sum=

0; i<=

100; i++

) sum=sum+i;

7 . 「表示式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;

8 . 「表示式2」一般是關係表示式或邏輯表示式,但也可是數值或字元,只要其值非零,就執行迴圈體。例如:

for

( i=0;

(c=getchar()

)!='\n'

; i+=c )

;

又如:

for(;

(c=getchar()

)!='\n';)

printf

("%c"

,c);

感覺不錯的話歡迎點讚關注喲!!!

c語言for迴圈等語句詳解

迴圈結構有 1 goto語句和if語句構成迴圈 2.while語句 3.do while語句 4.for語句 goto語句是一種無條件轉移語句,與basic中的goto語句相似。goto語句的使用格式為 goto語句標號 其中標號是乙個有效的識別符號,這個識別符號加上乙個 一起出現在函式內某處,執行...

C語言的迴圈小練習詳解

目錄 int main printf d ret return 0 int main printf d sum return 例如tqqdsaor i love china 和 每次左邊右邊乙個 變成第一行,如下 include include int main return 0 程式執行結果 上述...

C語言for迴圈

c語言中的 for語句使用最為靈活,它完全可以替代 while 語句。for 表示式 1 表示式 2 表示式 3 語句 執行過程 1 求解表示式1 2 求解表示式2 若值為真 非 0 則執行 for語句中的內嵌語句,然後執行第 3不,若值未加,結束迴圈,執行5部 3 求解表示式3 4 轉回2 步驟繼...