第3章 C言語の条件分岐 ~ if と for について ~
皆さんは前の章で、変数と変数の中身を表示することを習いましたね。 では復習で次のリスト5を打ち込んで下さい。 そして、先に実行結果を頭に浮かべてから、 プログラムを実行をして見て下さい。
— リスト5 —
#include <stdio.h> void main() { int count; count = 0; count ++; printf( "countは今%dです\n", count ); count ++; printf( "countは今%dです\n", count ); count ++; printf( "countは今%dです\n", count ); count ++; printf( "countは今%dです\n", count ); count ++; printf( "countは今%dです\n", count ); }
同じ処理の繰り返しが続きますね。 打ち込むのが、だいぶ面倒臭かったのではないでしょうか?
ワープロやエディタには、コピー&ペースト(貼り付け)機能が付いているので、 タイプ回数を減らすことはできます。しかし、それも本来だったら賢いやり方ではありません。 プログラマーは常に賢いやり方を求めるべきです。 実は、上のリスト5は以下のように書き換えることが出来ます。
— リスト5’ —
#include <stdio.h> void main() { int count; for (count = 0; count < 5; count++) { printf( "countは今%dです\n", count ); } }
たったこれだけに置き換わってしまいましたね。さっそく打ち込んで、実行してみて下さい。
C言語では同じことをなんども繰り返したい時に、forを使います (注13) 。forは英語で、「…の間、ずっと」と言う意味がありますから、まさにぴったしですね。
forはとても便利なものですからどんどん使いましょう。そして、forには以下のような決まりがあります。
for ( 初めの設定; 繰り返しを続ける条件; 繰り返す毎に行われる処理) { 繰り返したい処理 ; }
これは、先ほどのfor文は次のように書き換えられるということを意味しています。 もちろん、通常はこのような書き方はしません。
#include <stdio.h> void main() { int count; count = 0; for ( ; count < 5; ) { printf( "countは今%dです\n", count ); count++; } }
どうやら、forのパーツはそれぞれ省略できるようですね。 実はC言語の文法上では、for ( ; ; ) となっていてもコンパイルが許されてしまうのです。 しかし、これではループ条件がないために、永久にループしてしまいます (私は初め見た時、一度もループをしないのだろうと思いましたが)。
ここでいきなり質問です。先ほどの記述で、変数countは最後にはいくつになってるでしょう。
「count < 5」とあったから、4ですかね。それとも5ですかね。予想を立てた上で、皆さんで調べて見て下さい。
< 前のページへ 次のページへ >-
IS 559680 / ISO27001
認証範囲 本社、芝大門オフィス情報セキュリティ基本方針 -
個人情報保護方針
個人情報の取扱いについて
保有個人データ又は
第三者提供記録に関する
事項の周知について
特定個人情報の取扱いについて -
FS 671851 / ISO9001
認証範囲 本社、芝大門オフィス品質方針