for文が分からなくなったら、括弧の中を「開始時にすること」「繰り返す条件」「1回終わった後にすること」に分けてみます。
1から5まで表示する
for (int i = 1; i <= 5; i++) {
printf("%d\n", i);
}int i = 1 は最初に1回だけ実行されます。i <= 5 が真なら本体を実行し、その後に i++ で1増やします。再び条件を確認し、偽になったら終了します。
逆順にすると、条件も変わる
for (int i = 5; i > 0; i--) {
printf("%d\n", i);
}表示は5、4、3、2、1です。i > 0 は「0になったら止める」という命令ではなく、「0より大きい間は続ける」という条件です。0も表示するなら i >= 0 にします。
まず紙に3回分を書いてみる
iの値、条件の真偽、表示内容を順に書きます。更新後の値と、今表示している値を分けると、ループの動作を追いやすくなります。
上記のコードは、#include <stdio.h> を記述したC99以降のプログラムのmain関数内で試せます。