??WRITE IN FRONT?????
- ??介紹:"謓澤"正在路上朝著"攻城獅"方向"前進(jìn)四"??
- ??榮譽(yù):2021|2022年度博客之星物聯(lián)網(wǎng)與嵌入式開發(fā)TOP5|TOP4、2021|2022博客之星TOP100|TOP63、阿里云專家博主、掘金優(yōu)秀創(chuàng)作者、全網(wǎng)粉絲量5w+、全網(wǎng)訪問量70w+??
- ??本文章內(nèi)容由 謓澤 原創(chuàng) 如需相關(guān)轉(zhuǎn)載還請(qǐng)通知博主?
- ??個(gè)人主頁:謓澤的博客??
- ??專欄系列:【C語言】關(guān)鍵字??
- ??點(diǎn)贊??+ 收藏??+ 留言???
?⑩④?for ? 循環(huán)「靈活」
????????⒈描述?循環(huán)允許您編寫一個(gè)執(zhí)行指定次數(shù)的循環(huán)控制結(jié)構(gòu),在循環(huán)語句當(dāng)中for語句是應(yīng)用最靈活的。
????????⒉定義?for(循環(huán)變量賦初值表達(dá)式1;循環(huán)條件表達(dá)式2;循環(huán)變量表達(dá)式3)‘\n’{語句塊};
當(dāng)執(zhí)行到for語句的時(shí),程序首先計(jì)算第一個(gè)表達(dá)值,接著判定第二個(gè)表達(dá)式的值。如果第二個(gè)表達(dá)式為真,程序就執(zhí)行語句塊的內(nèi)容,當(dāng)執(zhí)行完語句塊的內(nèi)容回到表達(dá)式當(dāng)中。接著并計(jì)算第三個(gè)表達(dá)式,然后檢驗(yàn)判定第二個(gè)表達(dá)式是否為真,為真執(zhí)行循環(huán);如此反復(fù),直到第二個(gè)表達(dá)式的值為假,則退出循環(huán)。
????????⒊注意?for循環(huán)嵌套盡量三層即可,太多可能會(huì)懵。
??拓展知識(shí)點(diǎn)如下??
????????『三種循環(huán)結(jié)構(gòu),分別是 do...while、while、for』
????????對(duì)于任何一種循環(huán)的時(shí)候一定是要有循環(huán)當(dāng)中的判定條件的[注→死循環(huán)除外]
????????說明??一般來說正常的循環(huán)都要有④部分組成。
????????⒈循環(huán)條件初始化整形變量。
????????⒉while括號(hào)里面的表達(dá)式也就是循環(huán)判定。
????????⒊代碼塊當(dāng)中執(zhí)行的語句,例:輸出printf()打印語句。
????????⒋循環(huán)條件更新,因?yàn)榭傆幸淮挝覀円顺鲅h(huán)[注→死循環(huán)除外]
??????????注意?對(duì)于for循環(huán)來說在它的循環(huán)表達(dá)式有③個(gè)而while和do...while只有①個(gè)同時(shí)在循環(huán)當(dāng)中也是for循環(huán)用的最多了,因?yàn)樗恼Z法結(jié)構(gòu)是很緊湊的。
????????如下代碼所示??
?#include<stdio.h> int main(void) { int i = 0; int sum = 0; for (i = 1; i <= 100; i++) { sum = sum + i; } printf("sum = %d\n",sum); return 0; }
運(yùn)行結(jié)果??
????????sum = 5050
?代碼說明解析
????????執(zhí)行到 for?語句時(shí),先給 i 賦初值 1,判斷 i<=100 是否成立;因?yàn)榇藭r(shí) i=1,i<=100 成立,所以執(zhí)行循環(huán)體。循環(huán)體執(zhí)行結(jié)束后(sum的值為1)再計(jì)算 i++。
????????第二次循環(huán)時(shí),i 的值為2,i<=100成立,繼續(xù)執(zhí)行循環(huán)體。循環(huán)體執(zhí)行結(jié)束后(sum的值為3) 再計(jì)算 i++。
????????重復(fù)執(zhí)行步驟2,直到第101次循環(huán),此時(shí)i的值為101,i<=100不成立,所以結(jié)束循環(huán)。
????????每條for語句包含3個(gè)用分號(hào)隔開的表達(dá)式。這3個(gè)表達(dá)式用一對(duì)圓括號(hào)括起來,其后緊跟循環(huán)語句或語句塊。
????????省略表達(dá)式1的時(shí)候,其后的分號(hào)是不能省略的。
????????有些程序當(dāng)中省略表達(dá)式2(循環(huán)條件)的話,可能會(huì)導(dǎo)致程序發(fā)生死循環(huán)。
????????所謂的 "死循環(huán)" 就是:循環(huán)條件永遠(yuǎn)成立,循環(huán)會(huì)一直進(jìn)行下去,永不結(jié)束。死循環(huán)對(duì)程序的危害很大,一定要避免。通常都是在for循環(huán)上的判斷條件上出現(xiàn)"死循環(huán)"。
????????省略表達(dá)式3的話(自增自減),就不會(huì)再修改表達(dá)式2的循環(huán)變量了,除非你在語句塊中加上了自增自減運(yùn)算符。
for 循環(huán)的嵌套?
????????for 循環(huán)嵌套實(shí)際上就是在for語句里面再次進(jìn)行for語句的使用這種叫做循環(huán)嵌套。
????????那么接下來舉個(gè)代碼示例,來講解下什么是for循環(huán)。如下代碼所示??
#include <stdio.h> int main(void) { int i, j; for(i=1; i<=4; i++) { //外層for循環(huán)-第一層 for(j=1; j<=4; j++) { //內(nèi)層for循環(huán)-第二層 printf("%-4d", i*j); } printf("\n");//換行 } return 0; }
運(yùn)行結(jié)果??
1 ? 2 ? 3 ? 4 ??
2 ? 4 ? 6 ? 8 ??
3 ? 6 ? 9 ? 12 ?
4 ? 8 ? 12 ?16 ??代碼說明解析
????????外層 for 第一次循環(huán)時(shí),i為1,內(nèi)層 for 要輸出四次 1*j 的值,也就是第一行數(shù)據(jù);內(nèi)層 ?for 循環(huán)結(jié)束后執(zhí)行 printf("\n"),輸出換行符;接著執(zhí)行外層 for 的 i++ 語句。此時(shí)外層 for 的第一次循環(huán)才算結(jié)束。
????????外層 for 第二次循環(huán)時(shí),i為2,內(nèi)層 for 要輸出四次 2*j 的值,也就是第二行的數(shù)據(jù);接下來執(zhí)行 printf("\n") 和 i++,外層 for 的第二次循環(huán)才算結(jié)束。外層 for 第三次、第四次循環(huán)以此類推。
????????通過上述代碼我們可以看到,內(nèi)層 for 每循環(huán)一次輸出一個(gè)數(shù)據(jù)。而外層 for 每循環(huán)一次輸出一行數(shù)據(jù)。文章來源:http://www.zghlxwxcb.cn/news/detail-415966.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-415966.html
到了這里,關(guān)于【C語言】for 關(guān)鍵字的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!