プログラムの重要な要素の一つ 変数 と,いつまでも間違えやすい 代入 について学習しよう.
プログラムで,数値や文字をしまっておく箱のようなものを 変数 と呼びます.
例:
#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