C语言中的循环
程序处理过程当中常常遇到需要重复处理的问题,就需要用到循环结构(又称重复结构)。
1.while循环
while循环的通用形式:
while(表达式)
语句
语句可以是以分号结尾的简单句,也可以是用花括号括起来的复合语句(用花括号括起来的若干语句)。表达式称为循环条件表达式。当表达式为“真”时(用1表示),执行循环体语句;当表达式为“假”时(用0表示),就不执行循环体语句。while循环先判断条件表达式,再执行循环体语句。循环体如果包括两个及以上的语句,需要用花括号括起来,不加括号,while语句的范围就知道while后第1个分号处。
2.for循环
for循环的通用形式:
for(表达式1;表达式2;表达式3)
语句
表达式(控制表达式)的作用:
表达式1:设置初始条件,只执行一次。可以为零个、一个或多个变量设置初值。
表达式2:循环条件表达式,在每次执行循环体之前执行次表达式,用来判断是否继续执行循环。
表达式3:作为循环的调整,在执行完循环体之后进行。
可以用字符代替数字计数,例:for(ch='a';ch<='z';ch++);可以省略一个或多个表达式,但分号不可省略,只要在循环中包含能结束循环的语句即可;第1个表达式不一定是给变量赋初值,也可使用printf()
3.do···while循环
do···while循环的通用形式:
do
语句
while(表达式);
语句可以为简单语句或者复合句。
while和for循环都是入口条件循环,在每次执行循环之前检查执行条件,可能根本不执行循环体中的内容;do···while循环是出口条件循环,在每次循环结束之后检查执行条件,至少执行循环体中的内容一次。
4.循环的嵌套
一个循环体中又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,称为多层循环。
(1)while()
{
while()
{···}
}
(2)do
{
do
{···}
while();
} while();
(3)for(···;···;···)
{
for(···;···;···)
{···}
}
(4)while()
{
do
{···}
while();
}
(5)for(···;···;···)
{
while()
{···}
}
(6) do
{
for(···;···;···)
{···}
}while();
5.注意
(1)一般情况下可以互换;
(2)while循环和do···while循环中,在while后面的括号中指定循环条件,在循环体中应包含使循环趋于结束的语句;for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放在表达式3中。因此for的功能更强。
(3)while循环和do···while循环,变量初始化应在其之前完成;for循环可以在表达式1中实现变量初始化。
(4)三种循环都可以用break语句跳出循环,用continue语句结束本次循环。