先看程序:
#include <stdio.h>int main(){ for(int i = 0; i < 5; i++) { printf("i = %d/n", i); } printf("Loop ended!/n"); return 0;}運行結(jié)果:
i = 0i = 1i = 2i = 3i = 4Loop ended!
for循環(huán)的語句結(jié)構(gòu)為:
for(表達式1; 表達式2; 表達式3)
{
語句;
}
其執(zhí)行順序為:
(1)執(zhí)行表達式1
(2)執(zhí)行表達式2。表達式2是一個判斷語句;若為真,則執(zhí)行{}中的語句。若為假,則結(jié)束for循環(huán)
(3)若表達2為真,執(zhí)行表達式3
(4)執(zhí)行表達式2
(5)不斷重復步驟(3)和步驟(4),直到表達式2為假,結(jié)束循環(huán)。
流程圖如下所示:

程序執(zhí)行過程:
第一次,表達式1中i的值為0;表達式2中0<5是成立的,打印出i的值。
第二次,表達式3中i++后i變?yōu)?;表達式2中1<5是成立的,打印出i的值。
第三次,表達式3中i++后值變?yōu)?,表達式2中2<5是成立的,打印出i的值。
第四次,表達式3中i++后值變?yōu)?,表達式2中3<5是成立的,打印出i的值。
第五次,表達式3中i++后值變?yōu)?,表達式2中4<5是成立的,打印出i的值。
第六次,表達式3中i++后值變?yōu)?,表達式2中5<5是不成立的,不執(zhí)行大括號中的打印語句。循環(huán)結(jié)束,跳出循環(huán)。程序繼續(xù)往下執(zhí)行。
作業(yè):
(1)使用斷點觀察上面程序的每一步的執(zhí)行過程
(2)根據(jù)上面的分析,思考下面的程序的運行結(jié)果并動手操作一遍
#include <stdio.h>int main(){ for(int i = 0; i < 0; i++) { printf("i = %d/n", i); } printf("Loop ended!/n"); return 0;}新聞熱點
疑難解答