反復処理の方法の中で最も単純なものが、条件を満たしている間処理を行う場合である。このwhile文のことを前判定処理という。
下図に示されているように、繰り返し判断の条件を満たしている時だけ処理行い、満足されなければ何も処理を行わないで、次へ進む。
<< 書き方 >>
用途 : 反復処理( 条件が満たされたときのみ処理 )
一般形式 : while ( 式 )
文
例 : while (i<size ){
x[i]=−1;
i=i+1;
int型配列xの全要素(要素数10)を2で初期化する
/*--------------------------------------------
配列の初期化
---------------------------------------------*/
#include <stdio.h >
#define size 10 /*配列のサイズ*/
main( )
{
/*配列と変数の定義*/
int x[size]; /*配列*/
int i; /*添字*/
i=0; /*iの初期化*/
while(i<size){
x[i]=2; /*配列要素の初期化*/
i+=1; /*iの再初期化*/
}
}
[実行結果]
x
|
|
|
|
|
|
|
|
|
|
解説
[流れ図]
【反復条件】 はじめに、式の値を評定し、その結果、真(非零)である間、文(反復処理の本体)を繰り返し実行する。while文では、処理の本体を実行するより先に反復条件が評価されるため、はじめから式の値が偽(0)であるとき、反復処理の本体を一度も実行せずに反復を終了することがありうる。
【配列のサイズの識別子化】 このプログラムでは、#defineをもちいて、配列のサイズに識別子をあたえている。このようにしておくと、サイズが変更になった時、数字だけへんこうすればよく、反復条件の意味もはっきりする。
【増分演算子】 反復パラメータは、1ずつ増やしたり、減じたりして、カウンタの役割を果すことが多い。C言語では、i=i+1であればi+=1(一般形ではi++)と表せる。また、i=i−1の時は、i−=1(i−−)で表せる。
次へ