C语言学习-第五章 循环结构程序设计②

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第11天,点击查看活动详情

循环的嵌套

一个循环体内又包含另外一个完整的循环结构,称为循环的嵌套。 3种循环(while循环, do...while循环和for循环)可以互相嵌套,如:

(1) while
while() {
    ...
    while() { // 内层循环
        ...
    }
}

(2do...while
do {
    ...
    do { // 内层循环
        ...
    } while()
} while()

(3for
for(;;) {
    for(;;) { // 内层循环
        ...
    }
}

(4) while, do...while
while(){
    ...
    do{ // 内层循环
        ...
    } while()
}

(5for, while // ※
for(;;) {
    ...
    while () { // 内层循环
        ...
    }
}

(6) do...while, for
do {
    ...
    for (;;) { // 内层循环
        ...
    }
} while()
复制代码

几种循环的比较

  • 3种循环都可以用来处理同一问题,一般情况下可互相代替
  • 在while和do...while循环中,只在while后面的括号内指定循环条件,因此为了循环能正常结束,应在循环体内包含使循环趋于结束的语句(如i++, i = i + 1等)。for循环可以在表达式3中包含使循环趋于结束的操作
  • 用while和do...while循环时,循环遍历初始化的操作应在循环语句之前完成。而for语句还可以在表达式1中完成变量的初始化
  • while, do...while和for循环都可以用break语句跳出循环,用continue语句结束本次循环。

改变循环执行的状态

  • 用break语句提前终止循环

break语句的一般形式

break;
复制代码

作用是:使流程跳到循环体之外,接着执行循环体下面的语句

break语句只能用于循环语句和switch语句中,不能单独使用

  • 用continue语句提前结束本次循环

一般形式为:

continue;
复制代码

作用:提前结束本次循环,而接着执行下次循环

  • break语句和continue语句的区别 ※
    • continue语句只结束本次循环,而不是终止整个循环的执行。
    • break语句是结束整个循环过程,不再判断执行循环的条件是否成立

循环程序举例

  • 输入两个正整数m和n,求其最大公约数和最小公倍数

  • 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是水仙花数,因为153 = 1³ + 5³ + 3³.

  • 用二分法求下面方程在(-10, 10)的根: 2x³ - 4x² + 3x - 6 = 0

猜你喜欢

转载自juejin.im/post/7085026059929780261