C言語Part3~変数~

今回から「変数」というものを扱っていこうと思います。

変数とは?

数学で登場した文字x,yのように中身が変化する数を「変数」といいます。
プログラミングの参考書には、よく
変数とは数値や文字を記憶する入れ物の事という説明があります。

変数の書き方と代入

まず次の数式を見てください。

a=10

数学では、aは10に等しいという意味でした。

C言語ではこれにセミコロンをつけた

a=10;

のように書いて、「変数aに10を代入する」という意味になります。
この場合aが変数となります。

数学では
a=10と10=aは同じ意味でした。
しかし、C言語では、
10=a;
のように書くことはできません。
あくまでも「=」の左にある変数に右の値を代入するという意味だからです。

また、
a+b=10; 
のように左辺に2つ以上の変数は使えません

では、

a=10;
a=20;

と書いた場合最後には、a に何が代入されているでしょうか?
答えは 20 です。変数には最後に代入した値しか残りません


a=1;
b=2;
c=a+b;

この場合、cに a+b を代入なので、cには3が入ります。
変数を使えば計算することもできます。


a=5;
a=a+10;

というプログラムもあります。
これは a に a+10 を代入するので、
(もともと a は5なので)
最後の a には 5+10 で 15 が代入されます。

データ型

変数にはいろいろな型(種類)の変数があります。

画像1

変数に格納する値が
整数なら整数型、
小数なら浮動小数点数型、
文字(列)なら文字型

を使います。

整数型には3つありますが、よく使われるのはint型といわれるものです。
小数型では、floatやdouble型がよく使われます。
(それぞれの違いについてはまた機会があればお話しします。)

違ったものを使うとプログラムが正常に実行できなかったりバグの原因になったりするので注意しましょう。

変数の宣言

さて、最初に説明した代入を行うだけでは変数を使うことはできません。

プログラムの途中で急に

a=10;

のようにaに10を代入しろ!と命令されても、aって何者?となってしまうためです。

そうならないために、事前に
「aは整数を代入できる変数ですよ~」
と宣言する必要があるわけです。

#include <stdio.h>
int main()
{
int a;
a=3;
return 0;
}

この
int a;
が変数の宣言です。
これで int 型のデータを格納する変数 a の宣言をすることができます。
宣言がないと、変数が使えないので、
使う変数すべてを宣言することを忘れないでください。

変数がたくさんあるとき一つ一つ書くのは大変なので、
同じ型の変数は、一度に宣言できます。

int a,b,c;

int 型変数 a、変数 b、変数 c の3つの宣言が一度にできます。


問題2

以下のプログラムがあったとする。
それぞれの変数には最終的にどのような値が入っているのか答えよ。

#include <stdio.h>
int main()
{
int a,b,c,d,e;
a=6;
b=3;
c=a+b;
d=a+c;
e=c;
return 0;
}




問題2答え

a= 6
b= 3
c= 9
d=15
e= 9

aとbはそのまま答えになります。
c以降は少し計算が必要です。
c=6+3=9
d=6+(6+3)=6+9=15
e=(6+3)=9




この記事が気に入ったらサポートをしてみませんか?