基本的なif文の使い方
C言語で、ある条件を満たした場合のみプログラムを実行するようにするにはif文を用います。if文の使用例をリスト5.1に示します。この例では、変数iの値が5であるか、そうでないかによって分岐しています。
変数iの値が5の場合は直後の printf("i == 5\n"); が実行され、elseの部分は実行されません。逆に変数iの値が5以外の場合はelseの部分の printf("i != 5\n"); のみが実行されます。if_test.cを実際に実行してみれば、printf()関数の出力するメッセージによって、プログラムがどちらに分岐したのかがわかります。
if文は、一般的には、
という形をしています。elseの部分は必要がなければ省略でき、その場合は、
となります。
制御式には第11回で述べた比較演算子を含んだ式を使うのが普通です。リスト5.1(if_test.c)の例では制御式として == の演算子を使った式を使用しています。
if文の( )で囲まれた制御式のあとやelseのあとには、1つの文が続きます。この文は常に{ }で囲まれた複文とするのがよいでしょう。文法上は、{ }の中に文が1つしかない場合は複文の{ }を省略して、単独の文をif文に直接続けることができます(リスト5.2)。
しかし、これはソースの可読性などの理由で好ましくありません。今回例にとったif_test_1.cでは、ifやelseのあとにprintf();という関数による文が1つだけしかないため{ }を省略できますが、ifやelseのあとの文が複数になった場合、は{ }を付けなければならなくなります。