プログラムの重要な要素の一つ 変数 と,いつまでも間違えやすい 代入 について学習しよう.
プログラムで,数値や文字をしまっておく箱のようなものを 変数 と呼びます.
例:
#include <stdio.h>
void main()
{
    int a;
    a = 10;
    printf("変数の値は%dです\n", a);
}
		
		このプログラムを,一行ずつ見てみよう.
int a;
整数型 を格納する変数を用意し,a という 名前 を付ける と宣言しています.
a = 10;
用意した変数に数字を 代入 しています.
printf("変数の値は%dです\n", a);
変数の値を画面に表示する.%d には,変数 a の値 が割り当てられ,表示されます.
変数の扱える数の大きさを 型 とよび,大きく分けて,整数型 と 浮動小数点型 があります.
| 種類 | 名前 | サイズ | 範囲 | 
| 整数型 | int | システムにより異なる | |
| unsigned int | |||
| short | 2バイト | -32768〜32767 | |
| unsigned short | 2バイト | 0〜65535 | |
| long | 4バイト | -2147483648〜2147483647 | |
| unsigned long | 4バイト | 0〜4294967295 | |
| 浮動小数点型 | float | 4バイト | -3.4E38〜3.4E38 | 
| double | 8バイト | -1.7E308〜1.7E308 | |
どのような数値を扱うかをあらかじめ予想し,適した型を使います.
変数には,人間にわかりやすいように名前を付けます.ただし,名前の付け方にはルールがあります.
名前に使えるのは,英字・数字・アンダーバー(_)です.
数字で始めることはできません.
大文字・小文字は区別されます.
C言語が予約している,予約語(第1回参照)は使えません.
| よい例 | 悪い例 | 
| a | 12a | 
| abc | return | 
| ab_c | ab-c | 
コンピュータの内部では,名前を数字(アドレス(番地))に置き換えて,実行します.
変数に値を記憶させることを 代入 とよび,記号 = で示します.
変数 = 値;
これは,変数に値を代入する という意味で,数学の 等しい とは異なり,一方通行です.
× 値 = 変数;
従って,上のようなことはできません.
たとえば,変数 a の値を 1 増やしたい場合はどうしたら良いでしょう?
   
注意: a の値が a+1 と等しいということではありません.
| 二つの同じ型の変数を宣言する | int a; int b; | int a, b; | 
| 一つの変数の宣言と初期化 | int a; a = 2; | int a= 2; | 
| 二つの同じ型の変数の宣言と初期化 | int a; int b; a = 2; b = 3; | int a=2, b=3; | 
 
変数の値を出力するためには,先週練習したprintf()関数を用います.
コンピュータでは,数学で使う「+」や「×」などの 算術演算子 ,値を比べる 比較演算子 条件判断に使う 論理演算子 などがあります.
これら 演算子 の働きについて学習します.
数の計算に用いる演算子を下の表にまとめます.
| 
						演算子 | 
						はたらき | 
						使い方 | 
						意味 | 
| 
						+ | 
						たす | 
						a = b + c; | 
						b と c をたした値を a に代入 | 
| 
						− | 
						ひく | 
						a = b - c; | 
						b から c をひいた値を a に代入 | 
| 
						* | 
						かける | 
						a = b * c; | 
						b と c をかけた値を a に代入 | 
| 
						/ | 
						わる | 
						a = b / c; | 
						b を c でわった値を a に代入(c が 0 の時はエラー) | 
| 
						% | 
						あまり | 
						a = b % c; | 
						b を c でわったあまりを a に代入 | 
| 
						= | 
						代入 | 
						a = b; | 
						b の値を a に代入 | 
式の値を表示する例:
#include <stdio.h>
void main()
{
    printf("1+2は%dです\n", 1+2);
    printf("3X4は%dです", 3*4);
}
		変数の値で計算し表示する例:
#include <stdio.h>
void main()
{
    int a, b;
    a = 2;
    b = 3;
    printf("a = %d\n", a);
    printf("b = %d\n", b);
    printf("a+b = %d", a+b);
}
		代入で説明した,
a = a + 1;
を,代入演算子を使うと
a += 1;
と書くこともできます.
| 
						演算子 | 
						使い方 | 
						意味 | 
| 
						+= | 
						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; | 
a = 6, b = 5 のとき,次の各計算結果を表示するプログラムを作成せよ.
a + b
a − b
a × b
a ÷ b
a ÷ b のあまり
底辺が a, 高さ b の三角形の面積
a2 + ab