先看程序:
#include <stdio.h>int main(){ for(int i = 0; i < 5; i++) { printf("i = %d/n", i); } printf("Loop ended!/n"); return 0;}
运行结果:
i = 0i = 1i = 2i = 3i = 4Loop ended!
for循环的语句结构为:
for(表达式1; 表达式2; 表达式3)
{
语句;
}
其执行顺序为:
(1)执行表达式1
(2)执行表达式2。表达式2是一个判断语句;若为真,则执行{}中的语句。若为假,则结束for循环
(3)若表达2为真,执行表达式3
(4)执行表达式2
(5)不断重复步骤(3)和步骤(4),直到表达式2为假,结束循环。
流程图如下所示:
程序执行过程:
第一次,表达式1中i的值为0;表达式2中0<5是成立的,打印出i的值。
第二次,表达式3中i++后i变为1;表达式2中1<5是成立的,打印出i的值。
第三次,表达式3中i++后值变为2,表达式2中2<5是成立的,打印出i的值。
第四次,表达式3中i++后值变为3,表达式2中3<5是成立的,打印出i的值。
第五次,表达式3中i++后值变为4,表达式2中4<5是成立的,打印出i的值。
第六次,表达式3中i++后值变为5,表达式2中5<5是不成立的,不执行大括号中的打印语句。循环结束,跳出循环。程序继续往下执行。
作业:
(1)使用断点观察上面程序的每一步的执行过程
(2)根据上面的分析,思考下面的程序的运行结果并动手操作一遍
#include <stdio.h>int main(){ for(int i = 0; i < 0; i++) { printf("i = %d/n", i); } printf("Loop ended!/n"); return 0;}
新闻热点
疑难解答
图片精选