第2章 C言語の基礎 ~ printf( ) と 変数について ~
さぁ、頭を切り替えて、変数の説明に戻りましょう。
変数が、足し算にしか使えないなんてことはあり得ないですね。 他にもいろいろな計算方法があるので見て行きましょう。 新しいファイルを作って、以下の記述を打ち込んで下さい。
– リスト4 –
#include <stdio.h> void main() { int val; int val2; val = 0; (1) printf( "valは%dです。val2は%dです\n", val, val2 ); val += 100; (2) val2 = val * 5; (3) printf( "val = [%d] val2 = [%d]\n", val, val2 ); val --; (4) val2 = 10 / 3; (5) printf( "val = [%d] val2 = [%d]\n", val, val2 ); }
実行結果はどうなりました? では順番に解説して行きましょう。
まず(1)は問題ないですね。「でも、最初に0を代入しても意味がないのでは」と 思った人もいるのではないでしょうか? 実は、変数は初めから0になっているとは限りません。 最初のprintf( ) の結果では、皆さんの画面には何て表示されましたか?
「val = [0] val2 = [4256004]」という具合になりませんでしたか。
変な数字が出てきましたね。つまり、変数は初めから0とは限らないもの (注12) なのです。上の例では、4356004となっていましたが、通常は何が入っているかはわかりません。
よく、0に初期化していないのに、val++なんてやってしまうことがあります。気を付けましょう。
次に(2)です。これは「val = val + 100」と同じ意味になります。 以前出てきたval++では、1しか増やせませんでしたが、これだといろんな値を増やせます。 しかし、C言語を作った人は本当に面倒臭がりだったのでしょうね。
(3)はただの掛け算です。val に5を掛けた結果をval2に代入しています。 ここで大事なのは、valは5倍になったりしないという事です。
(4)です。これは、いかにも++と反対の意味がありそうですね。 実はその通りで、元の値から1だけ引いてくれます。簡単ですね。 もちろん、(2)と同じような「val -= 100」という書き方もあります。
(5)は割り算です。val2は、int型(整数型)なので3.3333・・・ とはなりません。 3になっていますね。小数点まで求めたい場合は、f loat型(浮動小数点型)の 変数を使わなければなりません。
割り算の余り部分の方が欲しい場合には、「val2 = 10 % 3」とします。 この場合だと、1がval2 に入ります。
最後になりますが、連続した計算もできますのでやってみて下さい。
val = 100 * 20 / 10 + 50 / 10 * 100;
計算する順序は、皆さんが良く知ってる算数と同じです。 ですから、上の式はこう書き直した方がわかりやすくなります。
val = (100 * 20 / 10) + (50 / 10 * 100);
さぁ、これで変数の説明は一旦終わりにします。わからないことはないですか? 段々難しくなっていきますから、わからないことは今の内に講師に聞いて、はっきりさせておきましょう。
– まとめ –
-
IS 559680 / ISO27001
認証範囲 本社、芝大門オフィス情報セキュリティ基本方針 -
個人情報保護方針
個人情報の取扱いについて
保有個人データ又は
第三者提供記録に関する
事項の周知について
特定個人情報の取扱いについて -
FS 671851 / ISO9001
認証範囲 本社、芝大門オフィス品質方針