次の方法で共有


if ステートメント (C)

if ステートメントでは、条件分岐が制御されます。 if ステートメントの本体は、式の値が 0 でないの場合に実行されます。 if ステートメントの構文には 2 つの形式があります。

構文

selection-statement:
if ( expression ) statement
if ( expression ) statement else statement

if ステートメントのどちらの形式でも、構造体以外のすべての値を持つことができる式が、すべての副作用を含めて評価されます。

最初の構文では、expression が true (0 以外) の場合、statement が実行されます。 expression が false の場合、statement は無視されます。 else を使用する 2 番目の構文形式では、2 番目の statementexpression が false の場合に実行されます。 どちらの形式でも、いずれかのステートメントに breakcontinue、または goto が含まれていない場合は、制御が if ステートメントからプログラムの次のステートメントに移ります。

if ステートメントの例を次に示します。

if ( i > 0 )
    y = x / i;
else
{
    x = i;
    y = f( x );
}

この例では、ステートメント本体 y = x/i; は、i が 0 を超える場合に実行されます。 i が 0 以下の場合、ix に代入され、f( x )y に代入されます。 if 句を形成するステートメントはセミコロンで終わります。

if ステートメントと else 句を入れ子にする場合は、意図がはっきりわかるように、中かっこを使用してステートメントと句を複合ステートメントにグループ化します。 中かっこがない場合、コンパイラでは各 else を のない最も近い elseif と関連付けることによって、あいまいさが解消されます。

if ( i > 0 )           /* Without braces */
    if ( j > i )
        x = j;
    else
        x = i;

else 句は、この例の内側の if ステートメントに関連付けられます。 i が 0 以下の場合、x に値は割り当てられません。

if ( i > 0 )
{                      /* With braces */
    if ( j > i )
        x = j;
}
else
    x = i;

この例の内側の if ステートメントを囲んでいる中かっこにより、 else 句は外側の if ステートメントの一部になります。 i が 0 以下の場合、ix に割り当てられます。

関連項目

if-else ステートメント (C++)