【C++入門】C++とは
はじめに
C++は汎用的で高性能なプログラミング言語であり、幅広いアプリケーションやシステムの開発に利用されています。この記事では、プログラミング初心者の方々を対象に、C++の基本的な概念と文法について解説します。理解しやすく学びやすいように、具体的な例を交えて進めていきます。
- はじめに
- 1. C++とは?
- 2. 環境のセットアップ
- 3. Hello, World! - 最初のプログラム
- 4. 変数とデータ型
- 5. 演算子
- 6. 制御構造
- 7. 関数
- 8. クラスとオブジェクト
- 9. ポインタ
- 10. 標準ライブラリの利用
- 11. プロジェクトのビルドと実行
1. C++とは?
C++は、1980年代にBjarne Stroustrupによって開発されたプログラミング言語です。C言語を基にしており、オブジェクト指向の機能を追加した言語として知られています。C++の特徴は、パフォーマンスと柔軟性の高さであり、システムプログラミングからデスクトップアプリケーション、ゲーム開発まで幅広い用途で使用されています。
2. 環境のセットアップ
C++を学ぶ前に、開発環境をセットアップしましょう。主流のC++開発環境としては、Visual Studio、Code::Blocks、そしてGNU Compiler Collection (GCC)があります。これらのツールをインストールして、環境を整えてください。
課題
この記事では「課題」という形で読者の方に演習していただけるようにしようと思います。 まずは、C++を実行できる環境を構築してください。 基本的に必要となるのは以下の二つです。
エディタは実際にコードを書くためのツールで、標準のメモ帳でも可能です。しかし、より効率よくプログラミングするには適切なエディタを選ぶと良いです。
- Visual Studio Cord
- Vim(Linux系)
の2点がおすすめです。 それでは、頑張ってください。
3. Hello, World! - 最初のプログラム
さっそく最初のプログラムを書いてみましょう。
#include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; }
このプログラムは、画面に「Hello, World!」と表示するシンプルな例です。#include <iostream>
は、入出力ストリームを利用するためのライブラリを読み込むためのコードです。main()
関数は、プログラムのエントリーポイントであり、実行時に最初に呼び出される関数です。
実行結果
以下のコマンドでコンパイルをします。
g++ filename.cpp
以下のコマンドで実行します。
./a.out
出力結果は以下の通りです。
Hello, World!
4. 変数とデータ型
変数は、データを格納するためのメモリ領域を示すものです。C++では、変数を宣言する際に適切なデータ型を指定する必要があります。例えば、整数を格納するためにはint
型を、小数点数を格納するためにはfloat
型を使用します。
#include <iostream> int main() { int age = 25; float height = 175.5; char grade = 'A'; std::cout << "Age: " << age << ", Height: " << height << ", Grade: " << grade << std::endl; return 0; }
実行結果
以下のコマンドでコンパイルをします。
g++ filename.cpp
以下のコマンドで実行します。
./a.out
出力結果は以下の通りです。
Age: 25, Height: 175.5, Grade: A
課題
Age
, Height
, Grade
をユーザからの入力(標準入力)で与えてください。
出力時はstd::cout
を使用しましたが、入力時はstd::cin
を使用します。不等号の向きに注意してコーディングしてみてください。
5. 演算子
C++には、算術演算子(+
、-
、*
、/
など)や比較演算子(==
、!=
、<
、>
など)、論理演算子(&&
、||
、!
など)があります。これらを使用して数値や条件の演算ができます。
6. 制御構造
C++では、条件に応じて処理を分岐させるif
文や、繰り返し処理を行うfor
ループやwhile
ループを利用できます。
#include <iostream> int main() { int num = 5; // if文 if (num > 0) { std::cout << "Positive number." << std::endl; } else if (num == 0) { std::cout << "Zero." << std::endl; } else { std::cout << "Negative number." << std::endl; } // forループ for (int i = 0; i < 5; i++) { std::cout << i << " "; } std::cout << std::endl; // whileループ int i = 0; while (i < 5) { std::cout << i << " "; i++; } std::cout << std::endl; return 0; }
実行結果
以下のコマンドでコンパイルをします。
g++ filename.cpp
以下のコマンドで実行します。
./a.out
出力結果は以下の通りです。
Positive number. 0 1 2 3 4 0 1 2 3 4
7. 関数
関数は、複数の処理をひとまとめにして、名前をつけたものです。C++では、関数を定義して再利用することができます。
#include <iostream> // 関数の定義 int add(int a, int b) { return a + b; } int main() { int result = add(3, 5); // 関数の呼び出し std::cout << "Result: " << result << std::endl; return 0; }
実行結果
以下のコマンドでコンパイルをします。
g++ filename.cpp
以下のコマンドで実行します。
./a.out
出力結果は以下の通りです。
Result: 8
8. クラスとオブジェクト
C++はオブジェクト指向言語であり、クラスとオブジェクトの概念が重要です。クラスはオブジェクトの設計図であり、オブジェクトはそのクラスのインスタンスです。
この概念はプログラムにおいて非常に重要で、難易度が高い項目となりますので、ここでは簡単に全体像を示すだけとさせていただきます。詳しい定義については別の記事にて解説します。
#include <iostream> // クラスの定義 class Rectangle { public: int width; int height; int getArea() { return width * height; } }; int main() { // オブジェクトの作成 Rectangle rect; rect.width = 5; rect.height = 3; // メンバ関数の呼び出し int area = rect.getArea(); std::cout << "Area: " << area << std::endl; return 0; }
実行結果
以下のコマンドでコンパイルをします。
g++ filename.cpp
以下のコマンドで実行します。
./a.out
出力結果は以下の通りです。
Area: 15
9. ポインタ
ポインタは、変数のメモリアドレスを格納する特殊な変数です。C++ではポインタを使用して、直接メモリを操作することができます。
こちらもクラスに引き続き重要で難易度が高い項目となります。
簡単に説明すると、変数が格納されている場所とその変数の値の二つを扱うことが可能になります。
配列と似たような役割ですが詳しい違いについては別の記事で解説します。
#include <iostream> int main() { int num = 10; int* ptr = # // ポインタの定義とアドレスの代入 std::cout << "Value: " << *ptr << std::endl; // ポインタが指し示す値の表示 return 0; }
実行結果
以下のコマンドでコンパイルをします。
g++ filename.cpp
以下のコマンドで実行します。
./a.out
出力結果は以下の通りです。
Value: 10
10. 標準ライブラリの利用
C++には、便利な標準ライブラリが用意されています。例えば、数学関数やデータ構造を簡単に利用することができます。
#include <iostream> #include <cmath> int main() { double x = 2.0; double result = std::sqrt(x); // 平方根の計算 std::cout << "Square root of " << x << " is " << result << std::endl; return 0; }
実行結果
以下のコマンドでコンパイルをします。
g++ filename.cpp
以下のコマンドで実行します。
./a.out
出力結果は以下の通りです。
Square root of 2 is 1.41421
11. プロジェクトのビルドと実行
最後に、C++プロジェクトのビルドと実行方法を簡単に説明します。環境によって異なりますが、通常はソースコードをコンパイルして実行可能なファイルを生成し、それを実行することでプログラムが実行されます。
以上でC++の基本的な概念と文法についての入門ガイドを終了します。これらの基本的な知識をマスターすることで、より高度なC++プログラミングを行う準備が整います。継続的な学習と実践を通じて、C++の力を最大限に発揮できるようにしてください。幸運を祈ります!