while循环和for循环都是入口条件循环,即在循环的每次迭代之前检查
测试条件,所以有可能根本不执行循环体中的内容。C语言还有出口条件循环
(exit-condition loop),即在循环的每次迭代之后检查测试条件,这保证
了,至少执行循环体中的内容一次。这种循环被称为do while循环。
下面是do while循环的通用形式:
do
statemnet
while ( expression )
statement可以是一条简单语句或复合语句。注意,do while循环以分号
结尾。
do while循环在执行完循环体后才执行测试条件,所以至少执行循环体
一次;而for循环或while循环都是在执行循环体之前先测试循环条件。do
while循环适用于至少要迭代一次的循环。例如,下面是一个包含do while循环
的密码程序伪代码:
do
{
提示用户输入密码
读取用户输入的密码
} while (用户输入的密码不等于密码);
避免使用这种形式的do while结构:
do
{
询问用户是否继续
其他行为
} while (回答是yes);
这样的结构导致用户在回答"no"之后,仍然执行“其他行为”部分,因为
测试条件执行晚了。