do-while文

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)となって出力される・・・。

Sample/do_while.c at master · bg1bgst333/Sample · GitHub