CodeZine(コードジン)

特集ページ一覧

変数と演算子の演習

四則演算プログラム

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

目次

いよいよプログラムを実行する

 ようやくプログラムの実行文本体にたどりつきました。順に1行ずつ実行して動作を確認していきましょう。1行実行ボタンをクリックして、また1行実行させてください。図21のように、58行目の代入文a = 100 ;を実行して、マーカが59行目に移動します。

図21:変数aへの代入文を実行し終わった
図21:変数aへの代入文を実行し終わった

 さあ、ここでローカル変数ウィンドウを見てみましょう。図22のように、変数aの値が100になっているのがわかります。つまり、58行目のプログラムを実行することによって、変数aに値「100」が代入されたわけです。

図22:変数aの値が100になった
図22:変数aの値が100になった

 また1行実行させて、今度はb = 8;を実行します。さきほどと同様に、今度は変数bの値が8に変わります(図23)。

図23 変数bの値が8になった
図23 変数bの値が8になった

 続けて、1行ずつ実行しながらローカル変数ウィンドウで動作を確認していきましょう。次はc = a + b ;です。実行すると、図24のように変数cの値がa+b、つまり100+8で108になるのがわかります。

図24:変数cに計算結果108が代入された
図24:変数cに計算結果108が代入された

整数しか扱えない型

 次はc = c / 5 ;です。変数cは今108ですから、これを5で割ると21.6になるはずですね。実行してみたのが図25です。

図25:割り切れず余りが出る場合の演算結果
図25:割り切れず余りが出る場合の演算結果

 このように、小数点以下は消えてなくなっています。intcharは、整数しか扱うことのできない変数型なのです。演算の結果にもし小数点以下が含まれる場合は、このように「切り捨て」られてしまいます。

プチ解説

 別の見方をしますと、108÷5は、商(割り算の答)が21で余りが3です。演算結果は1つの変数にしか入れることができないので、割り算の場合余りがでるとそれは切り捨てられてしまう(入れ場所がなくて消えてしまう)のです。

 実は、商とは逆に余りだけを求める演算子というのがあります。商を求めるときは「/」でしたが、余りを求めるときは「%」を使います。

 もし興味があれば、あとで今回のプログラムの61行目c = c / 5 ;を、c = c % 5 ;に書き換えて、同様にビルド→SM+で実行を試してみてください。きっとcには演算の余りに相当する「3」が代入されるはずです。

 あと残り2行ですので一気にいきましょう。次はc = c - 41;です。図26のように、結果はちゃんとマイナスになります。

図26:答がマイナスになった場合の演算結果
図26:答がマイナスになった場合の演算結果

 最後はかけ算です。c = c * 5;は、-20を5倍するので、図27のように答は-100になります。

図27:マイナスの値の乗算結果
図27:マイナスの値の乗算結果

 以上、お疲れさまでした。単純な演算だけではありますが、C言語のプログラムが実行される様子を実感できたでしょうか。最後に[ファイル]メニューから[終了]を選んでSM+を終了させますと、図28のようなメッセージが出ます。ここは[いいえ(N)]をクリックして終了させてください。

図28:SM+の終了確認ダイアログ
図28:SM+の終了確認ダイアログ

 次回は論理演算子について解説を行います。それではまた。


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

バックナンバー

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

もっと読む

著者プロフィール

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

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

あなたにオススメ

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