404 Not Found

404 Not Found


nginx

変数と基本データ型

第2課では、自分のマシン上でコンパイラを動作させることに成功しました。さあ、いよいよ実際のコードを書き始めましょう。その前にまず知っておくべきことは、データの保存方法です。それこそが、変数やデータ型の役割なのです。


1. 変数とは何か?

変数とは、メモリ上に存在する名前付きの「箱」のようなもので、そこにデータを格納することができます。

(1) 1.1 実生活での例え

コンピュータのメモリを、巨大なマンションだと考えてみてください。各部屋にはアドレス(メモリアドレス)があり、入居者(データ)を収容することができます。変数を作成するとは、こうした部屋の一つを借りて、それに名前をつけるようなものです。

(2) 1.2 なぜ変数が必要なのか?

変数がなければ、どのプログラムも実行するたびに同じ結果になってしまいます。変数を使えば、次のようなことが可能になります:



2. C++の基本データ型

C++には5つの基本データ型があります:

タイプ 格納される内容 値の例 メモリ
int 整数 25, -100, 0 4バイト
double 10進数 3.14, -0.5, 99.9 8バイト
char 1文字 'A', '9', '$' 1バイト
bool 真または偽 true, false 1バイト
string テキスト(複数文字) "Hello", "C++" 変数

(1) 2.1 変数の宣言

構文:type variableName;

CPP
int age; // Declares an integer variable named 'age'
double price; // Declares a double variable named 'price'
char grade; // Declares a char variable named 'grade'
bool isReady; // Declares a boolean variable named 'isReady'

(2) 2.2 宣言と初期化

宣言と値の代入を同時に行うことができます:

CPP
int age = 25;
double price = 19.99;
char grade = 'A';
bool isReady = true;
string name = "Alice";

C++11では、中括弧を用いた一様初期化が導入され、これにより安全性が向上しました:

CPP
int age{25};
double price{19.99};
💡 ヒント: 変数は必ず初期化してください!初期化されていない変数には、メモリに残されたゴミデータが格納されています。これを使用すると、予期しない結果が生じます。

(3) ▶ サンプル:1:円の面積を計算する(難易度 ⭐)

CPP
#include iostream

int main() {
 double radius = 5.0;
 double pi = 3.14159;
 double area = pi * radius * radius;
 
 std::cout << "Radius: " << radius << std::endl;
 std::cout << "Area: " << area << std::endl;
 return 0;
}
▶ 試してみよう

3. 変数名の命名規則

(1) 3.1 厳格なルール(コンパイラがこれを強制する)

  1. 入力できるのは、英字数字、およびアンダースコアのみです (_)
  2. 数字で始めることはできない
  3. C++のキーワードは使用できません(例:intreturnifなど)
  4. 大文字と小文字を区別するageAge は異なる変数です
有効 ✅ 無効 ❌
myVar 1stPlace(数字で始まる)
_count my-var(ハイフンは使用不可)
studentName int (予約済みキーワード)
number99 my var(スペースは使用不可)

(2) 3.2 ソフトルール(強く推奨)

⚠️ 注意: ループカウンタ(ij)を除き、1文字だけの変数名は避けてください。コードは書くよりも読むことのほうがはるかに多いものです。読みやすいコードにしましょう。



4. 定数

定数とは、初期化後にその値を変更できない変数のことです。

CPP
const double PI = 3.14159;
const int DAYS_IN_WEEK = 7;
💡 ヒント: 変更すべきでない値には const を使用しましょう。これにより、コードの安全性が向上し、他の開発者にも意図が伝わりやすくなります。



5. cin と cout を使った入出力

(1) 5.1 cout による出力

cout(「シーアウト」と発音)は、画面にデータを表示します:

CPP
#include iostream

int main() {
 std::cout << "Hello, C++!" << std::endl;
 std::cout << "The answer is: " << 42 << std::endl;
 return 0;
}

<<(挿入演算子と呼ばれる)を使用して、coutにデータを送信します。std::endlを使用して改行を追加します。

(2) 5.2 cin による入力

cin(「シーイン」と発音)は、キーボードからデータを読み取ります:

CPP
#include iostream

int main() {
 int age;
 std::cout << "Enter your age: ";
 std::cin >> age;
 std::cout << "You are " << age << " years old." << std::endl;
 return 0;
}

>>(抽出演算子)を使用して、変数にデータを読み込みます。

(3) ▶ サンプル:2:対話型計算機(難易度 ⭐⭐)

CPP
#include iostream

int main() {
 double num1, num2;
 
 std::cout << "Enter first number: ";
 std::cin >> num1;
 
 std::cout << "Enter second number: ";
 std::cin >> num2;
 
 double sum = num1 + num2;
 double diff = num1 - num2;
 double product = num1 * num2;
 double quotient = num1 / num2;
 
 std::cout << "Sum: " << sum << std::endl;
 std::cout << "Difference: " << diff << std::endl;
 std::cout << "Product: " << product << std::endl;
 std::cout << "Quotient: " << quotient << std::endl;
 
 return 0;
}
▶ 試してみよう
💡 ヒント: このプログラムは、ユーザーから2つの数値を入力してもらい、基本的な算術演算を行います。double 型を使用しているため、除算の結果は小数になります。


▶ サンプル 1: variables and data typesデモ (難易度 ⭐)

CPP
#include <iostream>

int main() {
 // variables and data typesの
 std::cout << "variables and data typesをびましょう!" << std::endl;
 return 0;
}
▶ 試してみよう

❓ よくある質問

Q intとdoubleの違いは何ですか?それぞれいつ使うべきですか?
A intは整数(例:25、-3)を格納し、doubleは小数(例:19.99、3.14)を格納します。経験則:数え上げ・年齢・年数 → int;価格・高さ・平均値 → double
Q なぜcharには一重引用符が使われ、stringには二重引用符が使われるのですか?
A charは単一の文字であるため、一重引用符('A')が使われます。stringは一連の文字であるため、二重引用符("Hello")が使われます。これらはまったく異なる型です。
Q const と #define の違いは何ですか?
A const は型チェックが行われる C++ のキーワードであり、安全で推奨されています。#define は型チェックが行われない C のプリプロセッサマクロであり、現代の C++ では使用を避けるべきです。
Q 変数名に漢字を使ってもいいですか?
A 技術的には可能です(C++11ではUnicode識別子がサポートされています)が、強くお勧めしません。コンパイラによって扱いが異なり、国際的な環境でのコードの保守が難しくなるためです。

📖 まとめ


📝 練習問題

  1. 初心者(難易度 ⭐): 3つの変数、name(文字列)、age(整数)、score(倍精度浮動小数点数)を宣言するプログラムを作成してください。各変数に値を代入し、それらを出力してください。
TEXT
My name is Alice, I'm 20 years old, my score is 92.5.
  1. 中級(難易度 ⭐⭐): ユーザーに円の半径を入力してもらい、円周と面積を計算して表示するプログラムを作成してください。πには定数を使用してください。

  2. 上級(難易度 ⭐⭐⭐): 温度変換プログラムを作成してください。ユーザーから華氏温度を入力してもらい、C = (F - 32) × 5 / 9 を使用して摂氏に変換し、結果を小数点以下1桁で出力してください。

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%