変数と基本型
データを「入れ物」に保存する方法を学ぶ
概要
プログラムはデータ(情報)を処理します。 そのデータを一時的に保存する場所が変数です。
変数は、データを入れる容器だと考えてください。
変数とは
変数は、プログラム内で使うデータを 一時的に保存する場所です。
例:
- 昨日の気温: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(文字)
- 宣言時に型を指定し、初期値を設定する
- わかりやすい変数名を使う