「if」の版間の差分
提供: C++入門
(相違点なし)
|
2013年12月30日 (月) 00:16時点における版
if (if, else, else if) 文とは、C++で条件分岐を実現する制御文の1つです。
読み方
- if
- いふ
- else
- えるす
- else if
- えるす いふ
概要
if文は、if、else, else if で構成されます。ifだけあれば、if文になります。 condition が真のとき、A の命令が実行されます。
if ( condition ) { ; // A }
condition が真なら、Aを実行し、そうでなければ、Bになります。
if ( condition ) { ; // A } else { ; // B }
condition 1が真なら、Aを実行し、condition 1が偽でcondition 2が真ならBを実行し、そうでなければ、C が実行されます。
if ( condition 1 ) { ; // A } else if ( condition 2 ) { ; // B } else { ; // C }
condition は、関数であったり、比較だったりします。 condition が真というのは、0/false/NULL ではない、ということです。
比較演算子 | 意味 |
---|---|
a == b | a と b が一致する |
a != b | a は、 b ではない |
a > b | a は、b より大きい |
a < b | a は、b より小さい(aがb未満) |
a >= b | aがb以上である |
a <= b | a が b 以下である |
condition で代入をしたり、or (||) や and (&&) で、複雑な条件を書くことができます。
if( (fd = open (FILENAME, O_WRONLY | O_CREAT | O_TRUNC, 0644) ) < 0) { err (EXIT_FAILURE, "can not open file(%s)", FILENAME); }
f (!(value[i] >= '0' && value[i] <= '9')) { // 0 - 9 の範囲外である }
if の中に if を入れる(ネスト)することもできます。 しかしながら、余り深いネストは、コードがリーダブルコードではなくなってしまうので、好ましくはありません。
if (condition1) { if (conditon2) { } else if ( condition3) { if (condition4) { } else { } } }
サンプルコード
int i = 3; if ( i > 10 ) { // iが10より大きいなら実行される }