文章目录
- for循环
- 计算阶乘的程序示例
- for循环
- 循环的计算和选择
- for和while的循环如何选择
- 循环控制
- 素数判断程序示例
- break和continue对比
- 循环的嵌套
- 输出100以内的素数
- 整齐输出前50个素数
- 凑硬币
- break跳出循环
- goto跳出循环
for循环
计算阶乘的程序示例
for循环像一个计数循环:设定一个计数器,初始化它,然后计数器到达某值之前,重复执行循环体,而每执行一轮循环,计数器以一定步进进行调整,比如加一或减一。
for循环
- for中的每一个表达式都是可以省略的
for(初轮动作; 条件; 每轮的动作)
{
<循环体>
}
- 对于一开始的count=10,当count>0时,重复做循环体,每一轮循环在做完循环体内语句后,使得count–。
for(count=10; count>0; count--)
{
<循环体>
}
- 循环控制变量i只在循环里被使用了,在循环外面它没有任何作用。因此,我们可以把i的定义写到for语句里面去。(c99)
for(int i=10; i>0; i--)
{
<循环体>
}
循环的计算和选择
- 对于以下的循环来说,循环的次数是n,而循环结束以后,i的值是n。循环的控制变量i,是选择从0开始还是从1开始,是判断i<n,还是判断i<=n,对循环的次数,循环结束后变量的值都有影响。
for(i=0; i<n; i++)
{
<循环体>
}
for和while的循环如何选择
- 如果有固定次数,用for
- 如果必须执行一次,用do-while
- 其他情况用while
循环控制
素数判断程序示例
- 可以在循环中加break,当不满足的时候直接跳出循环完成判断,减少循环次数。
break和continue对比
- break:跳出循环
- continue:跳过循环这一轮剩下的语句进入下一轮循环
循环的嵌套
输出100以内的素数
- 程序运行效果如下
整齐输出前50个素数
- 程序运行效果如下
凑硬币
- 用1角,2角,5角的硬币凑出钱数
- 程序运行效果如下
- 只需要一种情况即可,跳出循环
break跳出循环
goto跳出循环
- 上面为break跳出,下面为goto运行跳转,从如下可以看出两者程序运行效果并无差别,goto的优点在于可以不受限制的灵活跳转,goto语句可以灵活跳转会导致破坏结构化设计风格,若一段代码多次使用goto语句会降低代码的可读性,且goto语句的执行可能会跳过变量的初始化、重要的计算语句等,甚至影响到整个程序的运行。二至使用时候需要进行选择