while与do...while都是C语言中的两种循环,它们非常相似,但特点明显。
while
while的特点是:先想再干
它是入口条件循环,即在循环的每次迭代之前,都会检查测试条件,如果一开始条件就不满足的话,这个while循环根本一次都不会执行。
而只有当表达式(下面代码中的expression)为真时,才执行循环体(下面代码中的statement)。
执行完毕后,再返回expression语句,进行下一轮判断。直到expression为假,才跳出循环,不再执行statement,也不再对expression进行判断。
while(expression)
{
statement//如果循环体只有一条语句,可以省略大括号
}
do...while
do...while的特点是:先干再想
它是出口条件循环,即在循环出来的时候才去判断条件是否满足。所以do...while至少也会执行一次
do...while工作的时候,先进入循环体,执行一次,然后对expression进行判断。
判断结果为真,再一次执行循环体,以此反复。
直到expression为假,跳出循环体
do
{
statement//同样,这里如果只有一条语句,也可以省略大括号
}while(expression);//注意,这里已分号结尾