6.プログラムの制御

6-6. continue

今日はコンテニューについて利用法とサンプルプログラムです。

ブレイクとセットで覚えると良いのですがこれもループに関するキーワードです。
ブレイクではループから抜け出していましたがコンテニューはループの最後にジャンプします。

─ループの先頭に戻るという説がありますが…

その説だと、forとwhileでちがう説明をしないといけなくなるのでここではコンテニューをみつけると以後のループ内の処理をスキップしてループの最後の部分にジャンプすると覚えてください。

ということは、次のプログラムの場合

    while (a<10){
        printf("...
        scanf("...
        if(a==3)continue; ─┐
        a++;               │
        < ----------------──┘この行にジャンプ
    }

もしaが3のときcontinueが実行されます。すると次のa++が無視されループの最後にジャンプします。そしてwhileの終了条件の判定に移ります。

forの場合も同様にループの最後へジャンプします。そしてインクリメントして次のループにすすみます。

ここで、先程のようにループの先頭に戻る説を使わないのは、

コンテニューはループの先頭に後戻りするのものではなく、以後の処理を無視して次のループを開始するものなのです。  

CDプレイヤーに例えると『前曲ボタンで頭出しするのでなく』
『次曲ボタンで一周する』と考えてください。なのでfor文ではちゃんとカウントされます。

次章
7.○×ゲームを作ってみよう