还是一个C语言FOR循环的问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 17:53:17
看这个程序,这是一个求100以内整数的累加和的程序,帮我解释一下这个程序中sum=sum+i语句到底是怎样实现循环的,我学C语言FOR循环不懂的地方就是在这里,希望你能解释的仔细,透彻,易懂点,谢谢。回答好的我再额外加分啊,我真的很想把这个问题弄懂啊!!
#include <stdio.h>
main()
{
int i,sum=0;
for (i=1;i<=100;i++)
sum=sum+i; (这个sum=sum+i语句到底是怎样实现100内整数的累加啊,具体的详细过程是怎样的啊?)
printf("%d",sum);
}

从头开始加起吧。
sum=sum(0)+i(1)=1;
第二次
sum=sum(1)+i(2)=3;
第三次
sum=sum(3)+i(3)=6;
第四次
sum=sum(6)+i(4)=10;
一直加下去
sum 等于前面的和i由1一直到100;
就是这样算的

这样解释行吗:你把sum看成一个大容器,变量i就是彩球,第一次i=1,表示放进容器里(sum里)一个球,第二次i=2,表示放进容器里2个球,注意,此时,容器里已经有三个球,sum其实就是一个容器,每次都是往它里面放东西,就是累加啊。

sum=0;就是sum的初值等于0.然后下边sum=sum+i;的意思就是把(sum+i)的值赋给sum;此时sum就等于(sum+i).因为循环,再执行这个步骤,现在sum已经等于sum+i了.相当于这个公式sum=sum+i右边的这个sum的值是(sum+i).于是公式展开来就是sum=(sum+i)+i.依次类推下去,就这个概念.我不知道我讲清了没``

for循环的执行顺序
for(1;2;3)
{
4;
}
先执行1,然后判断2,2为真,则执行4,然后执行3,然后再判断2,直道2为假,循环结束。

本程序,第一次循环,i=1,sum=0;然后判断2,为真,然后执行4,sum=sum+i;此时sum=1,然后执行3,i++,然后返回2,此时i=2,为真,再执行sum=sum+i;执行完后,sum=1+2=3然后再执行3,i++....知道i=100时,2为真,此时sum=1+2+3+...+99,执行4,执行后,sum=1+2+3+...+100,然后执行3,i++,然后再返回2,此时i=101,2为假,循环结束,然后输出

i=1时,就是把sum+i的值赋给sum 就是0+1=1 这时sum的值是1;
i=2时,这时sum的值已经变成1了 不再是开始定义的0;再来一次sum=sum+i,就是1+2=3,就是i=2时sum的值是3,
i=3时,这时sum的值已经变成3了 再来一次sum=sum+i,就是3+3=6,就是i=3时