教科書には,整数の例しか記述されていない.諸君のように科学技術を学ぶ者には,実数
の取り扱いも必要である.そこで,整数と実数を変数に代入する方法を説明する.
データを入れる変数を使うためには,まず変数を定義する必要がある.例えば,
hogeという整数型の変数を定義するためには,
int hoge;
と書く.これで,整数を格納できる入れ物
hogeが用意できた.キーボー
ドから,この変数にデータを代入するには,
scanf("%d",&hoge);
と書く.この文は,次のように解釈する(図
4も参照のこと).
- 「scanf」は,キーボード2からデータと取り込め--という命令.
- 「%d」は,キーボードのデータは10進数の整数3とみなす--ということを
示している.
- 「&hoge」は,キーボードからのデータは変数hogeに格納する--と
いうことを示している.
- scanfの中のダブルクォーテーションで囲まれた部分に,
n
や
tを書いてはならない.ディスプレイに出力するわけではない
ので,これらは関係ない.
- 変数名の前に&を書かなくてはならない.詳細は教科書の8章を学習しない
と分からない.当面はおまじないと考える.
図 4:
キーボードからデータを変数に取り込むscanf関数の意味
|
変数宣言の
intを
doubleに,そして
%dを
%lfに変えれば,実数が取り扱える.
すなわち,変数宣言を
double fuga;
とし,キーボードからの取り込みのために,
scanf("%lf",&fuga);
と書く.
lfは,long floatの頭文字である.
整数と実数の両方の勉強を進めてきたので,少し混乱している人がいるかもしれない.
そこで,整数と実数を使うために必要なことを,表
1にまとめる.
この表があれば,実数と整数のどちらのプログラムも可能であろう.
表 1:
整数と実数を使う場合の変数宣言など
|
整数 |
実数 |
変数の定義 |
int |
double |
キーボード入力 scanf |
%d |
%lf |
ディスプレイ出力 printf |
%d |
%f |
コンピューターは信じられないくらい高速に計算を行う.いままで,作成したプログラム
の結果は,一瞬にして結果が出たであろう.キーボードからデータを読み込む
scanf
がある場合,少し事情が異なる.コンピューターは,
scanfに出会うと,ユーザーが
データを入れるまで,待っている.キーボードからのデータが入力されるまで,何もしない
で,待っているのである.そして,キーボードから,入力されると次の文を実行する.
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成18年5月24日