目次に戻る


このエントリーをはてなブックマークに追加


変数

変数って聞いたことある?

そうそう、数学とかできいたことあるあの変数。1次関数だとかで出てくるxとかyが変数

プログラミングにおいてもこの変数がたくさん登場する。
まずは以下のコードをコピペするなり、自分で打つなりしてコンパイル・実行してみよう。

                    #include<iostream>
                    using namespace std;

                    int main(){
                        int num = 5;
                        cout<< "num = " << num << endl;

                        return 0;
                    }
                

…どうだろう?なんて表示された??
var1

こんな感じに「num = 5」って表示されたはず。

おさらいだけど「cout」は出力する命令だからまず" num = "が出力されるよね。
そのあとはダブルクォーテーションがついていない 「num」 があって改行されている...。

でも実行結果見ると「num」ではなく「5」って表示されているね。

これが変数。最初に「int num = 5;」って書いてあるけどこれは「numっていう名前の変数に 5 を格納したよ」という意味。
変数は出力する際、ダブルクォーテーションを付けずに記述する。

ちなみにこんなことだってできちゃう。

                #include<iostream>
                using namespace std;

                int main(){

                    int num1 = 5;
                    int num2 = 3;
                    cout<< "num1 + num2 = " << num1 + num2 << endl;

                    return 0;
                }
                

var2


このように変数同士は四則演算ができる。ちなみに、加算... + , 減算... - , 乗算... * , 除算... / , 剰余算(あまり)... % で計算できる。
ではまた新しいコードを見つつどんどん学習していこう。

                #include<iostream>
                using namespace std;

                int main(){
                    int num1 = 5;
                    int num2 = 3;

                    cout<< "num1 x num2 = " << num1 * num2 << endl;

                    num1++;
                    cout<< "num1 = " << num1 << endl;

                    num2--;
                    cout<< "num2 = " << num2 << endl;

                    num1 = num2;
                    cout<< "num1 = " << num1 << endl;
                    cout<< "num2 = " << num2 << endl;

                    return 0;
                }
                


[変数]++; は「インクリメント」と言って、+1 をするのと同義。
[変数]--; は「デクリメント」といって、逆に -1 をするのと同じ。

[変数1] = [変数2] は「変数1 に 変数2の値 を格納する」という意味。

じゃあ上の コード の実行結果はどうなるだろう??
var3

...想像通りだったかな??

こんな感じで変数はプログラミングにおいて欠かせないのです!


スポンサーリンク



「型」の話

変数には様々な種類があります。
さっき使ったのは整数を扱う int型

他にも様々あって、

double (ダブル 型) ... 小数を扱える
char (チャー / キャラ 型)... 文字(1バイト分)を扱える
string (ストリング 型)... 文字列を扱える
bool (ブール / ブーリアン 型)... 真偽(true / false , 1 / 0)を扱える

などたくさんあります。
でも、小数扱えるdouble型だけで、int型もbool型も事足りるし、string型あればchar型いらなくね?? という疑問。


実はそうなんですが、この話は少しスマートさが試されている(笑)
この先は小難しい話になるので、嫌な人はパスしてもらって構わないです。


これはコンピュータのハードウェア的な問題なのですが、どのコンピュータにも容量(メモリ)に限りがあります。
またコンピュータによって、ある時間内に処理できる命令数も変わってきます。

型には大きさがあります。要は「どのくらいメモリを消費するか」
例えばint型は 4バイト, double型は 8バイト, char型やbool型は 1バイト...のように様々です。

ちなみに4バイトというと32ビットで、1ビットには1か0が格納されています。
32桁の2進数では 2^32 で 4,294,967,296個の数字をあらわすことができます。
intでは負の整数も含まれるので、-2,147,483,648 ~ 2,147,483,647 の範囲の整数を扱うことができるのです。

そんな中、1と0で事足りる「真偽判定」をboolを使わずに、intとかdoubleでやったらメモリの無駄遣いですよね?


そういう意味で型を使いこなすことは、これから長いコードを書く上で大事なのです。


次回は、5, 条件分岐を使いこなす!【if文】



スポンサーリンク






このエントリーをはてなブックマークに追加