C 語(yǔ)言是一種廣泛使用的編程語(yǔ)言,它具有簡(jiǎn)潔、高效、靈活的特點(diǎn)。C 語(yǔ)言中有很多控制流程的語(yǔ)句,其中 for 循環(huán)是一種常見的循環(huán)結(jié)構(gòu),可以用來(lái)重復(fù)執(zhí)行一段代碼,直到滿足某個(gè)條件為止。
for 循環(huán)的一般形式是:
for (初始化; 條件; 更新)
{
循環(huán)體;
}
其中,初始化是在循環(huán)開始之前執(zhí)行的語(yǔ)句,通常用來(lái)定義和賦值循環(huán)變量;條件是一個(gè)布爾表達(dá)式,用來(lái)判斷循環(huán)是否繼續(xù)執(zhí)行;更新是在每次循環(huán)結(jié)束后執(zhí)行的語(yǔ)句,通常用來(lái)改變循環(huán)變量的值;循環(huán)體是要重復(fù)執(zhí)行的代碼塊,可以包含任意的語(yǔ)句。
for 循環(huán)的執(zhí)行過程是:
- 首先執(zhí)行初始化語(yǔ)句,只執(zhí)行一次;
- 然后判斷條件表達(dá)式的值,如果為真,則執(zhí)行循環(huán)體,如果為假,則退出循環(huán);
- 接著執(zhí)行更新語(yǔ)句,改變循環(huán)變量的值;
- 再次判斷條件表達(dá)式的值,重復(fù)上述步驟,直到條件為假為止。
例如,下面的代碼用 for 循環(huán)打印出 1 到 10 的數(shù)字:
#include < stdio.h >
int main()
{
int i; // 定義循環(huán)變量
for (i = 1; i <= 10; i++)
{ // 初始化為 1,條件為小于等于 10,更新為加 1
printf("%dn", i); // 打印循環(huán)變量的值
}
return 0;
}
輸出結(jié)果是:
1
2
3
4
5
6
7
8
9
10
在使用 for 循環(huán)時(shí),需要注意以下幾點(diǎn):
初始化、條件和更新語(yǔ)句都可以省略,但是分號(hào)不能省略,否則會(huì)造成語(yǔ)法錯(cuò)誤。例如,下面的代碼是一個(gè)無(wú)限循環(huán),因?yàn)闆]有條件語(yǔ)句,也沒有更新語(yǔ)句,所以循環(huán)體一直執(zhí)行:
for (;;)
{
printf("Hello, world!n");
}
條件語(yǔ)句的值可以是任意的表達(dá)式,不一定是關(guān)系運(yùn)算符或邏輯運(yùn)算符,只要能轉(zhuǎn)換為布爾值即可。例如,下面的代碼用 for 循環(huán)計(jì)算 1 到 100 的和,因?yàn)楫?dāng) i 為 0 時(shí),條件語(yǔ)句的值為假,所以循環(huán)結(jié)束:
#include < stdio.h >
int main()
{
int i, sum; // 定義循環(huán)變量和累加變量
sum = 0; // 初始化累加變量為 0
for (i = 100; i; i--)
{ // 初始化為 100,條件為非 0,更新為減 1
sum += i; // 累加循環(huán)變量的值
}
printf("The sum is %dn", sum); // 打印累加結(jié)果
return 0;
}
輸出結(jié)果是:
The sum is 5050
更新語(yǔ)句可以是任意的語(yǔ)句,不一定是賦值語(yǔ)句,也可以是函數(shù)調(diào)用、輸入輸出等。例如,下面的代碼用 for 循環(huán)從鍵盤讀入 5 個(gè)整數(shù),并計(jì)算它們的平均值:
#include < stdio.h >
int main()
{
int i, num, sum; // 定義循環(huán)變量、輸入變量和累加變量
sum = 0; // 初始化累加變量為 0
for (i = 0; i < 5; scanf("%d", &num), i++)
{ // 初始化為 0,條件為小于 5,更新為讀入一個(gè)整數(shù)并加 1
sum += num; // 累加輸入變量的值
}
printf("The average is %dn", sum / 5); // 打印平均值
return 0;
}
輸入輸出結(jié)果是:
10
20
30
40
50
The average is 30
for 循環(huán)可以嵌套使用,即在一個(gè) for 循環(huán)的循環(huán)體中再使用一個(gè) for 循環(huán),這樣可以實(shí)現(xiàn)多重循環(huán)的效果。例如,下面的代碼用嵌套的 for 循環(huán)打印出一個(gè)九九乘法表:
#include < stdio.h >
int main()
{
int i, j; // 定義外層和內(nèi)層循環(huán)變量
for (i = 1; i <= 9; i++)
{ // 外層循環(huán)控制行數(shù),從 1 到 9
for (j = 1; j <= i; j++)
{ // 內(nèi)層循環(huán)控制列數(shù),從 1 到 i
printf("%d * %d = %dt", j, i, j * i); // 打印每個(gè)乘法式
}
printf("n"); // 換行
}
return 0;
}
輸出結(jié)果是:
以上就是 C 語(yǔ)言 for 循環(huán)的用法和注意事項(xiàng),希望對(duì)你有所幫助!
-
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7623瀏覽量
139417 -
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1952瀏覽量
35543 -
代碼
+關(guān)注
關(guān)注
30文章
4868瀏覽量
69896 -
循環(huán)結(jié)構(gòu)
+關(guān)注
關(guān)注
0文章
22瀏覽量
7801 -
for循環(huán)
+關(guān)注
關(guān)注
0文章
61瀏覽量
2646
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
C語(yǔ)言中while和do-while循環(huán)的用法

C語(yǔ)言嵌入式系統(tǒng)編程注意事項(xiàng)
Arduino Mega 2560 TimerFive的用法注意事項(xiàng)
c語(yǔ)言和單片機(jī)遇見的小注意事項(xiàng)
編寫C語(yǔ)言時(shí)常見的注意事項(xiàng)有哪些
單片機(jī)c語(yǔ)言使用中斷函數(shù)有哪些注意事項(xiàng)呢
膽機(jī)使用的注意事項(xiàng)
HT66F40使用SIM I2C Mode之用法與注意事項(xiàng)
STC51單片機(jī)的printf函數(shù)的用法和注意事項(xiàng)詳細(xì)說明

C語(yǔ)言中的#和##的用法

評(píng)論