CodeZine(コードジン)

特集ページ一覧

条件分岐

制御文その1

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/10/07 11:00

目次

条件を変えて試してみよう

 では次に、変数Varの値を変えて試してみましょう。プログラムを書き換えてビルドし直さなくても、シミュレータSM+では途中で変数の値を変更することができますので、その機能を使います。まずはCPUリセットアイコンをクリックしてプログラムを初期状態に戻します。

 変数の値を見たり変えたりするには、記事「シフト演算」で登場したローカル変数ウィンドウを使います。ここでもう一度おさらいしましょう。まずは図4のように、[ブラウズ]メニューから[ローカル変数(L)]を選びます。

図4:ローカル変数ウィンドウを呼び出す
図4:ローカル変数ウィンドウを呼び出す

 図5のようなウィンドウが開きます。この状態でをクリックして1行実行します。変数宣言を実行すると、図6のようにローカル変数ウィンドウに、変数Varが自動的に表示されます。値が0x01となっていますが、これは記事「シフト演算」でも説明したように、メモリの中にもともとあった意味のない値です。初期状態では16進数表示なので、図7のように「Var」を右クリックしてメニューを出し、表示を10進数にしておきましょう。

図5:ローカル変数ウィンドウ(まだ何も表示されていない)
図5:ローカル変数ウィンドウ(まだ何も表示されていない)
図6:変数宣言を実行すると自動的に変数が表示される
図6:変数宣言を実行すると自動的に変数が表示される
図7:メニューを出して表示を10進数に変更する
図7:メニューを出して表示を10進数に変更する

 次に、でもう1行実行します。これで5行目の変数Varへの代入が実行され、図8のようにローカル変数ウィンドウの値の表示が、代入値通り5になります。

図8:代入を実行して変数Varの値が5になった
図8:代入を実行して変数Varの値が5になった

 次に条件判断のif文を実行しますが、ここで変数の値を書き換えてしまいます。ローカル変数ウィンドウで値をクリックするとそこにカーソルが現れます。キーボードを使って、ここでは10にしてみてください。そしてでif文を実行してみます。

 変数Varは10になっていますから、最初の条件「Varが10未満なら」は成立せず、次のelse if文「Varが20未満なら」へ制御が移ります(図9)。

図9:Varが10なので最初の条件は成立しなかった
図9:Varが10なので最初の条件は成立しなかった

 さらにでもう1行実行してみます。変数Varの値は20未満ですから、今度は条件が成立して、制御は11行目の実行文へ移ります。1行実行すると、Varは+2されて12になり、if文全体から抜けます(図10)。

図10:else if文の条件が成立して、その実行文へ移動する
図10:else if文の条件が成立して、その実行文へ移動する

 でリセットすれば、何度でも同様の実験をすることができます。変数Varをいろいろな値に変えて実行してみましょう。

 たとえば、最後のelseの実行文(14行目)を実行してVarを0にするには、どうすればいいでしょう。もうおわかりですね?当たっているかどうかは、SM+で確認してみてください。

次回は

 切りがいいので今回はここまでです。次回は、もうひとつの制御文、繰り返しを学びます。条件分岐は処理の流れが枝分かれさせるものでしたが、繰り返しは条件を使って同じ処理を繰り返す動作をします。今回のif文がわかれば、むずかしくありません。それではまた。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

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

もっと読む

著者プロフィール

  • 舘 伸幸(タチ ノブユキ)

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

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5