C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++プログラムの基本構造を徹底解説!Hello Worldで学ぶ入門

C++プログラムの基本構造とは

プログラミング言語を効率よく習得する最良の方法は、実際にプログラムを書いてみることです。初心者が最初に書くプログラムとして定番なのが、「Hello World」という文字列を画面に表示するだけのシンプルなプログラムです。ごく簡単な内容ですが、C++プログラムに必要な基本的な構成要素がすべて詰まっています。それでは、さっそくコードを見てみましょう。

#include<iostream>
int main() {
    std::cout << "Hello World\n";
}

ここからは、このプログラムを1行ずつ詳しく分解して解説していきます。

1行目:#include<iostream>

プログラムは「#include<iostream>」という行から始まります。これは、コンパイラに対して「iostreamファイル(入出力ストリームを管理するためのヘッダーファイル)の内容をソースファイルに取り込め」と指示するものです。iostreamヘッダーを使用することで標準入出力操作が可能になり、このプログラムの出力結果(Hello World)を画面に表示できるようになります。

なお、シャープ記号(#)で始まる行は「ディレクティブ(指令)」と呼ばれ、プリプロセッサと呼ばれる仕組みによって読み取られ、解釈されます。

2行目:空行

この行は空行です。空行があってもプログラムの動作には一切影響しません。コードの可読性を高めるために、自由に挿入できます。

3行目:main関数の宣言

次に、戻り値の型がintである「main」という関数を宣言しています。main()関数はC++プログラムのエントリーポイント(開始地点)です。C++プログラムを実行すると、必ずmain関数から処理が始まり、関数内の最初の行から順番に実行され、最後まで到達すると終了します。

ここで登場する波括弧({)はブロックの開始を示します。これはmain関数の定義の始まりであり、5行目の閉じ波括弧(})がその終わりを表します。これらの波括弧の間にあるすべての文が関数の本体であり、mainが呼び出されたときに何が実行されるのかを定義しています。

4行目:出力ステートメント

std::cout << "Hello World\n";

この行はC++のステートメント(文)です。この文は、次の3つの部分で構成されています。

  • std::cout: 標準コンソール出力デバイス(通常は画面)を識別するオブジェクトです。
  • 挿入演算子(<<): その後に続くデータがstd::coutへ挿入されることを示します。
  • 文字列リテラル: 画面に表示したい、引用符で囲まれた文字列です。

要するに、coutオブジェクトに対して「Hello World\n」という文字列を渡し、標準出力デバイスに表示させているのです。この仕組みについては、C++の学習を進めていくうちに、より深く理解できるようになるでしょう。

また、文の末尾にセミコロン(;)が付いている点にも注目してください。セミコロンは、ひとつの文の終わりを示す重要な記号です。

まとめ

たった数行のHello Worldプログラムですが、ヘッダーファイルのインクルード、main関数、出力ストリーム、セミコロンによる文の区切りなど、C++プログラムの骨格となる要素がすべて含まれています。まずはこの基本構造をしっかり理解することが、C++学習における確かな第一歩となるでしょう。

  1. C++で線分の中点を求める方法とサンプルコード

    本記事では、C++を使って線分の中点(ミッドポイント)を求めるプログラムの作成方法を解説します。線分の始点Aと終点Bの2つの座標が与えられたとき、その中点を計算するアルゴリズムについて学びましょう。 問題の概要 始点A(x1, y1)と終点B(x2, y2)で構成される線分があります。この線分の中点を求めるのが課題です。 入力例 a(x1, y1) = (4, -5) b(x2, y2) = (-2, 6) 出力例 (1, 0.5) 計算の説明 (x1 + x2)/2 = (4 + (-2)) / 2 = 1 (y1 + y2)/2 = (-5 + 6) / 2 = 0.5 解決アプローチ:中

  2. C++プログラムにおける二分探索(バイナリサーチ)の基本と実装

    二分探索(バイナリサーチ)とは二分探索は「半区間探索」「対数探索」「バイナリチョップ」とも呼ばれる検索アルゴリズムで、ソート済みの配列の中から目的の値が存在する位置を効率的に見つけ出します。基本的な仕組みは非常にシンプルです。まず、探したい値(ターゲット値)を配列の中央の要素と比較します。一致しなかった場合は、ターゲット値が存在し得ない半分を丸ごと排除し、残りの半分に対して同様の比較を繰り返します。この「中央との比較」と「範囲の絞り込み」を続け、ターゲット値が見つかるか、検索範囲が空になる(=配列にその値が存在しない)かのどちらかで処理が終了します。アイデア自体は簡単ですが、正しく実装するには