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 (条件式) { 繰り返す文; }
- 継続条件が真である間、文を繰り返し実行。
- 継続条件式がはじめから偽の場合は一度も実行されない。
例題: