Menu
Coddy logo textTech

プログラムの基本構造

CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 4/74。

C++では、ほとんどの実行可能なコードは関数の中に記述されます。main関数はC++プログラムのエントリポイントです。C++プログラムを実行すると、mainの中にあるコードが最初に実行されます。グローバル宣言やプリプロセッサディレクティブのような一部のコードは関数の外に記述されることがあり、また、独自のカスタム関数を作成することもできます(これについては後のレッスンで説明します)。

基本的なC++プログラムの簡単な構成は以下の通りです:

#include <iostream> // 入出力のためのプリプロセッサ指令

int main() { // メイン関数
    std::cout << "This is my first C++ program!"; // 出力文
    return 0; // リターン文(推奨される慣習)
}

C++では、#includeプリプロセッサディレクティブは、プログラムで使用できる関数やオブジェクトの宣言が含まれているヘッダーファイルをインクルードするために使用されます。この場合、#include <iostream>はiostreamヘッダーをインクルードし、コンソールにテキストを出力するためのstd::coutのようなオブジェクトを提供します。

上記のプログラムの主要な部分を詳しく見ていきましょう:

  • プリプロセッサ指令 (#include <iostream>): この行はコンパイル前に実行され、コンパイラに iostream ヘッダーファイルをインクルードするように指示します。これにより、プログラムが入出力ツールにアクセスできるようになります。
  • 関数 (int main() { ... }): 関数は、タスクを実行する名前付きのコードブロックです。main の前にある int は、関数が整数値を返すことを示しています。波括弧 {} は関数のスコープを定義します。その中にあるものはすべて main に属します。スコープとは、ブロック内のコードがその中に含まれ、そのブロックの一部として実行されることを意味します。
  • 名前空間プレフィックス (std::): std:: プレフィックスは、標準ライブラリの名前空間内で cout を探すようコンパイラに伝えます。名前空間は、関連する名前をグループ化し、衝突を避けるための方法です。名前空間については、後のレッスンで詳しく説明します。
  • 出力ステートメント (std::cout): これはコンソールにテキストを表示します。
  • リターンステートメント (return 0;): これはプログラムが正常に終了したことを示します。C++では main 内でのリターンステートメントは厳密には必須ではありませんが、含めることが推奨される慣習です。

重要な注意点:C++では、各ステートメントはセミコロン(;)で終わる必要があります。セミコロンは必須であり、ステートメントの終わりに達したことをC++に伝えます。セミコロンを付け忘れると、コンパイルエラーが発生します。ただし、波括弧 {} で囲まれたコードブロック(関数宣言など)にはセミコロンは不要であることに注意してください。

challenge icon

チャレンジ

初心者

main関数を持つC++プログラムを作成してください。main関数の中で、次のテキストを出力するコードを記述してください:

This is my first C++ program!

チートシート

基本的なC++プログラムの構造:

#include <iostream> // 入出力用のヘッダーをインクルードします

int main() { // プログラムの開始点
    std::cout << "This is my first C++ program!"; // テキストを出力します
    return 0; // 正常終了を通知します
}
  • #include <iostream>std::coutのような入出力ツールを含めます
  • int main() { ... } — メイン関数。ここから実行が始まります
  • std:: — 標準ライブラリの名前にアクセスするための名前空間プレフィックス
  • std::cout — コンソールにテキストを表示します
  • すべての文は;で終わります。コードブロック{}は終わりません

自分で試してみよう

#include <iostream>
// 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン