師匠 :君達かね…私のところに弟子入りしたいと言っていた者は……。
弟子A:はい! 師匠にC言語を教えてもらう為に、ここまで来ました。
弟子B:……来てやったぞ。(ぼそっ)
弟子A:師匠に対して、口の聞き方を改めた方がいいと思うよ。
弟子B:……フン!
師匠 :……まぁ、今日のところは良しとしよう!
早速だが、C言語を少しずつだが伝授してやろうかの?
弟子A:はい! 有難うございます!!
弟子B:……まぁ、当然やね!!
(弟子Bを睨み付ける師匠。)
師匠 :まずは、下の表を見てくれい!
弟子A:この表ですね!
データ型 | 扱える値の範囲とサイズ | 説明 |
char(キャラ) | -128〜127と文字
1バイト(8ビット) |
'a'や'0'という1文字と整数を扱う型。 |
short(ショート) | -32768〜32767
2バイト(16ビット) |
1や666といった整数を扱う型。 |
int(イント) | 処理系依存
2バイト(16ビット)か 4バイト(32ビット) |
コンパイラによって、shortかlongと同じになる。詳しくは、使っているコンパイラのヘルプを読もう。 |
long(ロング) | -2147483648〜2147483647
4バイト(32ビット) |
-108976や308865といったshortでは扱え切れない整数を扱う型。 |
float(フロート) | ±3.4×10-38〜±3.4×1038
4バイト(32ビット) |
3.141592のように、小数を扱う型。 |
double(ダブル) | ±1.7×10-308〜±1.7×10308
8バイト(64ビット) |
これも小数を扱う型だが、
float型よりも、扱う数が大きいときに使う。 |
弟子A:あの……ビットとかバイトって何ですか?
師匠 :コンピューターは、内部では2進数で表現されておる。
弟子A:2進数って何ですか?
師匠 :0と1だけで表現される数じゃ!
予断だが、日常的に使っている0〜9の数で表現される数を10進数と呼ばれておる。
弟子B:じゃ、10とか-5とかは、どうやって表現すんねん! どう考えても無理やろ!?
師匠 :それなら、簡単に出来るぞ! 1バイト時で、10だと、00001010、-5だと11111011と表せるのじゃ!
2進数の話は奥が深いのでこれ位にしておくかの……?
その0か1の数が8つあるから、8ビットという感じじゃ!
そして、1バイト=8ビットであるのじゃ!
弟子A:はい! 勉強になりました!!
弟子B:……。
師匠 :もう一度、この表に注目して欲しい。
もし、扱える数を超す(オーバーフロー)と、
演算結果が変になってしまうから、注意するんじゃぞ!!
弟子A:はい! 気を付けます!
師匠 :次は、型の宣言の仕方じゃ!!
仮に変数aをint型として宣言したいならば、
int a; |
と、プログラムの最初に宣言するのじゃ!
弟子B:ちょっと待て!! 最後に「;(セミコロン)」が付いてんぞ!
ボケちまったのか! 爺さんよ!!
師匠 :鋭い突っ込みじゃな!
C言語では、1つ1つの命令の最後には、;(セミコロン)を必要とするんじゃ!
(一部、例外があります。それは、今後の講義で教えます。)
これが無いと、コンパイル(実行ファイルにする事)時にエラーが返されるぞ!
弟子A:細心の注意を払います! 師匠!
弟子B:そんな単純なもの忘れる奴は、単なるアホやんけ!
師匠 :いやいや、プロのプログラマーでも、忘れる人がおるようじゃ!
単純すぎるからこそ、うっかり忘れてしまった記憶ぐらいあるであろう?
弟子B:……うう!!
弟子A:はい、恥ずかしながら……。
師匠 :気をつけてくれい!
師匠 :おっと、もう日が暮れておる……。
飯でも食って床につくとするか……。
弟子A:そうしましょう!
弟子B:ふぅ〜……。腹が減って死にそうや!
師匠 :では、皆の衆……また明日な!!