小兔网

C 循环 C 循环

C 语言允许在一个循环内使用另一个循环,下面演示几个实例来说明这个概念。

语法

C 语言中 嵌套 for 循环 语句的语法:

for (initialization; condition; increment/decrement){    statement(s);    for (initialization; condition; increment/decrement)    {        statement(s);        ... ... ...    }    ... ... ...}

流程图:

images/2021/07/13/06/2021071306415216981291.svg

C 语言中 嵌套 while 循环 语句的语法:

while (condition1){    statement(s);    while (condition2)    {        statement(s);        ... ... ...    }    ... ... ...}

流程图:

images/2021/07/13/06/2021071306415315710642.svg

C 语言中 嵌套 do...while 循环 语句的语法:

do{    statement(s);    do    {        statement(s);        ... ... ...    }while (condition2);    ... ... ...}while (condition1);

流程图:

images/2021/07/13/06/2021071306415414036543.svg

关于嵌套循环有一点值得注意,您可以在任何类型的循环内嵌套其他任何类型的循环。比如,一个 for 循环可以嵌套在一个 while 循环内,反之亦然。

实例

下面的程序使用了一个嵌套的 for 循环来查找 2 到 100 中的质数:

for 嵌套实例

#include <stdio.h> int main (){ /* 局部变量定义 */ int i, j; for(i=2; i<100; i++) { for(j=2; j <= (i/j); j++) if(!(i%j)) break; // 如果找到,则不是质数 if(j > (i/j)) printf("%d 是质数\n", i); } return 0;}

当上面的代码被编译和执行时,它会产生下列结果:

2 是质数3 是质数5 是质数7 是质数11 是质数13 是质数17 是质数19 是质数23 是质数29 是质数31 是质数37 是质数41 是质数43 是质数47 是质数53 是质数59 是质数61 是质数67 是质数71 是质数73 是质数79 是质数83 是质数89 是质数97 是质数

while 嵌套实例

#include <stdio.h>int main(){ int i=1,j; while (i <= 5) { j=1; while (j <= i ) { printf("%d ",j); j++; } printf("\n"); i++; } return 0;}

当上面的代码被编译和执行时,它会产生下列结果:

11 21 2 31 2 3 41 2 3 4 5

do-while 嵌套实例

#include <stdio.h>int main(){ int i=1,j; do { j=1; do { printf("*"); j++; }while(j <= i); i++; printf("\n"); }while(i <= 5); return 0;}

当上面的代码被编译和执行时,它会产生下列结果:

***************

C 循环 C 循环