SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

たった5つのルールではじめるC言語開発

while文の演習と関数


繰り返し、ループ三兄弟の末の弟 do~while

 さて、制御文の最後をしめくくるのはdo~whileです。末の弟は目立たない性格で? これは実際の組み込みプログラムでもほとんど使いません。しかし、場合によってはforwhileには置き換えできない便利な繰り返し処理です。まずは文法から見てみましょう。

 do~while文の文法は、以下のとおりです。

do{     実行文1;     実行文2;         : } while (条件);

 while文とは条件判断の位置が違いますね。while文では、まず条件を判断します。最初から条件に一致しなければ、実行文は一度も実行されません。一方でdo~whileは、とりあえずまず実行文をやって、それから条件判断をします。「ごちゃごちゃ言わずに、まずはやってみて話はそれからさ!」という、目立たないけど実行タイプな弟です。

 少しわざとらしい例を示します。似たような処理をwhile文とdo~while文で書いたのが以下です。

(a)
while( i < 5 ){   i = i + 1; }
(b)
do{   i = i + 1; } while (i < 5 );

 これらは、変数iがどのような値で繰り返し処理に入るかで結果が異なります。iが0の場合、(a)(b)とも、繰り返しを抜けたときiの値は5です。

 しかし、もともとiが5だったらどうしょう。(a)では、最初の条件判断ではじかれて繰り返し処理に入りませんから、iは5のまま通り過ぎます。一方(b)では、先にi = i + 1;が実行されますので、繰り返し処理を抜けたあとiは6になります。

 do~whileはマジカルボックスのプログラムの中にも登場しますので、実例はそこで見てみてください。

次のページ
5ルールの4つめ、関数

この記事は参考になりましたか?

たった5つのルールではじめるC言語開発連載記事一覧

もっと読む

この記事の著者

舘 伸幸(タチ ノブユキ)

NECマイクロシステム株式会社 勤務NPO法人SESSAME 所属開発ツールのソフトウェア開発を経て組込みソフトウェア開発に従事。プライベートにも半田ごては手放さない。2006年からSESSAME に参加。若い世代に物を作る楽しさを伝えていきたい。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3730 2009/03/26 17:07

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー