基本構造

プログラムは計算式や手続きが書かれたの列として記述されます。セミコロンで区切ることによって1行に複数の文を記述することもできます。

複合文とは、内部にまとまった文が記述されたブロックを持ち、ブロックの実行を制御するものです。複合文は次のような構成になっています。

ヘッダ:
    文1
    文2
    .
    .

ヘッダは、複合文のタイプと制御式を指定する部分で、条件分岐や繰り返し処理のキーワードと条件式などを記述します。複合文の内部は、ブロックと呼ばれるの文の列で構成されます。複合文のブロックはインデント(字下げ)によって表され、同じインデントの文が同じブロックに含まれます。

ヘッダ1:
    文1
    文2
    ...
文3

例えば、上のプログラムでは文1と文2はヘッダ1で指定された同じブロック内にあり関連する処理が書かれます。文3はヘッダ1の外側にあるため、ヘッダ1とは関連がない処理が書かれます。

条件分岐

プログラムやブロックの中に書かれている文は、基本的に上から順番に実行されますが、複合文を用いることで処理の内容を変えることができます。

処理の流れを制御する最も基本的な複合文は、条件によって異なる処理(ブロック)を実行することができる条件分岐です。条件分岐は if 文で記述します。

「もしAならば処理1を実行する」は次のように記述します:

if A:
    処理1

「もしAならば処理1、そうでなければ処理2を実行する」は 次のように記述します:

if A:
    処理1
else:
    処理2

「もしAならば処理1、そうではなくBならば処理2、そうでもなくCならば処理3、、、そうでもなければ処理Xを実行する」は次のように記述します:

if A:
    処理1
elif B:
    処理2
elif C:
    処理3
  .
  .
  .
else:
    処理X

等価・不等価演算子

等価演算子・不等価演算子は2つの値が等しいか否かを評価します。 等価演算 == は2つの値が等しい場合に真(True)、等しくない場合に偽(False)を返します。 例えば2つの変数 a と変数 b の値が等しい場合 a == b は True を返します。 ※代入演算 = と異なり、= を2つ続けることに注意して下さい。

不等価演算 != は2つの値が異なる場合に真(True)、等しい場合に偽(False)を返します。 例えば2つの変数 a と変数 b の値が等しい場合 a != b は False を返します。

比較演算子

比較演算子は2つの値の大小関係を評価します。以下は主な比較演算子です。

a < b    # a が b より小さいとき True
a <= b   # a が b 以下のとき True
a > b    # a が b より大きいとき True
a >= b   # a が b 以上のとき True

プログラムでは$\leq$, $\geq$ が使えないので、それぞれ<=, >=と記述します。右側に=が書かれることに注意してください。


Reference

 

オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)

AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。