C++スコーラ

変数

最終更新:

cschola

- view
管理者のみ編集可

変数とは一体?

変数は、よく「数字をしまっておく箱のようなもの」と説明されます。
実際どのようなものなのか、使いながら覚えていきましょう。
int a = 0; // int型、初期値 0 の a を宣言 

printf("%d\n",a); // a に代入されている数字を表示

a = 2; // a に2を代入

printf("%d\n",a); // a に代入されている数字を表示
正しく実行されれば画面に数字の0と2が表示されます。

変数について

a という名前の箱を作ったことになります。
変数には必ず名前を付けなくてはいけません。
名前は一文字でなくても、 int abc = 0; など何文字でも構いません。 
同じ名前の変数を作ったり、C言語で使用する命令(printfなど)を使うことはできないので注意しましょう。
int は変数の種類です。 これを変数の「型」といいます。 「型」は場面によって使い分けなくてはいけません。
  = 0 これを初期化といいます。aという変数の中に 0 を入れます。 0以外の数値でも初期化できます。
変数を作ったらまず初期化します。
特に入れる数値が決まっていないときは0を入れておきましょう。
a = 2 これを代入といいます。 変数に数値を入れることができます。
代入するときは必ず変数の右側に = と数値を書きます。  
変数に入っている数値を変更するときに、代入します。

変数を使った計算式

変数は基本的に計算式の中では数値と同じように扱うことができます。
その場合は次のようにします。
※例1
int a = 0;

int b = 5;

a = b;

printf("aに%dを代入しました\n",b);

a = a + b;

printf("aに%dを足して%dになりました\n",b,a);
※例2
int a = 3; //3で初期化

printf("%dで初期化しました。\n",a);

a = a + 2; //aに2を足す

printf("2を足して%dになりました。\n",a);
ただ a + 2 と書いても a の中にある数値は変わりません。
a の中の数値を変えたい場合は、 = を使って代入します。
計算式は足し算だけではありません。

その他四則演算

引き算や、掛け算、割り算も使います。また、プログラムでよく使う「余り算」も覚えてください。
「余り算」(剰余算)とは、「割り算」をした後のあまりだけを答えとして出す計算です。
「割り算」では、10÷3 の答えは 3余り1 となります。 「余り算」では答えは 1 だけです。
C言語では掛け算は * を、割り算では / を使います。
余り算では % を使います。
( ) を使って計算順序を変えることもできます。
int a = 15;

int b = 7;

printf("%d引く%dは%dです\n",a,b,a-b); //a引くbを表示

printf("%d掛ける%dは%dです\n",a,b,a*b); //a掛けるbを表示

printf("%d割る%dは%dです\n",a,b,a/b); //a割るbを表示

printf("%dを%dで割った余りは%dです\n",a,b,a%b); //aをbで割った余りを表示

printf("%dと%dを足して%dを掛けると%dです\n",a,b,b,b*(a+b)); //aとbを足した数にbをかけて表示
変数 a b を初期化するときの数値を適当に変えて、コンピュータがどんな計算をしているのか見てみましょう。

単純計算の書き換え

a = a + b;」 のような計算は 「a += b;」 のように書き換えることができます。
足し算以外にもあります
int a = 4;
int b = 2;

a += b;   // a = a + b; と同じ

a -= b;   // a = a - b; と同じ

a *= b;   // a = a * b; と同じ

a /= b;   // a = a / b; と同じ

a %= b;   // a = a % b; と同じ

練習問題

 次のようなプログラムを作ってください。
第1問
 int型の変数を3つ宣言して、適当な数値で初期化してすべて足して表示する。
第2問
 int型の変数を2つ宣言して、適当な数値で初期化して2つの差を表示する。
第3問
 int型の変数3つ宣言して、適当な数値で初期化して、先に宣言した二つの変数の和を三つ目の変数で割った余りを表示する。
目安箱バナー