C语言while和do while循环语句
在C语言中,while 是一种基本的循环,do while 是它的一种变体,有时候两者可以互换。
condition 就是一个关系判断表达式,它与 if 语句中的 condition 一样,其外面的括号是必需的。循环体是 while 语句的主体部分,是需要重复操作的一条或多条 C 语句,它包含多条语句时,其外侧必须加上花括号
如果关系判断表达式 condition 的结果为“真”,就执行循环体里面的语句,之后再次判断 condition,如果结果还是为“真”,则再次执行循环体里面的语句,如此重复操作,直到 condition 的结果为“假”时,不再执行循环体里面的语句,而退出 while 语句,继续执行后续语句。
在循环体内必须存在一条语句,执行后能够改变 condition 中的变量的值,从而使 condition 的判断结果发生变化,出现结果为“假”的情况,终止循环。否则这个循环将会一直重复执行下去,出现“死循环”。
while 语句和 if 语句都是根据关系判断表达式 condition 的判断结果来决定是否执行其主体部分的语句块。两者的不同之处在于,当 condition 为“真”时,if 语句中的主体部分语句块只执行一次,而 while 语句中的循环体会重复执行多次,直到 condition 为“假”才终止循环(见图 1)。

图 1:if 语句的主体只执行一次,而 while 语句的循环体可以重复执行多次
另外,while 语句和 if 语句一样,不要在其主体部分外的花括号
while 循环示例:
do-while 循环语句是在执行循环体之后才检查 condition 表达式的值,所以 do-while 语句的循环体至少执行一次。
跟 while 语句一样,要确保 do-while 语句的循环体部分修改了 condition 中的某个变量,从而改变 condition 的判断结果,能够结束循环,否则循环将永远重复下去,成为“死循环”。
图 2 展示了 do-while 语句和 while 语句在流程图上的区别,以及在程序中相互转换的示例。
while 和 do while 循环综合示例:
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
while 循环
while 语句适用于“当条件成立时重复操作”的循环控制结构,因而常被称作当型循环。其一般格式如下:while (condition) { 循环体; //一条或多条 C 语句 }
condition 就是一个关系判断表达式,它与 if 语句中的 condition 一样,其外面的括号是必需的。循环体是 while 语句的主体部分,是需要重复操作的一条或多条 C 语句,它包含多条语句时,其外侧必须加上花括号
{ }
。如果关系判断表达式 condition 的结果为“真”,就执行循环体里面的语句,之后再次判断 condition,如果结果还是为“真”,则再次执行循环体里面的语句,如此重复操作,直到 condition 的结果为“假”时,不再执行循环体里面的语句,而退出 while 语句,继续执行后续语句。
在循环体内必须存在一条语句,执行后能够改变 condition 中的变量的值,从而使 condition 的判断结果发生变化,出现结果为“假”的情况,终止循环。否则这个循环将会一直重复执行下去,出现“死循环”。
while 语句和 if 语句都是根据关系判断表达式 condition 的判断结果来决定是否执行其主体部分的语句块。两者的不同之处在于,当 condition 为“真”时,if 语句中的主体部分语句块只执行一次,而 while 语句中的循环体会重复执行多次,直到 condition 为“假”才终止循环(见图 1)。

图 1:if 语句的主体只执行一次,而 while 语句的循环体可以重复执行多次
另外,while 语句和 if 语句一样,不要在其主体部分外的花括号
{ }
后面加上分号。分号只出现在 while 语句循环体内的语句后面。while 循环示例:
知识点总结
- 分号只出现在 while 语句循环体内的语句后面。
- 在循环体内必须存在一条语句,执行后能够改变 condition 中的变量的值。
do while 循环
do-while 语句适用于“重复操作直到条件不成立为止”的循环控制结构,因而常被称作直到型循环。其一般格式如下:do { 循环体; //一条或多条 C 语句 } while (condition);
do-while 循环语句是在执行循环体之后才检查 condition 表达式的值,所以 do-while 语句的循环体至少执行一次。
跟 while 语句一样,要确保 do-while 语句的循环体部分修改了 condition 中的某个变量,从而改变 condition 的判断结果,能够结束循环,否则循环将永远重复下去,成为“死循环”。
特别注意:和 while 语句不一样的是,要在 do-while 语句的 condition 外的括号后面加上分号。
do while 循环示例:
知识点总结
- 需要重复执行一段代码时,使用 while 或 do-while 循环语句。
- 不要在 while 语句的 condition 外的括号后面加上分号。
- 但要在 do-while 语句的 condition 外的括号后面加上分号。
- 不要在 while 或 do-while 语句的循环体外的花括号后面加上分号。
- 循环体内只有一条语句时,其外面的花括号可以不写。
- 确保 while 或 do-while 语句的循环体内有语句修改了 condition 中的某个变量值。否则循环将永远重复下去,成为“死循环”。
while语句和do-while语句的互换
do-while 语句和 while 语句都擅长于解决循环次数未知的重复操作,但两者在实际应用中还是有区别的:- do-while 语句是先执行循环体语句,后判断循环条件是否成立;while 语句是先判断循环条件是否成立,后执行循环体语句。
- do-while 语句中,无论循环条件是否成立,总要执行一次循环体语句;while 语句中,如果循环条件不成立,则不执行循环体语句。
图 2 展示了 do-while 语句和 while 语句在流程图上的区别,以及在程序中相互转换的示例。

图 2:do-while 语句与 while 语句的互换
while 和 do while 循环综合示例:
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。