if文の書き方とかいろいろ

プログラムの構成とブロック

順次構造

一番初めにやったやつ。いうまでもなく処理が1直線に上から下に実行される。
逆に言うと、順次構造で構成されたプログラムは、書いたとおりにしか動かないので、
処理の順番を考えて、正しく処理されるように命令を配置しなければならない。
(とか、立派な書き片したけど当たり前だよね)

#include <iostream>
 
int main() {
    // 変数宣言とともに初期化
    int var1 = 10;
  // var2は未初期化なのでこのままでは
  // 参照不可
  int var2;
  // キーボードから値を読込var2に代入
  std::cin >> var2;
  // var3をvar1+var2の計算結果で初期化
  int var3 = var1 + var2;
  // \n は << std::endl の代わりになる
  // 謎の記号(便利)
   std::cout << "計算結果を表示します\n";
   // C++では1行が長い時は適当なところで2行に分割しても
   // 正しく実行される
  std::cout << var1 << " + " << var2 
      << " = " << var3 << std::endl;
}

処理のブロック

C++のプログラムは、基本的に1行しか実行できない。

int main()
  //単文
  std::cout << "Hello, World" << std::endl;

この「命令+';'」の1行の実行単位を、「単文」という。
これだけだと、複数の命令を実行できなくて困るので、以下のような「ごまかし」を施す。

C++のコンパイラは、単文を複数並べたものを、{}で囲うと、その範囲を1行(=単文)として勘違いしてくれる。
この、{}で囲まれた範囲を、「ブロック」とよぶ

main関数も

int main()
{  <----------------------------------------------+
   std::cout << "Hello, World" << std::endl;     | main関数ブロック
   return 0;                                     |
}  <----------------------------------------------+

C++の構文は、

if(条件式)
{
    trueの時の処理のブロック
}
else
{
    falseの時の処理のブロック
}

の様に「構文+ブロック」で構成されていることが多い。