Project_OKI’s diary

エンジニアの勉強ブログ

C言語基礎知識19(breakとcontinueについて) 

while文について

1.目的

  • breakとcontinueについて理解する。
  • breakとcontinueの使い方について理解する。

目次

2.breakとcontinueについて

 ・break  :breakの部分でループを抜ける。

 ・continue:continue以降のループ処理は行わず、ループの最初の処理から実行。

 

3.使い方

 breakは、基本的にswitch文、for,whileなどのループ文で使用される。

 continueは、基本的にfor文,while文などのループ文で使用される。

break;
continue;

フローチャートイメージ

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のループに戻る。

 

関連記事

過去の記事:

知らないと損するお金の話(ふるさと納税、確定申告とワンストップ納税どっちが得?) - 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

C言語基礎知識10(extern宣言) - Project_OKI’s diary

C言語基礎知識11(#define) - Project_OKI’s diary