一.while
while(表达式)
{
}
首先执行判断表达式,若不满足,退出循环;若满足,则进入循环,循环语句执行完后再继续判断
二.for
for(表达式1;表达式2;表达式3)
{
}
首先执行表达式1,然后执行表达式2判断,若不满足,退出循环;若满足,则进入循环,循环语句执行完后,执行表达式3,然后又执行表达式2判断
2.注意:表达式1用于初始化,循环过程中只被执行1次
表达式2用于判断
表达式3用于调整
3.for和while的对比:
三.do while
do
{
}
while(表达式); //这里要有一个分号
for和while都是先判断,do whiile 首先进入循环,语句执行完后判断,若满足,进入循环;若不满足,退出循环
四.break和continue
1.要点:执行break后,break后面的代码不再执行,永久跳出循环;执行continue后,后面代码也不再执行,但跳过本次循环,回到判断。
2.while中的break和continue
如图:当 i == 5 时执行if语句中的break,后面代码不再执行,永久跳出循环
=========================================================================================================================
如图:将break换成continue后,当 i == 5 时执行continue,跳过后面代码,这时 i 还是为5,回到判断,又执行continue, i 还是5,又回到判断,又一次执行continue,所以这造成了死循环
=========================================================================================================================
3.for循环中的break和continue
如图:可以看到for循环中的break和while是差不多的
=========================================================================================================================
如图:可以看到和while中的continue不一样。原因是continue只跳过了后面的printf这行代码,没有跳过前面的 i++
4.do while中的break和continue(和while差不多,这里我就不用写了)
五.循环嵌套
找出100~200之内的素数
六.goto语句
1.用法:可以在同一个函数内跳转到设置好的标号处
=========================================================================================================================
2.优点:当遇到多层循环时,我们可以用goto直接跳出所有循环
for()
{
for()
{
for()
{
if(disaster)
goto error;
}
}
}
error:
--------偷懒了,见谅一下