学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

C++ | 10 | 変数

↓↓クリックして頂けると励みになります。



09 | 演算子】 << 【ホーム】 >> 【11 | 文字変数

変数を使用したプログラム
変数を使用したプログラム



C++の変数(variables)は、データを格納し、プログラム内で操作するためのメモリ上の場所です。
変数には名前が付けられ、その名前を使用してデータにアクセスします。
C++の変数は、以下のような特性を持ちます。

  • データ型:

変数は特定のデータ型を持ちます。これは、その変数がどのような種類のデータを保持できるかを決定します。例えば、整数型(int)、浮動小数点型(float、double)、文字型(char)、真偽値型(bool)などがあります。C++では、さまざまなデータ型が提供されており、プログラマはその中から適切な型を選択します。

  • 名前:

変数には識別子(identifier)が与えられます。これは変数を一意に識別するための名前です。識別子は、アルファベット、数字、アンダースコア(_)から構成されますが、数字で始めることはできません。また、予約語(keywords)を使用することはできません。
予約語(reserved words)は、言語の構文や機能を定義するために予約された特別な単語です。これらの予約語は、プログラムの構造や動作を制御するために使用されます。予約語は変数名や関数名として使用することはできず、識別子として利用することができません。

:
変数には値を代入することができます。これにより、変数がその値を保持し、プログラム内で使用することができます。値は変数のデータ型に応じて指定されます。例えば、整数型の変数には整数値を代入します。

メモリ上の場所:
変数はメモリ内の特定の場所に割り当てられます。これにより、プログラムはそのメモリアドレスを使用して変数にアクセスします。メモリの場所は、変数の値を格納するための実際の場所です。

C++での変数の使用は、プログラム内でデータを保持し、操作するための基本的な手段です。
変数は、数値や文字列などのデータを保持し、プログラムの実行中に値を変更することができます。




Visual Studio Codeで以下のcppファイルを作成して下さい。


新規作成 【HensuuTest1.cpp】

#include <iostream>

int main() {

    float a;
    a = 2.999999999999;
    std::cout << a << std::endl;

    float b;
    b = 1.00000001;
    std::cout << b << std::endl;

    float c;
    c = 1.1;
    std::cout << c << std::endl;
}



実数変数に大きな値を代入して表示してみるというテストプログラムです。


実数変数としてfloat型を使用しています。


実数にはいろいろな種類があります。
分数で表せる有理数、有理数の中にも有限な桁の小数で表される有限小数と有限な桁では表すことができない循環小数(1/3 = 0.33・・)があり、有理数で表すことのできない無理数(例えばルート)なども存在します。


しかし通常多くの言語では、数桁から十数桁程度しか扱うことができません。


実数を格納できる変数を実数型の変数、実数変数といいます。
実数変数も整数と同じようにプログラム中で使うためには、あらかじめ宣言しておかなければなりません。
実数変数の宣言は、floatによって行います。

実数変数の宣言    float 変数名, 変数名・・・・;

  • 例1    float x;
  • 例2    float x; float y;
  • 例3    float x, y;


    実数変数への代入は整数と同じようにできますが、必ず実数型の数値として記憶されます。
    a = 3;」は右辺の値は整数ですが、aが実数型の変数である場合代入されるときに自動的に 3.0 に拡張されて記憶されます。
    逆に実数を整数変数に代入すると、小数以下は切り捨てられます。


    実数変数には他に「double型」などもあり、扱えるデータ範囲が広くなります。
    データ型データのサイズデータの種類データの値の範囲
    float4バイト小数点数±3.40282347×1038〜±1.40239864×10-45
    double8バイト小数点数±1.79769313486231570×10308〜±4.94065645841245644×10-324


    サンプルプログラムを実行してみましょう。
    「3」、「1」、「1.1」と画面に出力されます。

    ~/Desktop/Programming/CPP $ cd "/Users/**/Desktop/Programming/CPP/" && g++ HensuuTest1.cpp -o HensuuTest1 && "/Users/**/Desktop/Programming/CPP/"HensuuTest1
    
    3
    1
    1.1
    



    Visual Studio Codeで以下のcppファイルを作成して下さい。


    新規作成 【HensuuTest2.cpp】

    #include <iostream>
    
    int main() {
    
    	float jinkou = 150000000;
    
    	float syouhi = 4000000 * (jinkou/40000000);
    
    	float taxa = 0.10;
    	float taxb = 0.15;
    
    	float genzai = syouhi*taxa;
    	float zouzei = syouhi*taxb;
    
    	float sashihiki = zouzei - genzai;
    
    	std::cout << "日本国の人口は" << jinkou << "人である" << std::endl;
    	std::cout << "日本の年間消費金額は" << syouhi << "円である" << std::endl;
    	std::cout << "消費税10%だと" << genzai << "円消費税が納められる" << std::endl;
    	std::cout << "消費税15%だと" << zouzei << "円消費税が納められる" << std::endl;
    	std::cout << "増税分は" << sashihiki << "円である" << std::endl;
    }
    



    このプログラムは現在10%の消費税が15%に引き上げられたとき、国全体でどれだけ増収になるかを計算するプログラムです。
    4000万人が年間400万円程度を使うものと仮定して、これらすべてに消費税がかかるものとしています。
    実数変数を使わなければ計算結果がおかしくなります。


    サンプルプログラムを実行してみましょう。
    計算結果が画面に表示されます。

    ~/Desktop/Programming/CPP $ cd "/Users/**/Desktop/Programming/CPP/" && g++ HensuuTest2.cpp -o HensuuTest2 && "/Users/**/Desktop/Programming/CPP/"HensuuTest2
    
    日本国の人口は1.5e+08人である
    日本の年間消費金額は1.5e+07円である
    消費税10%だと1.5e+06円消費税が納められる
    消費税15%だと2.25e+06円消費税が納められる
    増税分は750000円である
    



    Visual Studio Codeで以下のcppファイルを作成して下さい。


    新規作成 【HensuuTest3.cpp】

    #include <iostream>
    
    int main() {
    
    	float jinkou, ritsu, nensuu;
    
    	jinkou = 100000000;
    	nensuu = 0;
    	ritsu = 0.05;
    
    	for ( int i=1; jinkou>=50000000; i++) {
    
    		jinkou = jinkou - (jinkou* ritsu);
    
    		nensuu++;
    	} 
    
    	std::cout << "人口が5000万人以下になるには" << nensuu << "年かかる" << std::endl;
    }
    



    人口を1億人とし、人口が毎年5%ずつ減っていくものとします。
    人口が5000万人以下になるには何年かかるかを計算するプログラムです。
    サンプルプログラムを実行してみましょう。
    計算結果が画面に表示されます。

    ~/Desktop/Programming/CPP $ cd "/Users/**/Desktop/Programming/CPP/" && g++ HensuuTest3.cpp -o HensuuTest3 && "/Users/**/Desktop/Programming/CPP/"HensuuTest3
    
    人口が5000万人以下になるには14年かかる
    



    Visual Studio Codeで以下のcppファイルを作成して下さい。


    新規作成 【HensuuTest4.cpp】

    #include <iostream>
    
    int main() {
    
    	float tensuu, heikin, goukei, ninzuu;
    
    	std::cout << "試験を行った結果の平均点を求める。" << std::endl;
    	std::cout << "点数を入力してください" << std::endl;
    
    	ninzuu = 1;
    	goukei = 0;
    
    	while(true) {
    
    		std::cout << ninzuu << "人目の点数を整数で入力してください。" << std::endl;
    		std::cout << "入力が終ったら 101 と入力してください" << std::endl;
    
    		for (std::cin >> tensuu ; !std::cin ; std::cin >> tensuu){
    			std::cin.clear();
    			std::cin.ignore();
    					std::cout << "入力が間違ってます。" << std::endl << "点数を整数で入力してください。";
    	        }
    
    		goukei += tensuu;
    		ninzuu++;
    
    		if ( tensuu == 101 ) {
    			break;
    		}
    	}
    
    	heikin = (goukei-101)/(ninzuu-2);
    
    	std::cout << "入力した人数は" << ninzuu-2 << "人で、平均点は" << heikin << "点です。" << std::endl;
    }
    



    試験を行った結果の平均点を求めるプログラムです。
    学生の成績は標準入力から読み込むものとし、入力する人数に制限がないものとします。
    平均点は実数で計算します。
    101と入力したら、ループを抜け、結果を表示します。

    ~/Desktop/Programming/CPP $ cd "/Users/**/Desktop/Programming/CPP/" && g++ HensuuTest4.cpp -o HensuuTest4 && "/Users/**/Desktop/Programming/CPP/"HensuuTest4
    
    試験を行った結果の平均点を求める。
    点数を入力してください
    1人目の点数を整数で入力してください。
    入力が終ったら 101 と入力してください
    98
    2人目の点数を整数で入力してください。
    入力が終ったら 101 と入力してください
    34
    3人目の点数を整数で入力してください。
    入力が終ったら 101 と入力してください
    56
    4人目の点数を整数で入力してください。
    入力が終ったら 101 と入力してください
    78
    5人目の点数を整数で入力してください。
    入力が終ったら 101 と入力してください
    64
    6人目の点数を整数で入力してください。
    入力が終ったら 101 と入力してください
    101
    入力した人数は5人で、平均点は66点です。
    



    09 | 演算子】 << 【ホーム】 >> 【11 | 文字変数




    ↓↓クリックして頂けると励みになります。