小白教程
所有教程
关于
Search
172.70.131.176
172.70.131.176
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“C nested loops”的源代码
本页内容
上一节:
C_do_while_loop
下一节:
C_break_statement
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:嵌套循环}}[[Category:c loops|4]] = C 嵌套循环 = [[c loops|C 循环]] C 语言允许在一个循环内使用另一个循环,下面演示几个实例来说明这个概念。 == 语法 == C 语言中 '''嵌套 for 循环''' 语句的语法: <pre> for (initialization; condition; increment/decrement) { statement(s); for (initialization; condition; increment/decrement) { statement(s); ... ... ... } ... ... ... }</pre> 流程图: C 语言中 '''嵌套 while 循环''' 语句的语法: <pre> while (condition1) { statement(s); while (condition2) { statement(s); ... ... ... } ... ... ... } </pre> 流程图: C 语言中 '''嵌套 do...while 循环''' 语句的语法: <pre> do { statement(s); do { statement(s); ... ... ... }while (condition2); ... ... ... }while (condition1); </pre> 流程图: 关于嵌套循环有一点值得注意,您可以在任何类型的循环内嵌套其他任何类型的循环。比如,一个 for 循环可以嵌套在一个 while 循环内,反之亦然。 下面的程序使用了一个嵌套的 for 循环来查找 2 到 100 中的质数: == for 嵌套实例 == <sample title="" desc="" lang="c" hererun="1"> #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; } </sample> 当上面的代码被编译和执行时,它会产生下列结果: <pre> 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 是质数 </pre> == while 嵌套实例 == <sample title="" desc="" lang="c" hererun="1"> #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; } </sample> 当上面的代码被编译和执行时,它会产生下列结果: <pre> 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 </pre> == do-while 嵌套实例 == <sample title="" desc="" lang="c" hererun="1"> #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; } </sample> 当上面的代码被编译和执行时,它会产生下列结果: <pre> * ** *** **** ***** </pre> [[c loops|C 循环]]
返回至“
C nested loops
”。
上一节:
C_do_while_loop
下一节:
C_break_statement