C语言for循环的格式一般如下:
for (exp1; exp2; exp3 ) {语句块;}
流程:exp1一般是一个初始值设置,程序先检测exp2的条件是否成立,如果成立则执行for循环语句块,如果不成立,则退出循环,执行完for语句块后,会执行exp3,一般是一个增/减量的操作。
简单的for循环程序如下:
for(int i=0;i<20;i++)
{
循环体
}
执行步骤是:
1、i=0 初始化初值;
2、 进行条件判断i是否<20,如果条件为真,则继续执行;
3、执行循环体的代码;
4、i++ 变量i自增一次;
5、回到第2步,一直循环,直到第2步条件为假时, 退出循环,结束。
for中的难点在于:
如下语句:
int a=10,b=10,k;
for(k=0;a>8;b=++k)
{
printf("a=%d b=%d",a--,--b);
printf("\n");
}
答案:10,9,9,0
注意:for的执行步骤书上很少有这样的例子解释,开始表达式3没有执行b=++k;在第一次的循环结束后,才开始执行的。
for(a; b; c){
statement1;
statement2;
}
首先执行a,然后判断是否满足b,如果不满足就退出循环,执行循环下面的语句,如果满足,就依次执行statementq1,statement2。。。最后执行c,然后再判断b是否满足,再像上面一样
也就是说a只在第一次执行的时候执行,b,c要反复执行
打开哔哩哔哩,搜索"详解c语言之for循环执行顺序",有详细讲解for循环