break;はfor文、while文、などのループ(繰り返し)文を抜け出したりswitch文を抜け出すときに使われます break;はループ文やswitch文の中でしか用いることはできません


ソーラー「今日は


break;


の基本的なシステムについて学んでみたいと思います」


マックス「今日はなんだ😊?


break;


の仕組みか?」


ソーラー「まずは次のプログラムをご覧ください


次のプログラムでは


break;


が用いられています


このプログラムの実行結果はどのように表示されると思いますか?


さあ いかかですか?」


👇

#include <stdio.h>


int main(void) {


int a = 0;


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


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


break;


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


return 0;

}


マックス「なんだぁ 簡単だな😊


int a = 0;


により


変数aに0が代入される


次に


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


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


の実行により


0

0


がコマンドプロンプト画面に表示される



次にbreak;


が実行されて


プログラムの実行が終了~~~🐈



簡単だなあ



あらためて解説するまでもないな


はっはっはぁ~~~~~😊」



ソーラー「その解答でいいですか?


Finalファイナル answerアンサー!? 」


マックス「もっちろん Final answer!余裕すぎる! 」


ソーラー「それではプログラムを実行してみたいと思います


ビルド実行っ!」



#include <stdio.h>


int main(void) {


int a = 0;


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


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


break;


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


return 0;

}


プログラムの実行結果


たかたんたかたんたかたん


ソーラー「さあ 期待のその結果は・・・


👇



👇



👇


エラー C2043 'break' が正しくありません。

エラー (アクティブ) E0116 break ステートメントはループ内またはスイッチ内でのみ使用できます


マックス「な、なにぃ


なんで


0

0


がひょうじされんん 


break;


って

プログラムを終了させるためにあるんじゃないのか?」


アレサ「なぜなのでしょうか?


不思議ですの?」


ソーラー「


            🐥break;🐥



プログラムを


終了させるために


使われるのではないんだよ






            🐥break;🐥




for文、while文、などのループ(繰り返し)文を抜け出したり

switch文を抜け出すときに使われます


            🐥break;🐥



for文、while文、などのループ文やswitch文の中でしか用いることはできない仕組みになっています


今のプログラムでは



            🐥break;🐥



for文、while文、などのループ文やswitch文の中で用いられていないので



ビルド実行結果


エラー C2043 'break' が正しくありません。

エラー (アクティブ) E0116 break ステートメントはループ内またはスイッチ内でのみ使用できます


が表示されているんです


そして


break;


が実行されると


for{}文、while{}文、などのループ文やswitch{}文の



          ブロック{}の外に



抜け出すというのが


break;


の基本的な仕組みとなっています


では


今度はfor文の中で



break;


が用いられているプログラムをご覧ください」


👇


#include <stdio.h>


int main(void) {


int i;


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


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


break;


}


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



return 0;

}


プログラムの実行結果


0

0


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


まず


int i;


により


変数iが生成されます


次にfor文の実行ですね


for{}内では


break;


が用いられています


i=0


のとき


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


が実行され


0がコマンドプロンプト画面に表示されます


次に


break;


が実行されるので


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


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


break;


}



のブロック{}の外に


命令文の実行は移っていくことになります


ですので


ブロック{}の外の次の命令文


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


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


このときのiには数値データ0が格納されているので


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


が実行されると


0


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



👇

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


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


break;


}

👆

の実行においては


for文のブロック{}内の


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


が実行され


0がコマンドプロンプト画面に表示されたあと


すぐに


break;


が実行されて


for文の実行が終わるので


変数iに格納されている値は for(i=0;i<3;i++)の


i++のはたらきにより


1に変化することはなく


変数iに格納された数値データは0のままになっているというわけです」


マックス「 break;


が実行されると


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



ブロック{}の外に


命令文の実行が飛んで出るってかんじか?」


ソーラー「飛んで出るんです


黒ひげ危機一髪っていうゲームと一緒です」


マックス「なんだ そのゲームは?」


ソーラー「では


ここで質問です


次のようなプログラムが実行されると


どのような実行結果がコマンドプロンプト画面に表示されるとおもう?」


マックス「今度はどんなプログラムなんだ?」


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

👇

#include <stdio.h>


int main(void) {


int i;


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


if (1) {


break;


}


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



}


return 0;

}


マックス「な、なんだ?


0


が表示されるんじゃないか?」





       (´▽`*)みんなもかんがえてみてね



                      solarplexussより


                         つづく




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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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