打造全中国最优质的C语言课程,可以关注【小杰码匠】公众号。对于文章有任何问题,可以加入QQ群:136522116。在这里可以寻找志同道合的伙伴,各路编程大神为你解答疑问,我们等着你哦!一个完整的程序控制流包含下面三种控制流:
顺序流程分支流程循环流程
上一节中,我们讨论了分支流程,接下来我们将讨论循环流程。
1. 高斯求和
现在有一个需求:
计算1 + 2 + 3 + 4 ... + 99 + 100 = ?
这个问题是一个很古老的问题了,想必大家也会使用高斯求和公式轻松得计算其结果。
(首项 + 末项) x 项数 / 2
(1 + 100) x 100 / 2 = 5050
现在我们来验证一下求和公式计算的是不是准确的吧。我们让计算机用最原始的办法一项一项累加起来,一直从1累加到100。
首先,我们先准备一个变量sum值为0,用来存放每一次累加的结果。
i从1开始,计算i + sum,将结果赋值给sum。此时,sum为1 + 0。
i自增1,为2。再次计算i + sum,将结果赋值给sum。此时,sum为2 + 1 + 0。
i自增1,为3。再次计算i + sum,将结果赋值给sum。此时,sum为3 + 2 + 1 + 0。
i自增1,为4。再次计算i + sum,将结果赋值给sum。此时,sum为4 + 3 + 2 + 1 + 0。
直到i为101,停止循环。输出sum的结果。
2. while循环
C语言中,while语句可以实现循环。
while(测试条件)循环行为
和if一样,while也仅对其后一条语句产生效果。如果要循环多条语句,请使用花括号将它们组合成一条复合语句。
while(测试条件){循环行为1循环行为2循环行为3...}
我们使用while语句来尝试实现一下上面的求和过程。
#includeintmain(){inti=1,sum=0;while(i