C語言中for用法是:
#for 迴圈語句的一般形式為:
for (表达式1; 表达式2; 表达式3) { 语句; }
首先要強調兩點:
1) 表達式1、表達式2和表達式3之間是用分號;隔開的,千萬不要寫成逗號。
2) for(表達式1;表達式2;表達式3)的後面千萬不要加分號,很多新手都會犯這種錯誤-會情不自禁地在後面加分號。
因為 for 迴圈只能控製到其後的一句語句,而在C語言中分號也是一個語句-空語句。所以如果在後面加個分號,那麼 for 迴圈就只能控製到這個分號,下面大括號裡面的語句就不屬於for迴圈了。
下面來看看它的執行過程:
求解表達式1。
求解表達式2。若其值為真,則執行for語句中指定的內嵌語句,然後執行第3步;若表達式2值為假,則結束循環,轉到第5步。
求解表達式3。
轉回上面第2步繼續執行。
迴圈結束,執行 for 語句下面的語句。
從這個執行過程中可以看出,「表達式1」只執行一次,迴圈是在「表達式2」「表達式3」和「內嵌語句」之間進行的。
for語句最簡單的形式是:
for (循环变量赋初值; 循环条件; 循环变量增值) { 语句; }
下面寫一個程序,求 1 2 3 4 … 100 的總和。
# include <stdio.h> int main(void) { int i; int sum = 0; //sum的英文意思是“总和” for (i=1; i<=100; ++i) //++是自加的意思, ++i相当于i = i + 1 { sum = sum + i; /*等价于sum += i;但是不建议这么写, 因为sum = sum + i看起来更清楚、更舒服*/ } printf("sum = %d\n", sum); return 0; }
輸出結果是:
sum = 5050
這個程式的功能是實現求1 2 3 4 … 100 的和,如果不用循環,加一次就要一條語句,加100 次就要100 條語句。這裡是從 1 加到 100,如果從 1 加到 10000 那就要 10000 條語句。但有了循環就很方便了,你想加到多少就加到多少,只要改一個參數就可以了。所以循環很重要。
下面按照執行程序看看上面這個程式是怎麼執行的。
1、先定義一個循環變數 i。定義的時候可以不給它賦初值,在 for 迴圈裡面再給它賦初值也行。但前面說過,最好在定義變數的時候就對它進行初始化,如果值不確定就初始化為 0。所以程式中也可以在定義 i 的時候就給它賦初值,那麼 for 迴圈裡的「表達式1」就可以省略了,但分號不可以省略。
這樣的話,執行的時候就跳過第1步,直接進入第2步,其他的不變。所以程式也可以像下面這樣寫:
# include <stdio.h> int main(void) { int i = 1; int sum = 0; for (; i<=100; ++i) { sum = sum + i; } printf("sum = %d\n", sum); return 0; }
當然表達式1加上也行,大不了再重新賦一次值。
2、接著定義一個用來存放「和」的變數sum,並給它賦初值0,然後進入for 迴圈:
for(i=1; i<=100; i)完全可以寫成
for(i=1; i<101; i),而且建議大家盡量使用這種寫法。也就是說,迴圈語句的迴圈條件盡量寫成半開半閉的,不管是for 迴圈還是while 迴圈。
for(i=1; i<101; ++i)
实际上是 1≤i<101
,是半开半闭的;而for(i=1; i<=100; ++i)
实际上是 1≤i≤100
,是全闭的。那么为什么建议使用半开半闭的呢?因为如果写成 i<=100 的话,那么每次判断的时候都要判断两次,即 i<100 和 i==100,而写成 i<101 的话每次只需要判断一次。
下面再给大家写一个程序,求 1 到 100 之间所有奇数的和。
# include <stdio.h> int main(void) { int i; int sum = 0 ; for (i=1; i<100; i+=2) //i+=2;等价于i = i + 2; { sum = sum + i; } printf("sum = %d\n", sum); return 0; }
输出结果是:
sum = 2500
推荐教程:《C视频教程》
以上是C語言中for用法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!