看程序:
#include <stdio.h>
int main()
{
for(int i = 0; i < 5; i++)
{
printf("i = %d\n", i);
}
printf("Loop ended!\n");
return 0;
}
运行结果:
i = 0
i = 1
i = 2
i = 3
i = 4
Loop 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;
}