変数と基本型

データを「入れ物」に保存する方法を学ぶ

概要

プログラムはデータ(情報)を処理します。 そのデータを一時的に保存する場所が変数です。

変数は、データを入れる容器だと考えてください。

変数とは

変数は、プログラム内で使うデータを 一時的に保存する場所です。

例:

  • 昨日の気温:23 (整数)
  • 今月の売上:1234567.89 (小数)
  • 是非:true(真偽値)

変数は以下のように宣言します:

int x;           // 整数を入れる変数 x
double price;    // 小数を入れる変数 price
bool flag;       // 真偽値を入れる変数 flag

変数に値を入れる(代入):

x = 10;          // x に 10 を代入
price = 99.99;   // price に 99.99 を代入
flag = true;     // flag に true を代入

同時に宣言と代入もできます:

int x = 10;         // x を宣言して、10 を代入
double price = 99.99;
bool flag = true;

基本的なデータ型

C++ には様々なデータ型がありますが、 基本的なものを紹介します。

説明 主な用途
int 整数(正負の整数) 10, -5, 0 個数、画面座標、年
double 小数(浮動小数点数) 3.14, -2.5, 0.001 価格、重さ、温度
bool 真偽値(true or false) true, false 判定(はい/いいえ)
char 1文字 'a', 'X', '5' 1文字、ASCII文字

詳しい説明

int(整数型)

#include <iostream>

int main() {
    int age = 25;
    int score = 95;
    int difference = score - age;
    
    std::cout << "年齢: " << age << std::endl;
    std::cout << "スコア: " << score << std::endl;
    std::cout << "差: " << difference << std::endl;
    
    return 0;
}

実行結果:
年齢: 25
スコア: 95
差: 70

double(小数型)

#include <iostream>

int main() {
    double price = 99.99;
    double quantity = 2.5;
    double total = price * quantity;
    
    std::cout << "単価: " << price << std::endl;
    std::cout << "数量: " << quantity << std::endl;
    std::cout << "合計: " << total << std::endl;
    
    return 0;
}

実行結果:
単価: 99.99
数量: 2.5
合計: 249.975

bool(真偽値型)

#include <iostream>

int main() {
    bool isRaining = true;
    bool isHoliday = false;
    
    std::cout << "雨が降ってる: " << isRaining << std::endl;
    std::cout << "今日は休日: " << isHoliday << std::endl;
    
    return 0;
}

実行結果:
雨が降ってる: 1
今日は休日: 0

注意: bool を cout で出力すると、 true は 1、false は 0 と表示されます。

char(文字型)

#include <iostream>

int main() {
    char initial = 'A';
    char digit = '5';
    
    std::cout << "頭文字: " << initial << std::endl;
    std::cout << "数字: " << digit << std::endl;
    
    return 0;
}

実行結果:
頭文字: A
数字: 5

大事: char は シングルクォート(') で囲みます。 ダブルクォート(")は文字列用です。

変数の初期値

変数を宣言しても、値を代入しなければ その中身は不明です。

int x;
std::cout << x << std::endl;  // 値不明な結果が出る

必ず初期値を設定しましょう:

int x = 0;
std::cout << x << std::endl;  // 0 と表示される

変数の命名規則

変数名は自由に付けられますが、ルールがあります:

  • 英数字と アンダースコア(_)のみ使用可
  • 最初は英文字または _ で始まる(数字で始まると NG)
  • 大文字と小文字は区別される(age ≠ Age)

良い例:

  • age — わかりやすい
  • user_name — スネークケース(推奨)
  • totalPrice — キャメルケース(も OK)

悪い例:

  • x — 何なのかわからない
  • 1variable — 数字で始まる(構文エラー)
  • user-name — ハイフンは使えない

ポイント

  • 変数はデータを保存する容器
  • 宣言時に型を指定する必要がある
  • 基本型は int, double, bool, char
  • 必ず初期値を設定する(バグの原因)
  • 変数名はわかりやすくする

よくある誤り

誤り1: 型を混ぜる

int x = 3.14;  // ❌ int に小数を代入
// 実行時に 3 に変換されて、小数部分が失われる

型の不一致は、エラーではなく暗黙の変換が起こる場合があります。 混ぜないことが大切です。

誤り2: ダブルクォートと シングルクォートの混同

char c = "A";   // ❌ "A" は文字列
char c = 'A';   // ✅ 'A' は文字

誤り3: 初期値の設定忘れ

int x;
std::cout << x;  // ❌ 不定値が出力される

やってみよう

練習1: int, double, bool, char の4つの変数をそれぞれ宣言・初期化して、出力してください。

練習2: 2つの int 変数を定義し、足し算をして結果を出力してください。

チャレンジ: 以下が実行結果になるようにプログラムを書いてください。

商品価格: 1000
個数: 3
合計: 3000

ヒント

double または int で価格と個数を定義して、 掛け算してください。

解答例
#include <iostream>

int main() {
    int price = 1000;
    int quantity = 3;
    int total = price * quantity;
    
    std::cout << "商品価格: " << price << std::endl;
    std::cout << "個数: " << quantity << std::endl;
    std::cout << "合計: " << total << std::endl;
    
    return 0;
}

まとめ

  • 変数はデータを保存する容器
  • 基本型:int(整数), double(小数), bool(真偽), char(文字)
  • 宣言時に型を指定し、初期値を設定する
  • わかりやすい変数名を使う