000000 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

giru0116のブログ

giru0116のブログ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2007.01.10
XML
カテゴリ:C言語
さて、前回までで制御文の中の分岐文の説明が終わりました。
今回は繰り返し文を紹介します。

if文は条件が真の時、{ }内を実行する制御文でした。(1行の時は{ }は不要)
繰り返し文は条件が真の時、{ }内を何度でも実行します。十二章では最も簡単なwhile文を紹介します。

while文



タイトルと同じ名前の節ってどうかとも思いますけどね・・・^^;
まぁ、それはいいとしてwhile文はwhile(条件) { 処理内容 }と書きます。
ifでもswitch文でもそうでしたが、制御文では } の後にはセミコロンは付けてはいけません
さて、いつも通り例を出してから詳しく説明します。

while01

ここでついに以前紹介していたインクリメント演算子が出てきましたね。
忘れた方は第九章を参照してください。では、この例の説明に入ります。

まず、最初に変数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文を使うことで、無限ループから強制的に抜けることができます。

では、再び例を示します。

while03

この例ではiが49になったらif文の条件が真になり、break文が処理されます。
それ以外は先ほどの例と全く同じです。

例題


1:1から100までの数を足した合計を表示してください。(無限ループは使用しない事)

2:1から5までの数をかけた合計を表示してください。(無限ループは使用しない事)

解答例

ここまで来たらこの第十二章は終了です。
ここに書いてあることが分からない場合は記事にコメント、もしくはメールをお願いします。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2007.04.23 12:31:37
コメント(0) | コメントを書く


PR

キーワードサーチ

▼キーワード検索

プロフィール

giru0116

giru0116

カレンダー

お気に入りブログ

まだ登録されていません

コメント新着

かほほほほ@ Re:ネイピア数(02/16) やっと見つけました! さがしていたので嬉…
通りすがり@ 見つけた! 円周率は結構載ってるんですが、 自然対…
無料@ アクセス記録ソフト 無料 楽天 アクセス記録ソフト! http:/…
無料@ アクセス記録ソフト 無料 楽天 アクセス記録ソフト! http:/…
無料@ アクセス記録ソフト 無料 楽天 アクセス記録ソフト! http:/…

フリーページ

ニューストピックス


© Rakuten Group, Inc.
X