まず、以下のプログラムを打ち込んでみましょう!

list2-8

明解C言語でいうとP28~ぐらいです。
実行結果と簡単な解説は続きから!!↓↓

 
実行結果
list2-8_r

int型である変数n1には2が代入され、n2,n3,n4には2.5が代入されます。 
しかし、代入時には小数点以下の部分は 切り捨てられるので、これら4つの変数には全部2が代入されています。
 また、double型である変数d1には2が、d2,d3,d4には2.5が代入され、それらの値が代入されています。

※浮動小数点数は、無限の制度をもつわけではない。すべての値を正確に表現できるとは限らない。
詳しくは、明解C言語のP172をご覧ください。


つぎに、以下のプログラムを打ち込んでみてください。
list2-10

実行結果
list2-10_r

( 型 ) 式

で あらわされている、このような明示的な型変換をキャストといい、( )をキャスト演算子という。

(型名)an = anの値を型名で指定された型の値に変換したものを生成。

したがって、上記プログラムの15行目

(double) (na + nb) では、
na + nb の値をdouble型で表現した値に変換したものを生成。
式(na + nb)はdouble型へとキャストされるので、平均を求める式は、

実数 / 整数

となり、平均値を実数として求めている。


演習 してみましょう。
これらを説明した内容をつかって以下のプログラムを書いてみてください。
①2つの整数を入力してもらい、2つ目の整数が1つ目の整数の何倍かを少数第2位まで表示するプログラム(ただし、変数はint型を使うこと)

② 円をウォン(won)に変換したときのレートの値を、円の値とウォンの値を入力してもらい、100ウォンが何円にあたるかを小数第2位まで計算するプログラム




------------------------解答例 ------------------------

 
ex09


ex10
 

最後に、C言語を初めて書こうと思っているかたにおすすめの技術書を紹介します。
こちらです↓↓

スポンサーリンク