while文について
1.目的
- breakとcontinueについて理解する。
- breakとcontinueの使い方について理解する。
目次
2.breakとcontinueについて
・break :breakの部分でループを抜ける。
・continue:continue以降のループ処理は行わず、ループの最初の処理から実行。
3.使い方
breakは、基本的にswitch文、for,whileなどのループ文で使用される。
continueは、基本的にfor文,while文などのループ文で使用される。
break;
continue;
フローチャートイメージ
4.プログラム作成(breakとcontinueの確認)
フローチャートの方が分かりやすいので、
プログラムとその処理のフローチャートを記載する。
(1) breakの動作確認プログラム
#include <stdio.h> int main(void){ //変数宣言 int i=0; //ループ回数用変数 //iが5未満の時ループ while(1){ i++; printf("whileループ開始:i=%d\n",i); if(i==3)break; //i=3の時、ループ終了 printf("whileループ終了:i=%d\n",i); //whileループを出力 } printf("処理終了"); }
実行結果:https://paiza.io/projects/8jfaGL7G3eFAvWIRAH0Q3g?language=c
(2) 処理のフロー
(3) continueの動作確認プログラム
#include <stdio.h> int main(void){ //変数宣言 int i=0; //ループ回数用変数 //iが5未満の時ループ while(i<5){ i++; printf("whileループ開始:i=%d\n",i); if(i==3)continue; //i=3の時、whileの先頭に戻る。 printf("whileループ終了:i=%d\n",i); //whileループを出力 } //ここでiが真か偽か判断する。 printf("処理終了"); }
実行結果:https://paiza.io/projects/law3d5xpwhhP0WpCLkiIMQ?language=c
(4) 処理のフロー
※ここでは、while文を使用しているが、for文でも同じ動作をする。
5.プログラム作成(2重ループの時のbreak)
#include <stdio.h> // 関数の呼び出し、実行 int main(void) { int i; int j; //10回ループする for(i=0;i<3;i++){ //5回ループする。 for(j=0;j<4;j++){ printf("i1=%d,j1=%d\n",i,j); if(j == 1) break; //j=1の時、jのループ終了 printf("i2=%d,j2=%d\n",i,j); } printf("-----\n"); } return 0; }
実行結果:https://paiza.io/projects/kqrV8TrnFX7RyKyHOIJgHQ?language=c
※2重ループでも動作は変わらない。
このプログラムの場合j=1の時にbreakで、jのループが終わり、iのループに戻る。
関連記事
C言語:
・組み込みの為のC言語基礎知識1(printf) - Project_OKI’s diary
・C言語基礎知識2(for分で処理を繰り返す) - Project_OKI’s diary
・C言語基礎知識3(配列) - Project_OKI’s diary
・知らないと損するお金の話(ふるさと納税、確定申告とワンストップ納税どっちが得?) - Project_OKI’s diary
・C言語基礎知識6(関数) - Project_OKI’s diary
・C言語基礎知識7(構造体1) - Project_OKI’s diary
・C言語基礎知識8(enum:列挙型) - Project_OKI’s diary
・C言語基礎知識9(typedef) - Project_OKI’s diary