ループ回数が決まっているならfor文!
以前にもループ文をいくつか紹介しましたが、もう1つ便利なループ文があるんです。
それがfor文です。f特徴は、ループ回数などループの条件式の他にループ毎で実行される式を定義することができます。
文章で説明するよりまずは実際に見てもらいましょう。書き方は以下のようになります。
for文
最短で書くとこのような形になります。式1は1番最初に一度だけ実行されます。用途は初期化です。
式2にはループの継続条件が入ります。ここはwhile文の式と同様です。
式3はループカウンタ等の変数の増減を行う後処理の式が入ります。書かなければ省略されます。
まだわかりづらいと思うので、図にして見て行きましょう。
これでだいぶわかりやすくなったと思います。次は実際にコードを記述して理解していきましょう。
その前に綺麗に見やすくする記述法を提案したいと思います。
下の図の様にスペースやインデントを入れて見やすい様に書いておくと、後々見返した時などわかりやすいでしょう。
では今回もサンプルを用意しましたので実行してみましょう。
for文サンプル
/*
読み込んだ整数値を0までカウントアップ
*/
#include<stdio.h>
int main( void )
{
int no; // 入力格納変数
/* 値の入力 */
printf( "整数を入力:" );
scanf( "%d", &no );
/* ループ */
for( int i = 0 ; i <= no ; i++ )
{
/* 表示 */
printf( "%d\n",i );
}
return( 0 );
}
実行すると入力された数値までカウントアップされます。
for文では変数を使ってループさせていますが、式3以外の部分({}内など)で変数を書き換える処理を行うのはご法度です。
for、while、doどれを使えばいいか
for文もwhile文やdo文もどれもループ文です。
使い分けですが、判定条件が「~間は処理を継続」といった場合はwhileまたはdo文で処理します。
「~回ループさせる」という場合はforを使うといいでしょう。
最終更新:2013年01月06日 16:41