C言語学習-第5章ループ構造プログラミング②

一緒に書く習慣を身につけましょう!「ナゲッツデイリーニュープラン・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ステートメントはループプロセス全体を終了し、ループを実行するための条件が確立されているかどうかを判断しなくなります

ループプログラムの例

  • 2つの正の整数mとnを入力し、それらの最大公約数と最小公倍数を見つけます

  • すべての「水仙番号」を出力します。いわゆる「水仙番号」とは、3桁の数字の3桁の合計が数字自体と等しいことを指します。たとえば、153 =1³+5³+3³であるため、153は水仙の数です。

  • 二分法を使用して、(-10、10)で次の方程式の根を見つけます:2x³-4x²+ 3x-6 = 0

おすすめ

転載: juejin.im/post/7085026059929780261