データの種類によって,記憶する方法や必要なメモリーの大きさが異なる.そのため,デー タには型を決めなくてはならない.その型には文字型や整数型,実数型がある.それぞれ は,表2のようにさらに細かく分類できる.取り扱うデータに よって,最適な型を選択する必要がある.
いろいろな型があるが,諸君が使うのは以下の3つである.本講義では,これ以外の型を 使うことはないだろう.まず,この3つの使い方に慣れよ.
表2を見て分かるように,文字型の範囲は整数となっている.
これは,文字を整数で表しているためである.教科書p.374の付録1 ANSI(ASCII)コード表
に文字と整数の対応が書かれている.
| 型名 | データ型 | ビット数 | 範囲 |
| 文字型 | char | 8 | -128〜127 |
| singed char | 8 | -128〜127 | |
| unsinged char | 8 | 0〜255 | |
| 整数型 | short int | 16 | -32768〜32767 |
| signed short int | 16 | -32768〜32767 | |
| unsigned short int | 16 | 0〜65535 | |
| int | 32 | -2147483648〜2147483647 | |
| signed int | 32 | -2147483648〜2147483647 | |
| unsigned int | 32 | 0〜4294967295 | |
| logn int | 32 | -2147483648〜2147483647 | |
| singed long int | 32 | -2147483648〜2147483647 | |
| unsigned long int | 32 | 0〜4294967295 | |
| 実数型 | float | 32 | 正負とも約 |
| double | 64 | 正負とも約 |
|
| long double | 96 | 正負とも約
|
char a, b, hoge; int i, j, fuga; double x, y, foo;
代入演算子は,以下のようにして使う.
a='f'; hoge=a; i=3456; fuga=i+789; x=3.1415; foo=x/9.876;
キーボードから読み込む場合は,以下のようにする.
scanf("%c",&hoge);
scanf("%d",&fuga);
scanf("%lf",&foo);
printf("%c\n",hoge);
printf("%d\n",fuga);
printf("%f\n",foo);
実数型のデータの表示には,変換仕様%fを使ってきた.これだと,非 常に大きな数や小さい数を表示する場合,不便である.ゼロがたくさん並ぶことになり, 見苦しい.このような場合,指数形式%lfが適している.また,新しいC言語の仕 様C99ではscanfとの対応を考えて,%lfが使えるようになっている.
printf("%e\n",foo);
printf("%lf\n",foo);
以上をまとめると,表3のようになる.