C言語入門 第3回 変数




2014年10月より個人の方を対象に、Study C無料提供を開始しました。
C言語を勉強中の方は、学習・教育に最適なC言語インタープリタのStudy Cを使ってみてください(個人の方は無料です)。
大学・高専・高校などの教育機関での採用実績も多数あるロングセラー商品Study Cが、個人向けに無料提供を始めました。
インタープリタの手軽さに加え、ゲームや3Dタートルグラフィックで楽しく勉強したりと、C言語の学習を強力にサポートします。
ブロック崩しゲーム 3Dツリー クリスマスツリー
また、このようなボタンの用意されているページでは、掲載しているプログラムをStudy Cに直接ロードし実行したりすることができます。
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する
Study C無料利用についての詳細は、このページを参照してください。



1.変数宣言

 変数とは、数値を格納しておく「入れ物」と考えてください。 この入れ物にはC言語の規則に従って好きな名前をつけることができます。 変数につけた名前を変数名と呼びます。 C言語では変数名を使って数値を代入したり、格納されている数値を利用することができます。 変数は利用する前に必ず「こういう名前の変数を使用します」ということを宣言する必要があります。 変数宣言は次のように行います。

main()
{
        int a;
}
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する ブラウザとの連携機能が使用可能なStudy Cのバージョンなどについて...

int a;が変数宣言で、aという名前の変数名が宣言されます。 intはこの変数が整数の値を格納するためのものであることを意味します(intはintegerの意味)。 たとえば小数点の値を扱いたい場合にはintのかわりにfloatやdoubleを使います(当分はintのみを使用します)。 宣言された変数には"="で値を代入することができます。 たとえば変数aに値10を代入するには次のように行います。

a = 10;    (セミコロンを忘れずに)

 また、格納された値をprintfで次のようにして表示することもできます。

printf("%d", a);

 今までの説明をまとめてプログラムにすると、次のようになります。

main()
{
        int a;

        a = 10;
        printf("%d", a);
}
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する ブラウザとの連携機能が使用可能なStudy Cのバージョンなどについて...

 これをエディタで入力し、実行してみましょう。

***入力、実行手順のおさらい***
(1)F12でエディタを起動し、プログラムを入力します。
(2)F12でコマンドモードに戻ります。
(3)runと入力しリターンキーを押し、プログラムを実行します。
(4)プログラムの実行結果として10が表示されます。

C:Studyc\Myprog>run
10

 次に、bという変数宣言を加えて変数bに5を代入し、aとbの差をprintfで表示させるようにプログラムを変更してみましょう。

main()
{
        int a;
        int b;

        a = 10;
        b = 5;
        printf("%d", a-b);
}
5
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する ブラウザとの連携機能が使用可能なStudy Cのバージョンなどについて...

変更点は3箇所です。まず、F12でエディタを起動します(挿入モードであることを確認して下さい)。

(1)変数宣言int b;を追加します。 まず、カーソルをint a;と表示されている行の次の行に移動しEnterキーを押します。 これで新しい行が作られるので、カーソルを1行上に移動しTabキーを押してからint b;と入力します。
(2)同様にb = 5;を入力します。
(3)カーソルをprintfの変数aの後ろに移動させ、-bと入力します。
(4)F12でコマンドモードに戻りrunでプログラムを実行させます。実行結果として5が表示されます。
 同じint型の変数を複数個宣言する場合には次のように宣言することも可能です。

int a, b;


2.変数名の付け方

 C言語では英文字で始まる31文字以内の文字列で変数名を作ります。 変数名は英文字以外に数字、下線も使用することができますが、1文字目は必ず英文字を使います。 また、大文字と小文字は別のものとして区別されます。大きなプログラムをつくるようになるとたくさんの変数を使うため、それぞれの変数の目的がわかりづらくなってきます。 これを避けるため、変数名自体に意味を持たせます。 たとえば、合計値用の変数名ならば次のような名前が考えられます。

int sum;
int amount;
int goukei;

 また、入力データといったように1単語では表現しづらい場合には、次のような変数名が考えられます。

input_data  単語の区切りに下線を使用する。
InputData   単語の先頭を大文字にする。

 a, b, cのように意味のない変数名を使っていると、変数の意味することがわかりづらくなります。



3.変数と定数

 変数は"="で代入することで、その内容(値)を変化させることができます。 一方、1、5、10など確定した値を定数と呼びます。次のプログラムを見てください。

main()
{
        int i;

        i = 1;
        printf("%d\n", i);
        i = 5;
        printf("%d\n", i);
        i = 10;
        printf("%d\n", i);
}
1
5
10
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する ブラウザとの連携機能が使用可能なStudy Cのバージョンなどについて...

このプログラムでiは変数で、1、5、10は定数です。変数iの内容は値を代入することによって次々と変化していきます。 このため、同じprintfで変数iの内容を表示させると場所によって異なった値が表示されます。


4.コメント

 コンピュータには翻訳しやすいプログラミング言語も、人間にとっては理解しづらいものです。 特にプログラムが長くなると、個々の行がどんな目的のために書かれているのかが解らなくなってきます。 たとえ自分で作ったプログラムでも時間がたつと同じように解りづらくなってしまいます。 このため、amountのような意味を持った変数名を使い、少しでも人間がプログラムの内容を理解しやすくしています。 しかし、これ以外にもプログラム中にコメント(注釈)を入れる方法があります。 コメントはプログラムとして実行されず、機械語への翻訳時にすべて読みとばされます。 C言語ではコメントを /* と */ で囲んで記述します。 コメントの使用例は次のようになります(漢字の入力方法はWindows 95のマニュアルやヘルプを参照してください)。

main()
/* コメントには漢字も使用できます */
{
        int     amount; /* 合計金額用の変数 */

        amount = 100;
        printf( "%d", amount ); /* 合計金額を表示します */
}
/* comment */
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する ブラウザとの連携機能が使用可能なStudy Cのバージョンなどについて...