continue;はfor文やwhile文などのブロック{}内でのみ用いられ continue;が実行されるとその回のブロック内の命令文の実行は終了し次の回のブロック内の命令文の実行がはじまります


ソーラー「今日は


とっても便利な命令文



                 🚄continue;🚅


について


考察してみたいと思います


                 🚄continue;🚅




for{}文やwhile{}文やdo while{}文のブロック{}内でのみ用いられる特殊な命令文なんです


for{}文やwhile{}文やdo while{}文のブロック{}の外では


もちいることはできません」



マックス「



                 🚄continue;🚅



カッコよさそうじゃないか?


どういう働きを持っているんだ?」


ソーラー「



                 🚄continue;🚅




for{}文やwhile{}文やdo while{}文のブロック{}内でのみ用いられます


for{}文やwhile{}文やdo while{}文で


ブロック{}内の命令文が繰り返し実行されるとします


そして何回目かの繰り返しで


for{}文やwhile{}文やdo while{}文のブロック{}内に記述されている



                 🚄continue;🚅


が実行されるとします


すると


for{}文やwhile{}文やdo while{}文のブロック{}内の命令文の実行はそこで終わっちゃうんです


その回のfor{}文やwhile{}文やdo while{}文のブロック{}内の命令文の実行は終わり


そして


次の回のfor{}文やwhile{}文やdo while{}文のブロック{}内の命令文の


繰り返し実行がはじまります


再び


for{}文やwhile{}文やdo while{}文のブロック{}内の最初の命令文から


プログラムの実行がはじまることになります」



マックス「ブロック{}内の最初の命令文へとプログラムの実行が戻るってことか!?」


ソーラー「そうなんだ(´▽`*)


たとえば


for文のブロック{}内に


continue;


が記述されているとします


for文が実行されると


for{}文のブロック{}内の命令文が繰り返し実行されることになりますね


例えば


2回目の繰り返しの時


もしも


for{}文のブロック{}内の


continue;


が実行されたなら


continue;


以下の命令文は実行されず


そこで


2回目の繰り返しは終了となります


そして


再び


for文のブロック{}内の最初の命令文から


3回目のfor文のブロック{}内の命令文が繰り返し実行されることになります」



さあ


では 早速そのプログラムを見ていきましょう」


そのプログラムはこちらです

👇


#include <stdio.h>


int main(void) {


int i;


for (i = 0; i<3; i++) {


if (i==1) continue;


printf("%d\n", i);



}


return 0;

}


プログラムの実行結果


0

2


ソーラー「このプログラムでは


int i;


の実行によりint型の変数iが生成されています


次に


for (i = 0; i<3; i++) {


if (i==1) continue;


printf("%d\n", i);



}


により


i=0のときの


1回目の


for文のブロック{}内の命令文の実行がはじまります


i = 0


のとき


if (i==1) continue;



条件式


i==1は成立せず


if (i==1)に続く命令文


continue;


が実行されることはありません


そして


続く命令文


printf("%d\n", i);


の実行により


0 が


コマンドプロンプト画面に表示されることになります


これで


1回目の


for{}文のブロック{}内の命令文の実行は終わります


次に


i=1のときの


2回目の


for{}文のブロック{}内の命令文の実行がはじまります


            さあ


ここからがポイントです


i = 1


のとき


if (i==1) continue;



条件式


i==1が成立することになるので


if (i==1)に続く命令文


continue;


が実行されることになります


すると


ここで


この2回目のfor{}文のブロック{}内の命令文の実行は終了となります


そして次は


i=2のときの


3回目の


for文のブロック{}内の命令文の実行がはじまります


i=2


のとき


if (i==1) continue;



条件式


i==1は成立せず


if (i==1)に続く命令文


continue;


が実行されることはありません


そして続く命令文


printf("%d\n", i);


の実行により


2が


コマンドプロンプト画面に表示されることになります


結果


コマンドプロンプト画面には


0

2


が表示されることになります」


マックス「おおっ これ なんか、使えそうだな」


ソーラー「そうなんです


ある回の繰り返しの時だけは


実行したくない命令文があるときは


例えば


3回目のときだけ


実行したくない命令文があるときは


その命令文のまえに


if(i==3)continue;


を記述しておけばよいというわけなんだよ」




おまけの解説😊


for{}文のブロック{}内に


break;


が記述されている場合は


break;


が実行されると


for{}文の実行自体が終了します



for{}文のブロック{}内に


continue;


が記述されている場合は


continue;


が実行されると


そのcontinue;


が実行された回の


for{}文のブロック{}内の命令文の繰り返し実行が


終了することになります


continue;


の場合は


for{}文のブロック{}内の命令文の繰り返し実行が


続行されるというわけです


だから


continue(つづく)


という名前なのかもしれませんね😊











  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る