Skip to content
On this page

2.1. はじめてのプログラミング解説

おさらい:第1章のコード

cpp
#include <iostream>
using namespace std;

int main() {
  cout << "Hello, traP!" << endl;
  // Hello, traP を出力する
}

1行目から順に、まずは「用語」を説明していく。
新しい単語がどんどん出てくるが、単語の説明は 2.1.1. 以降で行う。今は単語を頭の片隅に入れておくレベルで良いだろう。

cpp
#include <iostream>

iostream と呼ばれるファイルを「インクルード」している。

cpp
using namespace std;

std:: を省略できるようにする。

cpp
int main() {

main という名前の「関数」を宣言している。 プログラムは、ここから実行される。

cpp
cout << "Hello, traP!" << endl;

コンソールに Hello traP! を出力する。 " で囲うのは、これが文字列なのか、命令なのかを区別するため。(VSCodeを使っていれば "Hello traP!" の部分だけ色分けされているはず。) endl についても 2.1.1. で解説する。

cpp
// Hello, traP を出力する

コメントを書いている。

cpp
}

波括弧を閉じている。

2.1.0. コメント

// と書くと、その行の // 以降の部分はコメントになり、ブログラム実行時には無視される。

TIP

プログラムの先頭に // を付けてコメントにする事をコメントアウトする、と呼ぶことがある。

プログラムがどのような動作をするのか、どういう目的のプログラムなのか、を簡易的に記述すると良い。見たら分かるというレベルになれば、コメントを書く必要はない。

cpp
// Hello, traP を出力する

2.1.1. cout

cpp
#include <iostream>
using namespace std;

int main() {
  cout << "Hello, traP!" << endl;
  // Hello, traP を出力する
}

cout はコンソール(画面)に文字列を出力する命令である。C++ 特有の記法で、 << が ← みたいなものだと考えると良い。cout に向かって文字列を送信しているイメージ。複数つなげることもできる。(以下の例を参照)

cpp
cout << "Hello, " << "traP!" << endl;

また、endl は改行の命令を意味する。

2.1.1.1. エスケープシーケンス

出力に " を含めたい場合、 cout << "Hello, "traP"!" << endl; と記述してもコンパイルができない。これは "Hello, " で文字列が区切られてしまっているためである。 これを回避するために、(Windows: ¥ キー, Mac: Option (⌥) キーを推しながら ¥ キー) \ という文字を使って \" と書くことで、 " を出力することができる。 このように \ を使った文字の出力の仕方をエスケープシーケンスと呼ぶ。

cpp
cout << "Hello, \"traP\"!" << endl; // output: Hello, "traP"!

他にも以下 Hello, \n traP! のように文字列中に \n と書くと改行され、この場合は "Hello, ""traP!" の間に改行が入る。

cpp
cout << "Hello, \ntraP!" << endl;
txt
[output]
Hello,
traP!

また、\を文字列内で使いたい場合は、\\ と書く。

cpp
cout << "\\\\ Hello, traP!! //" << endl;
txt
[output]
\\ Hello, traP!! //

TIP

文字列中では // を書いてもコメントアウトされない。

2.1.2. セミコロン

C++ では、; を多用する。; は「命令の区切り」を示す。C++ においては、関数を呼び出すときや、次に出てくる「変数」の宣言時など、各命令の終わりには ; を記述しなければならない。

TIP

最終的にはコンピューターが機械語に変換する必要があり、その際に命令の区切りをはっきりさせるために ;を使うと考えると良い。

2.1.3. include 命令

cpp
#include <iostream>
using namespace std;

int main() {
  cout << "Hello, traP!" << endl;
  // Hello, traP を出力する
}

#include は、外部の関数(やその他もろもろ)が実装されているファイルを取り込んで、使えるようにする命令である。

このソースコードでは iostream と呼ばれるファイルをインクルードしている。これは入出力に関する便利な関数(など)が用意されているファイルである。具体的には、 coutiostream に含まれている。

自分一人で一から作る事は非常に難しいので、予め用意されたソースコードを適宜用いてプログラミングをするのである。

2.1.4. using namespace std

cpp
#include <iostream>
using namespace std;

int main() {
  cout << "Hello, traP!" << endl;
  // Hello, traP を出力する
}

cout と記述しているが、本来ならば std::cout と書く必要がある。 std:: が何を意味しているかは深くは解説しないが(std = standard くらいは知っても良いだろう)、毎回std:: と書くのは少し不便なので、これを書かない(省略する)という宣言をしている。

2.1.5. コメント

cpp
#include <iostream>
using namespace std;

int main() {
  cout << "Hello, traP!" << endl;
  // Hello, traP を出力する
}

行の先頭に // と書く事でその行をコメントにすることができる。コメントはコンパイル時には無視される。 メモに使うと良い。

2.1.6. main 関数

cpp
#include <iostream>
using namespace std;

int main() {
  cout << "Hello, traP!" << endl;
  // Hello, traP を出力する
}

コンピューターは main 関数 を実行する。main 関数の中身がプログラムのメインの部分と捉えても良い。 「関数」についての詳細は V 章で扱う。

ソースコードの中で int main() の後の { と、最終行の } は対応していて、 { } の内側が main 関数の内容である。

今のところは、「{ からプログラムが始まって、末尾の} で終わる」と考えれば十分である。