アットウィキロゴ

ループ文その3

ループ回数が決まっているならfor文!

 以前にもループ文をいくつか紹介しましたが、もう1つ便利なループ文があるんです。
それがfor文です。f特徴は、ループ回数などループの条件式の他にループ毎で実行される式を定義することができます。
文章で説明するよりまずは実際に見てもらいましょう。書き方は以下のようになります。

for文
for( 式1; 式2; 式3 ) 文;
 
 

 最短で書くとこのような形になります。式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