第6章 循环控制结构.ppt

6.5.2 break语句 break语句用于退出switch语句、循环语句如while、do-while、for。 当执行循环体遇到break语句时,循环将立即结束,顺序执行循环后面的语句。 n ??? 10 Please enter n:10↙ n = 10 Please enter n: -10↙ Program is over! 【例6.11】 演示break -10 #include stdio.h main() { int i, n; for (i=1; i=5; i++) { printf(Please enter n:); scanf(%d, n); if (n 0) break; printf(n = %d\n, n); } printf(Program is over!\n); } 6.5.3 continue语句 当在循环体遇到continue语句时,程序将跳过continue语句后面沿未执行的语句,开始一次一循环,即只结束本次循环的执行,并不终止整个循环的执行。 n ??? 10 Please enter n:10↙ n = 10 Please enter n: -10↙ Please enter n:20↙ n = 20 Please enter n: -20↙ Please enter n:30↙ n = 30 Program is over! 【例6.12】 演示continue -10 20 -20 30 #include stdio.h main() { int i, n; for (i=1; i=5; i++) { printf(Please enter n:); scanf(%d, n); if (n 0) continue; printf(n = %d\n, n); } printf(Program is over!\n); } 6.5.4 穷举法编程实例 所谓穷举法,简单地说就是通过尝试问题的所有可能来得到最终的答案。 韩信有一队兵,他想知道有多少人,便让士兵排队报数。按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。你知道韩信至少有多少兵吗? 设兵数为x,则x应满足: x%5==1 x%6==5 x%7==4 x%11==10 穷举法,对x从1开始试验 【例6.13】韩信点兵 #include stdio.h main() { int x; for (x=1; x 5000 ;x++) { if (x%5==1 x%6==5 x%7==4 x%11==10) { printf(x = %d\n, x); } } } 【例6.13】韩信点兵 “瞎猫碰死耗子” #include stdio.h main() { int x; for (x=1; ;x++) { if (x%5==1 x%6==5 x%7==4 x%11==10) { printf(x = %d\n, x); } } } 【例6.13】韩信点兵 “死循环” #include stdio.h main() { int x; for (x=1; ;x++) { if (x%5==1 x%6==5 x%7==4 x%11==10) { printf(x = %d\n, x); goto END; } } END: ; } 【例6.13】韩信点兵——goto #include stdio.h main() { int x; for (x=1; ;x++) { if (x%5==1 x%6==5 x%7==4 x%11==10) { printf(x = %d\n, x); break; } } } 【例6.13】韩信点兵——break #include stdio.h #include stdlib.h main() { int x; for (x=1; ;x++) { if (x%5==1 x%6==5 x%7==4 x%11==10) { printf(x = %d\n, x); exit(0); } } } 【例6.13】韩信点兵——break

文档评论(0)

1亿VIP精品文档

相关文档