天国にいけるC言語入門 ヘキサ構造体 ver5.2130
continue;はfor文やwhile文などのブロック{}内でのみ用いられ continue;が実行されるとその回のブロック内の命令文の実行は終了し次の回のブロック内の命令文の実行がはじまります
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(つづく)
という名前なのかもしれませんね😊
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます