do-while文も繰り返し処理の構文の一種・・・。
do-whileは、
do{ <繰り返したい処理>; }while (<条件式>);
と書く・・・。
while文と違うのは、条件式が後ろにあるということ・・・。
そして、これにより、最初の1回は無条件で必ず実行されるという特徴がある・・・。
ここでは、前回のwhile文の頁で作った、nからmまでの総和(n <= m)を求めるプログラムをdo-while文に書き換えてみる・・・。
whileの処理をdo-whileに書き換えると、
後ろの条件式が真(非ゼロ)の場合は、doの部分まで戻って処理を繰り返す・・・。
この修正で、nがmより大きい(n > m)ときの挙動が変わる・・・。
whileでは、
$ ./while n( <= m): 5 m( >= n): 3 sum(n, ..., m) = 0
というように、nがmより大きいとwhile文が1度も実行されないため、xの初期値の0がそのまま出力される・・・。
しかしdo-whileでは、
$ ./do_while n( <= m): 5 m( >= n): 3 sum(n, ..., m) = 5
必ず1回は実行されるので、xはnの初期値(この場合は5)となって出力される・・・。