
前回の講座はこちら
●変数
今日から変数の話を始めるで。泉、変数って何だか解るか?
えーと、変な数?
なわけあるかい。そやな、今回もマンガしか解らない泉さんが理解できるように図にして説明しようか。変数とは?
変数を一言で言ってしまえば、データを一時的に保管しておくための領域です。しかし、それだけでは?と首を捻ってしまう人も多いと思います。
ですから、ここではそれをきちっと理解するために、キーボードで入力した1と2という数字を足し算して、答えであるaをディスプレイに表示するというプログラムを解説していきます。
まずキーボードで1と2という数字を入力します。
その数字はコンピュータの中のメモリ(主記憶装置)の一部分に、とりあえず記憶されます。
次にそのとりあえず記憶した場所から取り出し、コンピュータの演算装置(CPU)で計算します。
計算した結果は、これもまたメモリの一部分に保管されます。
そして、メモリの一部に保管された数値がディスプレイに表示されます。
さて、最初に変数とはデータを一時的に保管しておくための領域と説明しました。
つまり打ち込んだ数値を一時的に保管したメモリの一部分、計算した答えを一時的に入れておいたメモリの一部分、これが変数になります。
なるほど。コンピュータで計算するためには、いったんメモリの中に数字を入れなくちゃいけないんですね。で、そのメモリの一部分が変数と・・・
そや。ただし、ここで注意して欲しいのは変数には型があるってことや。
型?
そう。型ってのは確保する領域のサイズとか性質やな。これに注意しておかなかったらデータが入りきらなかったりすることがあるんや。 変数の型について
データを一時的に保管しておくメモリの領域、それが変数だと説明しました。しかし、その変数には「型」という種類があります。
たとえば文字型であるchar型という変数が存在します。このchar型の変数に入れることができるデータは1バイトのみです。ですからchar型に1バイト以上のデータを入れることは不可能です。
それではC言語で使われるそれぞれの変数の型について説明していきましょう。
まずは文字型。プログラム上ではcharと表現されるためchar型と呼ばれたりもします。小さなサイズの変数ですが、アルファベット一文字分を入れるのに適してるため文字型と呼ばれるようになりました。
次に整数型。整数とは0、1、2、3・・・と足したり、逆に引いたりして表現することができる数のことです。short型、int型、long型と種類があり、それぞれ確保される領域のサイズが違います。(※short型が最も小さい領域で、long型が大きい領域。しかしパソコンによってはint型とlong型の確保できる領域は同じだったりもする)
最後は浮動小数点型です。C言語では、この型を使用することによって小数以下がある数を変数の中に入れることが出来ます。float型とdouble型と存在しますが、floatは単精度、double型は倍精度と呼ばれ、それぞれ表現できる桁数が違います。
それじゃ、変数のことがだいたい解ったから実際のプログラムを打っていこうか。プログラムの意味は各ポイントで説明していくで。 【変数を使ったプログラム】
次のようなプログラムを作成して保存しましょう。
① まずはプログラムの先頭にお決まりのインクルードとメインを書きます。
② 次に変数を宣言します。変数の宣言とは、「このプログラムではこういう名前の変数を使うんだよ」とコンピュータにちゃんと指示することを言います。
(C言語では、このようにプログラムの冒頭で変数宣言をしないと変数は使えません!)
ちなみに変数名は、ほとんど自由に付けることができますが、以下のようなルールがあります。
- 大文字と小文字は区別する。
- 使える文字は英字、数字、$、_など。
- 1文字目に数字を使ってはならない。
- 予約語と重複してはならない。予約語とはプログラムの関数や命令文などで使用される言語のこと。
- false,ture,nullは不可。
- 文字数は31文字まで。
③ printf関数を使って文字列を出力するプログラムを書きます。
④ scanf関数を使ってキーボードから入力した数値を変数の中に入れるプログラムを作ります。
⑤ そして今度はキーボードから入力した数値をprintf関数で出力するプログラムを作ります。
ちなみに、上のscanf関数でも使われていましたが、%dはprintf関数の書式指定文字と呼ばれます。これはprintf関数などにおいて変数をどう表現するか(入力するか)を設定する文字で、他にも%cや%fといった書式指定文字があります。
書式指定文字
%d 整数で表示 %c 文字で表示 %f 実数(小数も含めた数)で表示
プログラムはちゃんと出来たか? ビルドして次のようにプログラムができたら完成や。
できましたー!
よし。じゃあ、今回はここまでや。次は変数を使って計算させたりするプログラムを立てる予定や。
ではまた次回!このスレッドを許可なく転載することを禁じる。
KJアニメ板盛り上げ委員会