スペース、タブ、復帰(文の先頭に戻る)、改行(次の行に移る)、改ページ(次のページに移る)等は空白文字とよばれ、画面には表示されません。空白は幾つあっても1つの空白と見なされます。(行を指定できる)改行文字も空白と同じあつかいですからコンピュータにとって行があろうがなかろうが同じで、C言語では行という概念はありません。ただ、人間が見やすいように、改行してプログラムを書いていきます。
C言語で使う数値として、10進数や16進数等の数字が扱えます。
種類 |
表記法 |
内容 |
種類 |
表記法 |
内容 |
8進数
|
033
|
0〜7の数字先頭に0を付ける
|
10進数
|
123
|
0〜9の数字先頭は0以外の数字
|
16進数
|
0x1b
|
0〜9,A〜F(a〜f)の数字先頭に0X(0x)を付ける
|
|
unsigned型 |
123U |
末尾にU(u)を付ける |
long型 |
123L |
末尾にL(l)を付ける |
unsigned long型 |
123UL |
末尾にUL(ul)を付ける |
|
小数点形式 |
3.1415 |
ピリオドを使う |
指数形式 |
3.141E00 |
E(e)を使う |
float型 |
123.0F |
末尾にF(f)を付ける |
long double型 |
123.0L |
末尾にL(l)を付ける |
1文字 |
'a' |
’で囲む(文字の数値) |
制御文字 |
'\n' |
'で囲む(文字の数値) |
文字列 |
"Hellow" |
文字列を"で囲む |
|
コンピュータの頭脳は2進数で制御されている。2進数で何桁を取り扱っているかを、まず、教えておかないと何もわからない。そこで、何桁かを扱うかの取り決めをしておく。C言語では、数種類の桁数が設定されている。コンピュータに覚えやすい種類なので人間には覚えにくい。(教科書60ページの4・3「整数の取り扱い」と62ページの4・4「データ型」参照)
全部で2N種類の数は、負の数まで考慮に入れるかどうかを前もって指定する。(教科書60ページの5・3「負の数と整数」参照)
プログラム上では?
2Nの種類がある。ここで例として文字型をとってみよう。N=128のとき(文字型)で0〜255か−128〜127である。とにかくコンピュータは256種類しか数がないので、入りきらないときは、また、元に戻って、初め(0か−128)から勘定して行く。例えば、
が成立する。(教科書62ページの4・3・3「オーバーフロー」と62ページの5・3・3「データ数値のオーバーフロー」参照)
IEEE(米国電気電子技術者協会)の形式に従うのが標準だが。。。。C言語開発社によって違っている。小数点の数といえども、2進数なので、人間の区切りのいい数、例えば「0.1」は、コンピュータの2進数では、限りなく「0.1」に近い数ということになる。常に、誤差をふくんでいることに注意。(教科書63ページの4・4「データ型【3−1】実数型」以降参照)
その他に、long double型:0〜±約104932がある
画面に表示される文字などを見やすいように、並べたり、行替えしたり、する制御コードは¥記号と組み合わせて使用する。(教科書88ページの6・4・4「エスケープ文字」参照)
「'」や「”」には特別の意味があり、「'A'」は数値「65」で「文字数値」になっている。また、"abc"で文字列を表すように使用されている。
と画面に表示させるには
のように「\"」や「\'」を用いる。
printf関数は、単なる文字列の表示だけでなく、数値の表示もできます。ただし、数字の大きさ毎に、適切な指定が必要です。
指定を間違えると、値が目茶苦茶になったりする。
プログラムの例(repo2.c)
使用しているVC++6.0(Microsoft)での整数や小数点数の取れる値を表示します。(教科書72ページの5・2・2「最小値・最大値・大きさ」参照)
sizeof演算子:自動的にデータ型で使用するアドレスの数を計算してくれる。
データ型 |
sizeof演算子 |
計算値 |
文字型 |
char |
sizeof(char) |
1 |
短い整数型 |
short |
sizeof(short)
|
2 |
長い整数型
|
long |
sizeof(long)
|
4 |
整数型 |
int |
sizeof(int)
|
2か4 |
倍精度浮動小数点型 |
double |
sizeof(double)
|
8 |
長倍精度浮動小数点型
|
long double |
sizeof(long
double)
|
8以上 |
この計算値を実際にプログラムで表示させる。
データ型 |
最小値 |
最大値 |
文字型 |
char |
CHAR_MIN |
CHAR_MAX |
短い整数型 |
short |
SHRT_MIN |
SHRT_MAX |
長い整数型
|
long |
LONG_MIN |
LONG_MAX |
整数型 |
int |
INT_MIN |
INT_MAX |
倍精度浮動小数点型 |
double |
DBL_MIN |
DBL_MAX |
長倍精度浮動小数点型
|
long double |
LDBL_MIN |
LDBL_MAX |
これらニックネームはlimits.h内で定義されている。
学生証番号と氏名を明記すること
必ず表紙を付け、このレポート問題を印刷し表紙の次にいれること
(A4レポート用紙)
- 3)短い整数型の変数xを用いたプログラム(short intと%hd)で「30000+10000」の結果を画面に表示させましたが「40000」にはなりませんでした。画面には幾つと表示されるたでしょうか?
の2点の提出と
- 何故、その数字が表示されたかその理由も、次の2通りで述べなさい。
- 4)文字型2進数8桁であることを知って-2を8桁の2進数であらわすこと。教科書74ページの5・3を参考にするとよい。
- 5)整数値の大きさについて・・・
- 整数値で最大の大きさは、長い整数型で与えられるが、その最大の数値:4294967295はどのように計算されたかを述べよ。
- 現在(2002年)のハードディスクの容量は180GBまである(1GB=1,073,741,824バイト=1024×1024×1024バイト)。
- 180GBのハードディスクの容量は、C言語での最大の値を与える長い整数型の範囲にないことを確認すること。
- 従って、新たな整数型を作らないと、180GBの容量を表示できるC言語プログラムが作れない。あなたならどのような整数を新たに作成するかを述べよ。