授業/C言語基礎/while文 のバックアップソース(No.4)

*for文のおさらい [#k5006dd6]

繰り返しの回数が決まっている繰り返しに用いられるfor文は、次のような形をしていました。
#geshi(c){{
  for (初期化; 繰り返し条件; 更新処理) {
    処理
  }
}}

for文は、次のように実行されるものでした。
+「初期化」を行う
+「繰り返し条件」を評価する
--条件を満たしていれば、波括弧 { } の中の「処理」を行い、最後に「更新処理」を行う
--そうでなければ、for文の次の処理に移る
+2へ戻る

たとえば、1から10までの値を繰り返し出力するプログラムは、次のようになります(プログラム1)。
#geshi(c){{
  int i;
  for (i = 1; i <= 10; i++) {
    printf("%d\n");
  }
}}



*繰り返し処理のフローチャート [#wcf7aaa2]

1から10までの値を繰り返し出力するプログラムを、フローチャートで描くと、次のようになります。
#ref(./while1.png,50%)

これをC言語風にすると、次のようになります。
#ref(./while2.png,50%)
if文のところで勉強したように、大小関係を比較する関係演算の結果はint型の値であり、結果が0のときは条件を満たさない、0以外のときは条件を満たすと判定されます。


*while文 [#l6d6c1fa]

while文は、次の形をしています。
#geshi(c){{
  while (繰り返し条件) {
    処理
  }
}}

while文は、次のように実行されます。
+「繰り返し条件」を評価する
--条件を満たしていれば、波括弧 { } の中の「処理」を行う
--そうでなければ、while文の次の処理に移る
+1へ戻る

while文を使って、1から10までの値を繰り返し出力するプログラムを作ると、次のようになります(プログラム2)。
#geshi(c){{
  int i = 1;
  while (i <= 10) {
    printf("%d\n", i);
    i++;
  }
}}

このプログラムを、上のプログラム1と比べてみましょう。
繰り返し条件は同じで、カウント変数の初期化はwhile文の前に、更新処理はwhile文の波括弧 { } の中の最後にあることがわかります。

つまり、for文をwhile文に直すと、次のようになります。
#geshi(c){{
  初期化;
  while (繰り返し条件) {
    処理
    更新処理;
  }
}}


**演習1 [#ya13bc4b]
プログラム1とプログラム2を作成し、実行結果を確認せよ。


*回数が決まっていない繰り返し [#yee53b8a]



*繰り返し条件の後置判定 [#o50dd1fe]

#geshi(c){{
  do {
    処理
  } while (繰り返し条件)
}}


#geshi(c){{
  int i = 1;
  do {
    printf("%d\n", i);
    i++;
  } while (i <= 10)
}}



*continue文 [#ad0abf43]

continue文は、繰り返し処理の残りの部分を飛ばします。
多くの場合、continue文はif文と組み合わせて使います。

#geshi(c){{
  int i = 1;
  while (i <= 10) {
    if (i % 2 == 0) { continue; }
    printf("%d\n", i);
    i++;
  }
}}


*break文 [#ode00ed6]
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS