プログラミングでのループ変数 i の初期値と使い分けの基本

C言語関連

プログラミング初心者の方がよく疑問に思うのが、ループ変数 i の初期値です。特に「なぜ2行目で i=1 になるのか」「0と1はどのように使い分けるのか」といった質問が多くあります。

ループの基本と i の初期値

プログラムで繰り返し処理を行う場合、for 文や while 文でカウンタ変数を使います。例えば for 文では for(i=0;i<5;i++) のように書くことがあります。

ここで i の初期値を 0 にするか 1 にするかは、配列の添字や処理の回数に応じて決めます。C言語やJavaScriptの配列は 0 から始まるため、添字に合わせて i=0 とすることが多いです。

なぜ 2 行目で i=1 になるのか

for 文では初期化、条件判定、更新の順に処理が進みます。例えば:

for(i=0;i<5;i++){
// 処理
}

1 行目で i=0 と初期化されますが、ループが 1 回目の条件判定を通過すると i はまだ 0 のまま処理されます。そして 1 回目の処理が終わった後に i++ によって i=1 になり、2 回目のループで i=1 から処理が始まります。

0 と 1 の使い分けの基準

配列やリストのインデックスが 0 始まりの場合は i=0 を初期値にします。例えば JavaScript で配列の最初の要素にアクセスする場合です。

逆に、人間に馴染みのある 1 始まりの番号付けを意識する場合や、カウントを直接出力したい場合には i=1 から始めることがあります。

実例で理解する i の使い分け

例えば 5 回繰り返して “処理中” と表示する場合:

for(i=0;i<5;i++){
console.log(i); // 0,1,2,3,4
}

この場合は 0 から始めると配列の添字と同じになります。1 から始めたい場合は:

for(i=1;i<=5;i++){
console.log(i); // 1,2,3,4,5
}

このように用途に応じて初期値を選ぶのがポイントです。

まとめ

ループ変数 i は初期値の選び方で処理の開始位置が変わります。配列の添字や処理回数に応じて 0 始まりか 1 始まりかを選択することが基本です。

for 文の処理順序や具体例を確認することで、なぜ 2 行目で i=1 になるのか、0 と 1 をどう使い分けるかが自然に理解できます。

コメント

タイトルとURLをコピーしました