6.6 循环的嵌套
理解概念:循环中又包含另一完整循环。(类似套娃~)
循环的嵌套以 while , do...while , for 为基础,循环之间可以互相嵌套。
几种常见常用的循环嵌套模式:
1、while 中嵌入while
# include <stdio.h>
void main()
{
while()
{...
while()
{...}
}
}
2、do...while 中嵌入do...while
# include <stdio.h>
void main()
{
do
{
do
{...}
while()
}
while()
}
3、for中嵌入for
# include <stdio.h>
void main()
{
for(... ; ... ;...)
{
for(... ; ... ;...)
{...}
}
}
4、while 中嵌入do...while
# include <stdio.h>
void main()
{
while()
{
do
{...}
while();
...
}
}
5、for中嵌套while
# include <stdio.h>
void main()
{
for(... ; ... ; ...)
{...
while(...)
{...}
...
}
}
6、do..while 中嵌套for循环
# include <stdio.h>
void main()
{
do
{
...
for(... ; ... ; ...)
{...}
}
while();
}
6.7 几种循环的比较
说明:这里讨论的循环有4种,分别是:
goto 、 if 、 while 、 do...while
goto语句不提倡使用。
循环条件比较:
① while 与 do...while 的循环条件都放在 while 后面的括号里,循环体中都要放入能使循环结束的语句
② for 循环的循环条件放在表达式2,使循环结束的语句放在表达式3,有时候循环体的语句也可以放入表达式3。功能比较:for循环更强,while 和do...while 能做的,for都能做到。
变量初始化方式比较:
① while 与 do...while 必须在循环开始前完成变量初始化;
② for 可以在表达式1 中完成初始化。补充知识点:break 与continue语句
四种语句运用break 与continue 时的区别:
while 与 do...while 可用;
if 与 goto 不可用。
关于 break 与 continue 详细的知识点在下节:“ break 语句和 continue 语句 ”