プログラムは計算式や手続きが書かれた文の列として記述されます。セミコロンで区切ることによって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$ が使えないので、それぞれ<=, >=と記述します。右側に=が書かれることに注意してください。
オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。 |