3 文法の説明

3.1 scanf()関数の書き方

教科書には,整数の例しか記述されていない.諸君のように科学技術を学ぶ者には,実数 の取り扱いも必要である.そこで,整数と実数を変数に代入する方法を説明する.

3.1.1 整数の場合

データを入れる変数を使うためには,まず変数を定義する必要がある.例えば, hogeという整数型の変数を定義するためには,
	int hoge;

と書く.これで,整数を格納できる入れ物hogeが用意できた.キーボー ドから,この変数にデータを代入するには,
	scanf("%d",&hoge);
 

と書く.この文は,次のように解釈する(図4も参照のこと).

3.1.1.1 注意

図 4: キーボードからデータを変数に取り込むscanf関数の意味
\includegraphics[keepaspectratio,scale=1.0]{figure/scanf.eps}

3.1.2 実数の場合

変数宣言のintdoubleに,そして%d%lfに変えれば,実数が取り扱える. すなわち,変数宣言を
	double fuga;

とし,キーボードからの取り込みのために,
	scanf("%lf",&fuga);
 

と書く.lfは,long floatの頭文字である.

3.1.3 まとめ

整数と実数の両方の勉強を進めてきたので,少し混乱している人がいるかもしれない. そこで,整数と実数を使うために必要なことを,表1にまとめる. この表があれば,実数と整数のどちらのプログラムも可能であろう.

表 1: 整数と実数を使う場合の変数宣言など
  整数  実数
変数の定義 int double
キーボード入力 scanf %d %lf
ディスプレイ出力 printf %d %f

3.2 scanfがあるときの動作

コンピューターは信じられないくらい高速に計算を行う.いままで,作成したプログラム の結果は,一瞬にして結果が出たであろう.キーボードからデータを読み込むscanf がある場合,少し事情が異なる.コンピューターは,scanfに出会うと,ユーザーが データを入れるまで,待っている.キーボードからのデータが入力されるまで,何もしない で,待っているのである.そして,キーボードから,入力されると次の文を実行する.


ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成18年5月24日


no counter