カテゴリ:C言語
さて、前回までで制御文の中の分岐文の説明が終わりました。
今回は繰り返し文を紹介します。 if文は条件が真の時、{ }内を実行する制御文でした。(1行の時は{ }は不要) 繰り返し文は条件が真の時、{ }内を何度でも実行します。十二章では最も簡単なwhile文を紹介します。 while文タイトルと同じ名前の節ってどうかとも思いますけどね・・・^^; まぁ、それはいいとしてwhile文はwhile(条件) { 処理内容 }と書きます。 ifでもswitch文でもそうでしたが、制御文では } の後にはセミコロンは付けてはいけません さて、いつも通り例を出してから詳しく説明します。 ここでついに以前紹介していたインクリメント演算子が出てきましたね。 忘れた方は第九章を参照してください。では、この例の説明に入ります。 まず、最初に変数iを0に初期化します。 ぁ、初期化というのは変数を宣言と同時に値を代入する事です。 何で今まで書いてこなかったのかが不思議なぐらいですが(汗 次にwhile文の条件を判断します。現在iは0なので条件は真です。 よって{ }内を処理します。 i = 0を表示して、インクリメント演算子によってiを1にします。 そして、while文の条件を判断します。 これが重要です。 この時、iは1なので条件は真です。 よって{ }内を処理します。 この後iは2,3,4,5,6,7,8,9と増えていきます。 そして、i = 9と表示して、インクリメント演算子によってiは10になります。 すると、10 < 10は偽であるため、while文から抜けます。 これでこのプログラムは終わりです。 実際にそうなっているのか確かめてみてください。 上手くいっていれば、このように表示されるはずです。 そういうわけでwhile文は条件が真の間はずっと括弧内を処理します。つまり while(1)という書き方が存在します。無論今まででもif(1)とか可能ですが これはあまりにも意味がありませんね^^; これじゃ分岐性ゼロです。 その点、繰り返し文は俗に無限ループと呼ばれることができます。 ちなみに、真は0以外なので別に1の場所は2だろうが-1だろうが問題ないです。 ただ、そのままでは永遠にプログラムが終わらないバグプログラムになってしまいます。 そこで、無限ループにした場合は、break文を必ず使いましょう。 break文を使うことで、無限ループから強制的に抜けることができます。 では、再び例を示します。 この例ではiが49になったらif文の条件が真になり、break文が処理されます。 それ以外は先ほどの例と全く同じです。 例題1:1から100までの数を足した合計を表示してください。(無限ループは使用しない事) 2:1から5までの数をかけた合計を表示してください。(無限ループは使用しない事) 解答例 ここまで来たらこの第十二章は終了です。 ここに書いてあることが分からない場合は記事にコメント、もしくはメールをお願いします。 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2007.04.23 12:31:37
コメント(0) | コメントを書く
[C言語] カテゴリの最新記事
|
|