看书了嘛 应该有很清晰的讲解把
while 和for 都是处理循环的关键字
while(条件语句)
{循环体}
条件语句是指如果满足某个条件则进入循环体,某个条件都是个人根据循环体里的出口条件设置的(因为不能无限的循环必须有出来的时候),如
while(1>0) //如果1>0就进入循环体,这肯定是一个死循环,因为没有出口条件,1永远都大于0的,所有这种条件是无意义的
循环体里放的是你想循环的内容,如
求这个序列的结果sum=1*2*3*...*n
你会分析到没项是在前一项的基础上增加的,可以设每项为x 那么下一项不就是x+1了吗
上述式子等价于sum=x*(x+1)*(x+2)*...*(x+n-1)
现在考虑的问题就可以放倒循环中了每次循环都让x的值加1然后于与x的前一项乘即可,设置x初值为1,sum初值为1
while(条件语句)
{sum=sum*x;
x=x+1;}
分析:首次进入循环sum=1*1=1 然后x=1+1=2
下次循环:sum=sum*x=1*2=2 然后x=2+1=3
下次:sum=2*3=6 然后x=3+1=4
... ...
这样下去肯定是无止境的,所以要确定一个出口条件,当x为n时就可以出去了
n可以由你确定,如
sum=1*2*3*4 这里n就是4
所以完整的循环结构为
while(x<=4)
{
sum=sum*x;
x=x+1;
}//当x增加到>4的时候不满足x<=4所有不能进入循环体代表循环的结束
for 的循环思想也是相同的 只是执行的顺序有要求,如果你看懂while的工作过程for应该自己可以理解吧