ちぇりーの館

1−5 C言語プログラミング講座 変数を使って値を保持してみよう!(1)



こんにちは! 今回はプログラムの基本となる変数について説明します。変数は、非常に重要なので2回に分けて説明します。 それでは、まずは以下のプログラムを書いて実行してみてください。

#include <stdio.h>

int main(void)
{
	int value1;
	int value2;
	int value3;

	printf("-----変数を利用した計算サンプル-----\n");

	value1 = 10;
	value2 = 15;
	value3 = value1 + value2;

	printf("%d + %d = %d\n", value1,value2,value3);

	scanf("a");
	return 0;
}

変数という言葉は、算数や数学でも使われている言葉です。たとえば、"2x+3"の"x"などがこれにあたります。 この場合、"x"には、2や3など任意の値を入れる事によって計算結果が異なってきます。C言語でも 同じように変数を使う事ができます。もっとも、プログラムでいう値とは、数字のみではなく文字列なども 含まれるので、プログラムで変数といえば、『一時的に値を保持しておく領域』という意味合いが強く なっています。また、変数にできる事は、以下の3つです。

1. 変数を作る
2. 値を入れる
3. 値を見る

以前私が作成していたゲームのプログラムでは、数万個の変数を用意しそこに色々な値を保持させる事によって プログラムを組んでいました。変数は、プログラムを組む上で基本となる事なのでここでしっかりと理解 してください。

○変数の定義

それでは、実際の変数について説明していきましょう。まず、変数を使うためには変数を定義する必要があります。 つまり、プログラムに対して『私はこれから○○の変数というものを使いますよ』という事を伝えるのです。

変数の宣言

プログラムの変数を宣言するには、まず変数のを指定します。ここで言う型とは、『int』の部分にあたり、 値を保持できる種類を表します。『int』とは、英語の『integer』の略で整数を意味します。つまり、int型では整数を 保持する事ができるのです。逆に言えば整数以外は保持する事ができず、小数や文字などは保持できません。 型には他にもいくつかあります。

 型   保持できる値の範囲   意味 
int -2147483648〜2147483647 整数値を保持します。もし、小数値を入れたら小数部は切り捨てられます。
short -32768〜32767 整数値を保持します。これは、int型の保持できる数字が少ない版です。
long -2147483648〜2147483647 整数値を保持します。昔のコンピュータでは、int型よりも値を多く保持できる と言う意味でlongという名前を使っていたのですが、現在のint型は保持できる量が 増えて今では、int型=long型となっております。
char 0〜255 文字を保持するために使います。
bool true(0)かfalse(1)のどちらか trueかfalseのどちらかの値のみ保持します。プログラム初心者の方は無理に使う必要はありません。
float +10-37+1038 小数点を含む値を保持します。単精度浮動小数点数とも呼ばれています。 小数点計算をする場合に使用します。
double +10-307+10308 小数点を含む値を保持します。倍精度浮動小数点数とも呼ばれています。 小数点計算をする場合に使用します。


上記の型はあくまで、よく使われる型になります。どの型を使うか迷った時は、整数値のみを扱う場合は int型を、小数値を含む数字を扱う場合にはdouble型を、文字を扱う場合にはchar型を使うようにしましょう。 この3つがプログラムの型を選択する時の基本になります。

○変数名について

変数名は、基本的に任意の名前でかまいません。ただし、プログラム上キーとなる言葉は使えません。 例えば、intやdouble、ifやswitchなどがこれにあたります。このようにあらかじめ、プログラムでキーとなる 言葉を予約語と呼びます。では、どのようにして予約語かどうかを区別するのかと言うと、 最初のうちは実際にその名前を書いて見てコンパイルを通すか、変数名を書いた時に色が変わるかどうか で判断してみてください。

予約語の場合は、色が付きます

○変数の代入について
 変数が作られたので、次は変数に値を入れる事にします。これは、簡単で

x = 10;
x = x + 10;
c = 'a';

などと書けば代入できます。ここで、数学に慣れている人は2行目の書き方に違和感を感じるかもしれません。 なぜなら、左と右が"="で結ばれているにもかかわらずこの式は成り立たないからです。このように考えた人は"="を等しいと考えたからだと思います。プログラムの"="は、 等しいと言う意味はなく左辺の値を右辺に代入すると言う意味で使われています。ここでは、『xに10を足したものをxに代入する』と言う意味になります。 余談ですが、"等しい"という意味で"="を使いたい場合は、"=="とします。

変数の代入方法

上記例では、x="x+10"は成り立ちますが、"x+10=x"はコンパイルエラーとなります。これは、先ほど説明した "="は、『左辺の値を右辺に代入する』という原則から矛盾するためにエラーとなります。つまり、左辺に計算式は入れてはいけません。
また、変数から変数に値を代入する場合は同じ型でなければなりません。 例えば、int型の値とdouble型の値を混在して使うとコンピュータで勝手にint型(整数型)にそろえられて しまいます。私も、よく型の違いを見落として思わぬ結果になったりする事が多々あります。 皆さんも注意してください。

それでは、最後に変数を使ったプログラムを書いてみましょう。
変数を利用したプログラム

こちらが実行結果になります。

変数を利用したプログラムの実行結果

 いかがでしたか? 本日はここまでとなります。今回は、変数について説明しました。 次回も引き続き、変数について説明します。
前回同様、内容が判り難かったり、疑問・質問等がありましたら時間の許す限りお答えしようと思いますので どしどしメールを送ってください。でわでわ、お疲れ様でした (^_^)/

< 一覧ページへ戻る


当サイトが面白いと感じた方は、お手数ですが下記リンクをクリックしてください。
クリック毎に当ホームページの評価が上がります。ご協力お願いします!
inserted by FC2 system