4.1 while文

C言語には、全部で3つのループ文が用意されています。
while文、for文、そして、do(デュウ)~while文です。

do~while文構文

do~while文は、一般に、次のような書き方で使用します。

do {
  繰り返す文;
} while (条件式);

do~while文には、1つ大きな利点があります。それは、繰り返し文が、必ず1回は実行されるという点です。入力チェックの時に威力を発揮します。

  • 継続条件式の後の(;)を忘れないよう注意。

円の面積を計算するプログラム。半径入力値が間違っているならば、再入力させる

int main(void)
{

  int r;
  double s;

  do {
    printf("半径?:");
    scanf("%d",&r);
  } while (r < 0);
  
  s = r * r * 3.14;
  printf("面積は %f です。\n",s);
  
  return 0;
}

 演習

ミニクイズ

http://lmspress.net/ (登録は : 学籍番号 / 学校e-mailアドレス)

詳しくはLMS Pressとは参照してください。

入力チェックプログラム

下記のプログラムの入力チェックを追加して下さい。

入力値が間違って誤った月を入力された場合、再入力を行ってください。

#include <stdio.h>

int main(int argc, char* argv[])
{
    int month;
    printf("何月ですか:");
    scanf("%d", &month);

    switch (month)
    {
        case 3:
        case 4:
        case 5:
            puts("春です。");
            break;
        case 6:
        case 7:
        case 8:
            puts("夏です。");
            break;
        case 9:
        case 10:
        case 11:
            puts("秋です。");
            break;
        case 12:
        case 1:
        case 2:
            puts("冬です。");
            break;
        default:
            puts("そんな月はありませんよ!!");
    }
    return 0;
}

 

 

while文構文

条件式を前判定して反復制御を行います。

while (条件式) {
  繰り返す文;
}
  • 継続条件が真である間、文を繰り返し実行。
  • 継続条件式がはじめから偽の場合は一度も実行されない。

例題: