なりましたよね?上のfor文を使ったプログラムでもこれと同じ出力結果になります。上のプログラムと下のプログラム、結果的には同じですが、書き方は全然違います。どこが違うかを探してみましょう。ループに入る前のi=1;つまり最初にiに数字を入れる代入の式の有無があります。while文ではありますが、for文にはありません。その代わり、for文の条件の括弧の中に似たようなものがありますよね。for(i=1;i<=5;i++){この一番左の部分にそしてこの真ん中の部分はwhile文の時の条件と同じであることがわかります。右、i++というものですが、これはwhile文のどこかで見覚えがありませんか?while文の下から4行目にありますよね?i++;って。これはiに1を足すという、インクリメント演算子とかいうやつでした。これ、for文の方ではありませんよね?違いといえば、こんなものでしょうか。この違いはどういうことかといいますと、つまりwhile文で回数ループを行うときは、プログラム内で最初のiの値を代入する文を書いたり、ループごとにiの値を増やすような文を個別に書かなくてはなりませんでした。全部for文の条件の中にまとめてかけるという訳です。ここでもう一回for文の条件の部分を確認しましょう。for(i=1;i<=5;i++){このようになっていて、i=1とi<=5とi++がセミコロン(;)で分けられていました。左の部分は「初期化」の部分と言われ、ループ前の変数の値を定義します。真ん中の文がwhile文と同じ条件の文になります。この「iが5以下である」という条件が成立する間この文を繰り返すという命令になります。右端がループ内の処理が1回終わるごとに行う命令を記述する部分です。今回はここにi++とありますが、これによって、このループ処理が一回行われるごとにiに1足していく処理になります。要するにこのプログラムの場合、ループは最初i=1の状態でスタートし、iが6になるまでループを繰り返します。一回ループ内の処置が終わるごとに、iの値が1ずつ増えていくようなプログラムになるのです。これがfor文の基本構造です。条件の確認の位置はwhile文と同じになるので、図にするとこのようになります。実はwhile文の使いまわしだったり(笑)とりあえずfor文は駆け足でしたが以上で終了です。次はもうひとつだけ条件文を紹介します。今度はif文を発展させたようなものになります。Comment(0)whileとdo~while、まぁ初歩ですね。(Mon)今日はなんとなくプログラムの記事の続きを書こうという気分になりました。今日はwhile文について、それとよくwhile文と対をなして示されることの多いdo~while文について書こうと思います。これらもif文と同じように、条件文の1種なのですが、if文はある条件が成立したらこっちの文、しなかったらこっち・・・という風に「分岐」を作る条件でした。これからやるwhile文やdo~while文は「ある条件が成立している間この文を繰り返す」という繰り返し、ループを作る条件文になります。i;i=1;while(i<=5){printf("%d回目のループです。i;i=1;do{printf("%d回目のループです。0;}この二つのプログラムはどちらも実行の結果は1回目のループです。