C++ における変数とデータ型

C++C++Beginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、C++ における変数とデータ型の扱い方を学びます。さまざまな整数型変数のサイズを調べ、浮動小数点数型と倍精度浮動小数点数型の変数を初期化し、文字型と文字列型の変数を宣言し、型変換を行い、定数を定義し、ブール型変数を使用し、さまざまなデータ型のメモリサイズを確認します。また、整数オーバーフローの状況を処理する方法も学びます。この実践的な経験は、C++ プログラミング プロジェクトにおけるデータ管理の堅牢な基礎を提供します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/BasicsGroup -.-> cpp/data_types("Data Types") cpp/BasicsGroup -.-> cpp/operators("Operators") cpp/BasicsGroup -.-> cpp/booleans("Booleans") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/conditions("Conditions") cpp/ControlFlowGroup -.-> cpp/if_else("If...Else") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/StandardLibraryGroup -.-> cpp/string_manipulation("String Manipulation") subgraph Lab Skills cpp/variables -.-> lab-446078{{"C++ における変数とデータ型"}} cpp/data_types -.-> lab-446078{{"C++ における変数とデータ型"}} cpp/operators -.-> lab-446078{{"C++ における変数とデータ型"}} cpp/booleans -.-> lab-446078{{"C++ における変数とデータ型"}} cpp/strings -.-> lab-446078{{"C++ における変数とデータ型"}} cpp/conditions -.-> lab-446078{{"C++ における変数とデータ型"}} cpp/if_else -.-> lab-446078{{"C++ における変数とデータ型"}} cpp/output -.-> lab-446078{{"C++ における変数とデータ型"}} cpp/string_manipulation -.-> lab-446078{{"C++ における変数とデータ型"}} end

異なるサイズの整数型変数(short、int、long)を宣言する

このステップでは、C++ におけるさまざまな整数型変数の種類と、さまざまなメモリサイズの変数を宣言する方法について学びます。C++ は、データの保管に最適なストレージを選ぶために複数の整数型を提供しています。

WebIDE を開き、~/project ディレクトリに integer_variables.cpp という新しいファイルを作成します。

touch ~/project/integer_variables.cpp

integer_variables.cpp ファイルに次のコードを追加します。

#include <iostream>

int main() {
    // 短整数型(通常は2バイト)を宣言
    short smallNumber = 32767;

    // 標準整数型(通常は4バイト)を宣言
    int regularNumber = 2147483647;

    // 長整数型(通常は4または8バイト)を宣言
    long largeNumber = 9223372036854775807L;

    // さまざまな整数型の値を表示
    std::cout << "Short Integer: " << smallNumber << std::endl;
    std::cout << "Regular Integer: " << regularNumber << std::endl;
    std::cout << "Long Integer: " << largeNumber << std::endl;

    return 0;
}

整数型を解説しましょう。

  1. short

    • 最小の整数型
    • 通常は2バイトのメモリを使用
    • 範囲:-32,768 から 32,767
  2. int

    • 標準の整数型
    • 通常は4バイトのメモリを使用
    • 範囲:-2,147,483,648 から 2,147,483,647
  3. long

    • より大きな整数型
    • システムによっては4または8バイト
    • 範囲:-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807

このプログラムをコンパイルして実行します。

g++ integer_variables.cpp -o integer_variables
./integer_variables

出力例:

Short Integer: 32767
Regular Integer: 2147483647
Long Integer: 9223372036854775807

覚えておくべき要点:

  • 保管する値の範囲に基づいて整数型を選ぶ
  • 長整数型には L 接尾辞を付けることで適切な型解釈を確保する
  • これらの型に対するメモリサイズは、異なるシステムで若干異なる場合がある

整数型とその範囲を理解することは、C++ プログラミングの基礎です。これらの型は、さまざまな範囲の整数を効率的に保管するために異なるメモリ割り当てを提供します。これらの型がより広いC++ 型システムにどのようにフィットするかを視覚化しましょう。

graph LR A[C++ Data Types] --> B[Fundamental Types] A --> C[Derived Types] B --> D[Integer Types] B --> E[Floating-Point Types] B --> F[Character Types] B --> G[Boolean] D --> D1[short] D --> D2[int] D --> D3[long] D --> D4[long long] E --> E1[float] E --> E2[double] E --> E3[long double] F --> F1[char] F --> F2[wchar_t] C --> H[Arrays] C --> I[Pointers] C --> J[References] C --> K[std::string] style A fill:#f9f,stroke:#333,stroke-width:2px style B fill:#bbf,stroke:#333 style C fill:#bbf,stroke:#333

次のステップでは、浮動小数点数型、文字型、ブール型について学びます。

小数点を持つ浮動小数点数型(float と double)の変数を初期化する

このステップでは、C++ における浮動小数点数型の変数、特に float 型と double 型について学びます。これらの型は、小数を扱うために必要不可欠です。これらの型は、小数部分を持つ数を表現するために重要です。

WebIDE を開き、~/project ディレクトリに floating_point.cpp という新しいファイルを作成します。

touch ~/project/floating_point.cpp

floating_point.cpp ファイルに次のコードを追加します。

#include <iostream>
#include <iomanip>

int main() {
    // 浮動小数点数型の変数を宣言して初期化
    float smallDecimal = 3.14f;  // 'f' 接尾辞は float 型を示す
    float scientificNotation = 2.5e3f;  // 2.5 × 10^3 = 2500.0

    // 倍精度浮動小数点数型の変数を宣言して初期化
    double preciseDecimal = 3.14159265359;
    double largeDecimal = 1.23456789e10;  // 12,345,678,900.0

    // 小数出力の精度を設定
    std::cout << std::fixed << std::setprecision(4);

    // 浮動小数点数型の値を表示
    std::cout << "Float Values:" << std::endl;
    std::cout << "Small Decimal: " << smallDecimal << std::endl;
    std::cout << "Scientific Notation: " << scientificNotation << std::endl;

    // 倍精度浮動小数点数型の値を表示
    std::cout << "\nDouble Values:" << std::endl;
    std::cout << "Precise Decimal: " << preciseDecimal << std::endl;
    std::cout << "Large Decimal: " << largeDecimal << std::endl;

    return 0;
}

浮動小数点数型を解説しましょう。

  1. float

    • 単精度浮動小数点数型
    • 通常は4バイトのメモリを使用
    • 精度が低く、基本的な小数計算に適している
    • 初期化時に 'f' 接尾辞を使用する
  2. double

    • 倍精度浮動小数点数型
    • 通常は8バイトのメモリを使用
    • 精度が高く、ほとんどの小数計算に好まれる
    • より大きく、より正確な小数を表現できる

このプログラムをコンパイルして実行します。

g++ floating_point.cpp -o floating_point
./floating_point

出力例:

Float Values:
Small Decimal: 3.1416
Scientific Notation: 2500.0000

Double Values:
Precise Decimal: 3.1416
Large Decimal: 12345678900.0000

覚えておくべき要点:

  • 小さく、精度の低い小数には float を使用する
  • 精度の高い計算には double を使用する
  • 浮動小数点数リテラルには 'f' 接尾辞が重要である
  • 科学表記を使えば、非常に大きい数や非常に小さい数を表現できる
  • std::fixedstd::setprecision() は、小数出力を制御するのに役立つ

シングルクォートで文字型変数を宣言して初期化する

このステップでは、C++ における文字型変数について学びます。文字型変数は、1文字を格納するために使用され、シングルクォートを使って宣言されます。文字は、個々の文字、数字、または記号を表す基本的なデータ型です。

WebIDE を開き、~/project ディレクトリに character_variables.cpp という新しいファイルを作成します。

touch ~/project/character_variables.cpp

character_variables.cpp ファイルに次のコードを追加します。

#include <iostream>

int main() {
    // 文字型変数を宣言して初期化
    char letter = 'A';
    char number = '7';
    char symbol = '$';

    // 文字型の値を表示
    std::cout << "Letter: " << letter << std::endl;
    std::cout << "Number: " << number << std::endl;
    std::cout << "Symbol: " << symbol << std::endl;

    // 文字の算術演算を示す
    char nextLetter = letter + 1;
    std::cout << "Next Letter: " << nextLetter << std::endl;

    // 文字の ASCII 値
    std::cout << "ASCII value of 'A': " << (int)letter << std::endl;

    return 0;
}

文字型変数を解説しましょう。

  1. 宣言:

    • char キーワードを使用する
    • 常にシングルクォート '' で初期化する
    • 1文字を格納できる
  2. 文字型:

    • 文字:'A', 'b', 'Z'
    • 数字:'0', '7', '9'
    • 記号:'$', '@', '#'
  3. 文字の算術演算:

    • 文字は整数演算を使って操作できる
    • 各文字には基礎となる ASCII 値がある

このプログラムをコンパイルして実行します。

g++ character_variables.cpp -o character_variables
./character_variables

出力例:

Letter: A
Number: 7
Symbol: $
Next Letter: B
ASCII value of 'A': 65

覚えておくべき要点:

  • 文字リテラルにはシングルクォート '' を使用する
  • 文字は数値(ASCII)として格納される
  • 文字で算術演算を行うことができる
  • 各文字は1バイトのメモリを占める

std::string を使って文字列変数を作成する

このステップでは、C++ の std::string クラスを使って文字列変数を作成し操作する方法を学びます。文字列は文字のシーケンスであり、文字配列と比較してテキストを扱うのがより簡単になります。

WebIDE を開き、~/project ディレクトリに string_variables.cpp という新しいファイルを作成します。

touch ~/project/string_variables.cpp

string_variables.cpp ファイルに次のコードを追加します。

#include <iostream>
#include <string>

int main() {
    // 文字列変数を宣言して初期化
    std::string greeting = "Hello, World!";
    std::string name = "John Doe";
    std::string empty_string;

    // 文字列変数を表示
    std::cout << "Greeting: " << greeting << std::endl;
    std::cout << "Name: " << name << std::endl;

    // 文字列の連結
    std::string welcome = greeting + " Welcome, " + name;
    std::cout << "Welcome Message: " << welcome << std::endl;

    // 文字列の長さ
    std::cout << "Greeting length: " << greeting.length() << std::endl;

    // 個々の文字にアクセス
    std::cout << "First character of name: " << name[0] << std::endl;

    // 文字列を変更
    name = "Jane Smith";
    std::cout << "Updated Name: " << name << std::endl;

    return 0;
}

文字列操作を解説しましょう。

  1. 宣言:

    • 文字列機能を使用するには #include <string> を使用する
    • std::string キーワードで宣言する
    • テキストで初期化するか、空のままにすることができる
  2. 文字列操作:

    • + 演算子を使った連結
    • .length() メソッドで長さを取得
    • [] インデックスを使って文字にアクセス

このプログラムをコンパイルして実行します。

g++ string_variables.cpp -o string_variables
./string_variables

出力例:

Greeting: Hello, World!
Name: John Doe
Welcome Message: Hello, World! Welcome, John Doe
Greeting length: 13
First character of name: J
Updated Name: Jane Smith

覚えておくべき要点:

  • std::string は文字配列よりも柔軟である
  • 文字列は簡単に変更および操作できる
  • .length() を使って文字列のサイズを取得する
  • 文字列は + 演算子で連結できる

型キャストを使って異なる数値型間で変換する

このステップでは、C++ における型キャストについて学びます。型キャストは、異なる数値型間で値を変換するために使用されます。型キャストは、元の値を失うことなく変数のデータ型を変更する必要がある場合に不可欠です。

WebIDE を開き、~/project ディレクトリに type_casting.cpp という新しいファイルを作成します。

touch ~/project/type_casting.cpp

type_casting.cpp ファイルに次のコードを追加します。

#include <iostream>

int main() {
    // 暗黙的な型キャスト(自動変換)
    int intValue = 10;
    double doubleValue = intValue;  // 自動的に int を double に変換
    std::cout << "暗黙的な変換(int から double): " << doubleValue << std::endl;

    // 明示的な型キャスト(手動変換)
    double pi = 3.14159;
    int truncatedPi = (int)pi;  // C スタイルのキャスト、小数部分を切り捨てる
    std::cout << "明示的な変換(double から int): " << truncatedPi << std::endl;

    // 型変換用の static_cast
    float floatValue = 7.5f;
    int roundedValue = static_cast<int>(floatValue);
    std::cout << "static_cast(float から int): " << roundedValue << std::endl;

    // 潜在的なデータ損失のある数値型間の変換
    long largeNumber = 1000000;
    short smallNumber = static_cast<short>(largeNumber);
    std::cout << "大きい型から小さい型への変換: " << smallNumber << std::endl;

    // 計算で異なる数値型を混ぜる
    int a = 5;
    double b = 2.5;
    double result = a + b;  // int が自動的に double に変換
    std::cout << "型が混ざった計算: " << result << std::endl;

    return 0;
}

型キャストを解説しましょう。

  1. 暗黙的なキャスト:

    • 互換性のある型間の自動変換
    • プログラマの介入なしに起こる
    • より大きな型に変換する場合、一般的に安全
  2. 明示的なキャスト:

    • 手動の型変換
    • static_cast<>() または C スタイルの (型) 構文を使用
    • データ損失や予期しない結果につながる可能性がある

このプログラムをコンパイルして実行します。

g++ type_casting.cpp -o type_casting
./type_casting

出力例:

暗黙的な変換(int から double): 10
明示的な変換(double から int): 3
static_cast(float から int): 7
大きい型から小さい型への変換: 16960
型が混ざった計算: 7.5

覚えておくべき要点:

  • 小さな型にキャストする際は注意する
  • より安全で明示的な変換には static_cast<>() を使用する
  • 変換中の潜在的なデータ損失を理解する
  • 計算では暗黙的な変換が自動的に起こり得る

const キーワードを使って定数を定義する

このステップでは、C++ で const キーワードを使って定数を定義する方法を学びます。定数は初期化後に変更できない値であり、意図しない変更からデータを保護する不変な変数を作成する方法を提供します。

WebIDE を開き、~/project ディレクトリに constants.cpp という新しいファイルを作成します。

touch ~/project/constants.cpp

constants.cpp ファイルに次のコードを追加します。

#include <iostream>

int main() {
    // const キーワードを使って定数を定義
    const int MAX_USERS = 100;
    const double PI = 3.14159;
    const char GRADE_SEPARATOR = '-';

    // 定数の使用例を示す
    std::cout << "最大ユーザ数: " << MAX_USERS << std::endl;
    std::cout << "PI の値: " << PI << std::endl;
    std::cout << "評価区切り文字: " << GRADE_SEPARATOR << std::endl;

    // 命名規則: 定数は通常大文字を使用
    const int DAYS_IN_WEEK = 7;
    const std::string WELCOME_MESSAGE = "Welcome to C++ Programming!";

    std::cout << "1週間の日数: " << DAYS_IN_WEEK << std::endl;
    std::cout << "歓迎メッセージ: " << WELCOME_MESSAGE << std::endl;

    // 定数を変更しようとする(コンパイルエラーになる)
    // 次の行のコメントを外してエラーを確認する
    // MAX_USERS = 200;  // これはコンパイル時エラーになります

    return 0;
}

定数を解説しましょう。

  1. 宣言:

    • 型の前に const キーワードを使用する
    • 宣言時に初期化する必要がある
    • 初期化後は変更できない
  2. ベストプラクティス:

    • 定数名には大文字を使用する
    • すべてのデータ型で動作する
    • 意図しない変更を防ぐのに役立つ

このプログラムをコンパイルして実行します。

g++ constants.cpp -o constants
./constants

出力例:

最大ユーザ数: 100
PI の値: 3.14159
評価区切り文字: -
1週間の日数: 7
歓迎メッセージ: Welcome to C++ Programming!

覚えておくべき要点:

  • const は不変な変数を作成する
  • 定数は宣言時に初期化する必要がある
  • コードの読みやすさとセキュリティを向上させる
  • 重要な値の意図しない変更を防ぐ

真偽条件に対してブール型変数を使用する

このステップでは、C++ におけるブール型変数について学びます。ブール型変数は真偽値を表します。ブール型は、条件論理を作成し、プログラム内で決定を下す際に不可欠です。

WebIDE を開き、~/project ディレクトリに boolean_variables.cpp という新しいファイルを作成します。

touch ~/project/boolean_variables.cpp
#include <iostream>

int main() {
    // ブール型変数を宣言
    bool isStudent = true;
    bool hasPassedExam = false;

    // ブール型の値を表示
    std::cout << "学生かどうか: " << std::boolalpha << isStudent << std::endl;
    std::cout << "試験に合格しているか: " << hasPassedExam << std::endl;

    // ブール型の値を返す比較演算
    int age = 20;
    bool isAdult = (age >= 18);
    std::cout << "成人かどうか: " << isAdult << std::endl;

    // 論理演算
    bool hasScholarship = true;
    bool canEnroll = isStudent && isAdult;
    std::cout << "入学できるか: " << canEnroll << std::endl;

    // 否定
    bool isUnemployed =!hasPassedExam;
    std::cout << "失業しているか: " << isUnemployed << std::endl;

    // ブール型を使用した条件文
    if (isStudent && hasPassedExam) {
        std::cout << "おめでとうございます!次のレベルに進むことができます。" << std::endl;
    } else {
        std::cout << "学業成績を向上させる必要があります。" << std::endl;
    }

    return 0;
}

ブール型変数を解説しましょう。

  1. 宣言:

    • bool キーワードを使用
    • true または false のみが可能
    • 条件論理に便利
  2. 演算:

    • 比較演算子がブール型の結果を生成
    • 論理 AND &&
    • 論理 OR ||
    • 否定 !

このプログラムをコンパイルして実行します。

g++ boolean_variables.cpp -o boolean_variables
./boolean_variables

出力例:

学生かどうか: true
試験に合格しているか: false
成人かどうか: true
入学できるか: true
失業しているか: true
学業成績を向上させる必要があります。

覚えておくべき要点:

  • ブール型は真偽条件を表す
  • 比較および論理演算で使用される
  • プログラム内の決定に不可欠
  • std::boolalpha は 1/0 ではなく "true"/"false" を表示する

sizeof() を使って異なるデータ型のメモリサイズを確認する

このステップでは、C++ における sizeof() 演算子について学びます。この演算子を使うと、異なるデータ型のメモリサイズを決定できます。メモリ割り当てを理解することは、効率的なプログラミングとメモリ管理にとって重要です。

WebIDE を開き、~/project ディレクトリに sizeof_operator.cpp という新しいファイルを作成します。

touch ~/project/sizeof_operator.cpp
#include <iostream>

int main() {
    // 整数型のメモリサイズを確認
    std::cout << "整数型のメモリサイズ:" << std::endl;
    std::cout << "short: " << sizeof(short) << " バイト" << std::endl;
    std::cout << "int: " << sizeof(int) << " バイト" << std::endl;
    std::cout << "long: " << sizeof(long) << " バイト" << std::endl;
    std::cout << "long long: " << sizeof(long long) << " バイト" << std::endl;

    // 浮動小数点数型のメモリサイズを確認
    std::cout << "\n浮動小数点数型のメモリサイズ:" << std::endl;
    std::cout << "float: " << sizeof(float) << " バイト" << std::endl;
    std::cout << "double: " << sizeof(double) << " バイト" << std::endl;
    std::cout << "long double: " << sizeof(long double) << " バイト" << std::endl;

    // 文字型とブール型のメモリサイズを確認
    std::cout << "\nその他の型のメモリサイズ:" << std::endl;
    std::cout << "char: " << sizeof(char) << " バイト" << std::endl;
    std::cout << "bool: " << sizeof(bool) << " バイト" << std::endl;

    // 特定の変数のメモリサイズを確認
    int intVar = 42;
    double doubleVar = 3.14;
    char charVar = 'A';

    std::cout << "\n変数のメモリサイズ:" << std::endl;
    std::cout << "intVar: " << sizeof(intVar) << " バイト" << std::endl;
    std::cout << "doubleVar: " << sizeof(doubleVar) << " バイト" << std::endl;
    std::cout << "charVar: " << sizeof(charVar) << " バイト" << std::endl;

    return 0;
}

sizeof() 演算子を解説しましょう。

  1. 目的:

    • データ型のメモリサイズを決定する
    • バイト数でサイズを返す
    • メモリ割り当てを理解するのに役立つ
  2. 使用法:

    • データ型に対して使用できる
    • 変数に対して使用できる
    • メモリ要件を理解するのに役立つ

このプログラムをコンパイルして実行します。

g++ sizeof_operator.cpp -o sizeof_operator
./sizeof_operator

出力例:

整数型のメモリサイズ:
short: 2 バイト
int: 4 バイト
long: 8 バイト
long long: 8 バイト

浮動小数点数型のメモリサイズ:
float: 4 バイト
double: 8 バイト
long double: 16 バイト

その他の型のメモリサイズ:
char: 1 バイト
bool: 1 バイト

変数のメモリサイズ:
intVar: 4 バイト
doubleVar: 8 バイト
charVar: 1 バイト

覚えておくべき要点:

  • sizeof() はバイト数でメモリサイズを返す
  • システムによってメモリサイズが異なる場合がある
  • データ型のメモリ要件を理解するのに役立つ
  • 低レベルのメモリ管理に役立つ

整数オーバーフローの状況を処理する

このステップでは、整数オーバーフローについて学びます。整数オーバーフローとは、計算結果が整数型の最大限を超える場合に発生する状況です。オーバーフローを理解し、防止することは、堅牢で信頼性の高いC++ プログラムを書くために不可欠です。

WebIDE を開き、~/project ディレクトリに integer_overflow.cpp という新しいファイルを作成します。

touch ~/project/integer_overflow.cpp
#include <iostream>
#include <limits>

int main() {
    // short int で整数オーバーフローを示す
    short smallInt = 32767;  // short の最大値
    std::cout << "元の値: " << smallInt << std::endl;

    // 最大値を超えてインクリメントするとオーバーフローが発生
    smallInt++;
    std::cout << "オーバーフロー後: " << smallInt << std::endl;

    // 符号なし整数を使って負のオーバーフローを防止する
    unsigned int positiveOnly = 0;
    std::cout << "符号なし整数の開始値: " << positiveOnly << std::endl;

    // 符号なし整数をデクリメントすると値が戻る
    positiveOnly--;
    std::cout << "符号なし整数の値の戻り: " << positiveOnly << std::endl;

    // 整数の限界値を確認する
    std::cout << "\n整数型の限界値:" << std::endl;
    std::cout << "Short の最大値: " << std::numeric_limits<short>::max() << std::endl;
    std::cout << "Short の最小値: " << std::numeric_limits<short>::min() << std::endl;

    // 安全なインクリメント方法
    try {
        if (smallInt < std::numeric_limits<short>::max()) {
            smallInt++;
            std::cout << "安全なインクリメント: " << smallInt << std::endl;
        } else {
            std::cout << "さらにインクリメントできません" << std::endl;
        }
    } catch (const std::overflow_error& e) {
        std::cout << "オーバーフローエラー: " << e.what() << std::endl;
    }

    return 0;
}

整数オーバーフローを解説しましょう。

  1. オーバーフローの特性:

    • 値が型の最大限を超えると発生する
    • 予期しない結果を引き起こす可能性がある
    • 符号付き型と符号なし型で異なる動作をする
  2. 防止策:

    • 計算前に限界値を確認する
    • より大きな整数型を使用する
    • 負でない値には符号なし型を使用する
    • 範囲チェックを実装する

このプログラムをコンパイルして実行します。

g++ integer_overflow.cpp -o integer_overflow
./integer_overflow

出力例:

元の値: 32767
オーバーフロー後: -32768
符号なし整数の開始値: 0
符号なし整数の値の戻り: 4294967295

整数型の限界値:
Short の最大値: 32767
Short の最小値: -32768
安全なインクリメント: -32767

覚えておくべき要点:

  • 整数オーバーフローは予期しない結果を引き起こす可能性がある
  • 異なる型は異なるオーバーフローの動作をする
  • 計算前に常に値の範囲を確認する
  • 計算に適切なデータ型を使用する

まとめ

この実験では、C++ におけるさまざまなデータ型とそれらを使った方法について学びました。まず、shortintlong などのさまざまなサイズの整数型変数を宣言し、それぞれの範囲を調べました。次に、floatdouble などの浮動小数点数型変数を小数点付きで初期化しました。また、シングルクォートを使って文字型変数を宣言および初期化する方法と、std::string クラスを使って文字列変数を作成する方法を学びました。さらに、さまざまな数値型の間で変換するための型キャストを調べ、const キーワードを使って定数を定義し、真偽条件に対してブール型変数を使いました。最後に、sizeof() 演算子を使ってさまざまなデータ型のメモリサイズを確認し、整数オーバーフローの状況を処理しました。