请教C语言中循环语句for的执行过程,谢谢!!

请教C语言中循环语句for的执行过程,谢谢!!,第1张

for(表达式1;表达式2;表达式3)
组成结构
①计算表达式1。
②计算表达式,如果结果为真(即条件成立,如1>0为真),如果为假转第⑤步
③执行for下面的语句,执行完后转到第④步。
④计算表达式,结束本次循环周期,转回第②步,开始下一次循环。
⑤结束循环,执行for语句后的第一条语句。
for语句后面的循环体,可以是简单语句也可以是复合语句,复合语句要用{}括起来。

for(A;B;C)
的基本结构是这样的,有A,B,C
3个表达式,其中:
A是初始化表达式,在执行for时候第一个执行的,且只执行一次,这里你可以给循环变量赋值,或者给和这个循环无关的变量赋值,可以省略。
B:
这个表达式是判断循环是否执行的表达式,如果B表达式结果为真进到循环体执行,可以省略,省略后,编译器认为B恒为true
C:这个是循环体执行结束后执行的语句,通常是给循环变量做个增量,如i++,当然也可以执行和这个循环无关的语句,可以省略。C执行结束后接着又去执行B,如此反复

main()
{
int i,j,k;
for(i=0,i<1,i++)
{for(j=0,j<n,j++)
{ }

for(k=0,k<m,k++)
{
}
}
这就是 一个是第一个for语句先循环完n遍再循环第二个for一遍第三个for m遍
三重以上循环以上的循环由里到外依次来循环,每一层循环都是由本身和外层决定的!

for 是一个循环语句,和while是类似的,for一般的用法有:
for(i=0;i<10;i++)
{
printf("hello world");
}
这里就是输出10次hello world,为什么是10次呢?因为首先i=0,第一次先判断i<10是否成立,成立的话,就运行 printf("hello world");,然后回过来i++,再判断i<10是否成立,成立的话再运行{ }内的程序,最后当i=9时,再回过来i++,i变为10,再判断i<10已经不成立了,所以就结束for语句,i从0~9一共是10次,所以输出10次hello world。while的话也类似的道理。
for也可以这样用:for(int i=0;i<10;i++) ,这里的i的周期(或者生命)只存在与这个for语句内,当for语句结束后,这个i就不存在了,是个临时变量,其他的话用法基本上就是这样。

首先进入第一个for
你要记住,for语句中第一个语句只执行一次,最后一个参数是把大括号内中的所有语句执行完后才执行的。那就是第一个for执行了2次,
而看在问答,是求s的结果,s只和j有直接关系,而就可以放弃第一个for循环中的循环次数了,以为s=1,每次都把s重置了,而j的初始化,只和第一个for最后一个k有关,所以:所以,真正求值,就是在k<6的最后一次,也就是k=4的时候。
然后j=k=4,s=s+j,重复2次,
第一次:s=1+4(j)=5,
第二次:s=5+5(j)=5,
所以,5+5=10

#include<stdioh>main(){ int i,j; for(i=1;i<=9;i++) { for(j=1;j<=9;j++) printf("%2d%2d=%2d",i,j,ij); printf("\n"); }} for语句循环的是接着他的下一句(只有一句)但当他跟这花括号时是整个花括号里德i=1时 则从j=1一直循环到j=9 结束 然后i=2以此类推 程序运行结果如下;

for(循环变量赋初值;循环条件;循环变量增值)语句

for(i=1;i<=100;i++)sum=sum+i;
它的执行相当于
i=1;
while(i<=100){
sum=sum+i;
i++;
}
显然,用for语句更简单、方便。

一般情况下for循环里包含3条语句,第一句是为循环变量赋初始值值,第二句是循环条件,第三句是给循环变量重新赋值,例如:
for(i=0;i<num;i++){
//
}
这个循环的循环变量是i,i的初始值是0,循环条件是i<num,i以自增的方式赋新值,也可以写出i+=10,即i=i+10。就拿上面这个例子来说,执行的过程是先给给i赋初值,再判断i是否小于num,若是则执行for循环里的语句,执行完之后再执行i++,然后再判断i是否小于num,若是则仍执行for循环里的语句,否则退出循环。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10536806.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存