双循环
一.定义:一个语句中出现两个for或者while
二.例
*1.for的双循环
#include <stdio.h>
int main()
{
int i,j;
for(i=1;i<3;i++) //外循环
for(j=1;j<4;j++) //内循环
printf("i=%d,j=%d\n", i,j);
printf("i=%d,j=%d\n", i,j);
}
分析:
1.找配对
2.找控制
for只能就近控制一条语句,所以,下面那个for控制倒数第二个printf,第一个for控制第二个for循环,是控制整个for循环,而不是只控制第二个for
3.标语句
一共有两个控制语句,一个for,一个printf
4.当第二个for的表达式2为假时才会转到第一个for的表达式3
*2.while的双循环
#include <stdio.h>
int main()
{
int m,n;
printf("Enter m,n:");
scanf("%d%d", &m,&n);
while(m!=n)
{
while(m>n)
m-=n;
while(n>m)
n-=m;
}
printf("m=%d\n",m);
}
分析:
1.找配对 while
2.找控制
while就近控制一条语句
3.标语句
一共四条执行语句
4.
*当m!=n为真时,往下走
*走到内循环里里面第一个while,进行循环,当m>n为假时,跳转到内循环里第二个while
*然后再往下走,当n>m为假时跳出内循环,重新回到外循环m!=n
两个控制语句break,continue
例.
#include <stdio.h>
int main()
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=20)
break;
if(b%3==1)
{
b+=3;
continue;
}
b-=5;
}
printf("%d",a);
}
注:
1.若执行break,直接跳出循环,跳出整个循环,整个
2.若执行continue,跳回for循环的表达式3,或者while ,do while 的表达式