C言語のdo-while文の使い方についてわかりやすく詳しく解説

この記事では、C言語のプログラミングにおいて、do-while文の使い方について詳しく解説します。

do-while文は、指定された条件が真である限り、繰り返し処理を行うための制御文です。

最低でも1回はループが実行されるため、ループの処理を必ず実行したい場合に便利です。

具体的な使い方や注意点も紹介するので、初心者の方にもわかりやすく解説します。

目次から探す

do-while文とは

do-while文は、指定された条件が真である限り、繰り返し処理を行うための制御文です。

条件の評価は、ループの最後に行われるため、最低でも1回はループが実行されます。

do-while文の概要

do-while文は、以下のような特徴を持っています。

  • 先にループの処理を実行し、その後に条件を評価するため、最低でも1回はループが実行される。
  • 条件が真である限り、ループが繰り返される。
  • 条件が偽になった場合、ループを終了する。

do-while文の基本構文

do-while文の基本的な構文は以下の通りです。


do {
    // ループの処理
} while (条件式);
  • doの後には、ループの処理を記述します。
  • whileの後には、条件式を記述します。

この条件式が真である限り、ループが繰り返されます。

以下に、具体的な例を示します。


#include <stdio.h>
int main() {
    int i = 1;
    
    do {
        printf("%d回目のループです。\n", i);
        i++;
    } while (i <= 5);
    
    return 0;
}

このプログラムでは、変数iを初期値1で初期化し、do-while文でループ処理を行っています。

ループの中では、printf関数を使って現在のループ回数を表示し、iをインクリメントしています。

条件式i <= 5が真である限り、ループが繰り返されます。

実行結果は以下のようになります。

1回目のループです。
2回目のループです。
3回目のループです。
4回目のループです。
5回目のループです。

このように、do-while文は最低でも1回はループが実行されるため、ループの処理を必ず実行したい場合に適しています。

do-while文の具体的な使い方

do-while文は、指定された条件が真である限り、繰り返し処理を行うための制御文です。

基本的な構文は以下の通りです。


do {
    // 繰り返し処理の内容
} while (条件式);

do-while文は、まず処理を実行してから条件式を評価します。

そのため、最低でも一度は処理が実行されることが保証されます。

以下に、do-while文の具体的な使い方について説明します。

1. 数字のカウントダウン


#include <stdio.h>
int main() {
    int count = 10;
    
    do {
        printf("%d\n", count);
        count--;
    } while (count > 0);
    
    return 0;
}

上記のプログラムは、変数countの値を10から1までカウントダウンしながら表示する例です。

do-while文を使うことで、最初に一度だけcountの値を表示し、その後はcountをデクリメントして条件式count > 0が真である限り繰り返し処理が行われます。

実行結果は以下の通りです。

10
9
8
7
6
5
4
3
2
1

2. ユーザーの入力の確認


#include <stdio.h>
int main() {
    char answer;
    
    do {
        printf("続けますか?(y/n): ");
        scanf(" %c", &answer);
    } while (answer != 'n');
    
    return 0;
}

上記のプログラムは、ユーザーに続けるかどうかの入力を求める例です。

do-while文を使うことで、最初に一度だけユーザーに入力を促し、その後は入力された値が'n'でない限り繰り返し処理が行われます。

実行結果は以下の通りです。

続けますか?(y/n): y
続けますか?(y/n): y
続けますか?(y/n): n

3. メニューの選択


#include <stdio.h>
int main() {
    int choice;
    
    do {
        printf("1. 選択肢1\n");
        printf("2. 選択肢2\n");
        printf("3. 選択肢3\n");
        printf("0. 終了\n");
        printf("選択してください: ");
        scanf("%d", &choice);
        
        switch (choice) {
            case 1:
                printf("選択肢1が選ばれました。\n");
                break;
            case 2:
                printf("選択肢2が選ばれました。\n");
                break;
            case 3:
                printf("選択肢3が選ばれました。\n");
                break;
            case 0:
                printf("終了します。\n");
                break;
            default:
                printf("無効な選択です。\n");
                break;
        }
    } while (choice != 0);
    
    return 0;
}

上記のプログラムは、メニューから選択肢を選ぶ例です。

do-while文を使うことで、最初に一度だけメニューを表示し、その後はユーザーの選択に応じて処理を行います。

選択肢が0でない限り繰り返し処理が行われます。

実行結果は以下の通りです。

1. 選択肢1
2. 選択肢2
3. 選択肢3
0. 終了
選択してください: 2
選択肢2が選ばれました。
1. 選択肢1
2. 選択肢2
3. 選択肢3
0. 終了
選択してください: 3
選択肢3が選ばれました。
1. 選択肢1
2. 選択肢2
3. 選択肢3
0. 終了
選択してください: 0
終了します。

以上が、do-while文の具体的な使い方の例です。

do-while文は、最低でも一度は処理を実行する必要がある場合や、条件式の評価を後回しにしたい場合に便利な制御文です。

適切に利用して、効率的なプログラムを作成しましょう。

1 2
目次から探す