後ろ判定のwhileをこれまで行ってきましたが、前判定のwhileも存在します。 以下でこの2つを比較します。
後判定のdo while | 繰り返し対象を、必ず1回は、行う | |
前判定のwhile | 繰り返し対象を、1回も実行させない制御が可能 |
後判定は繰り返しの中で、制御変数にシステム情報やオペレータ入力の設定を含む場合に使われます。
対して前判定であるwhileは、
条件によって一回も繰り返す対象を実行させたくない場合に使います。
簡単な例で、入力した値の個数の●を表示させたい場合のプログラム例を示します。
#include <stdio.h> main() { int kai; /*個数入力用 */ int n; /* 数える変数 */ printf("個数>"); scanf("%d" , & kai ); n = 0; while (n < kai){ printf("●"); n = n + 1; /* 数える。 */ } printf("\n"); }
このプログラムは、do〜whileで次のように書けるでしょうか?
#include <stdio.h> main() { int kai; /*個数入力用 */ int n = 0; /* 数える変数 */ printf("個数>"); scanf("%d" , & kai ); do { printf("●"); n = n + 1; /* 数える。 */ } while (n < kai); printf("\n"); }
←全ての『未選択』の箇所を正しく選択してから評価ボタンをクリックしてください