if
文 選択文(Selection Statement)には if
文と switch
文があり,いずれも条件分岐します。ここでは if
文を見ます。
■if
文(if
Statement)
if (式) 文 if (式) 文 else 文
条件式 はスカラ型に限る。
条件式 が真であるとき,続く 文 を実行します。else
がある場合には条件式 が偽のときに else
の後の 文 を実行します。文 とは,複合文,式文,if
文などの「文」のことです。
関係演算子や論理演算子より,条件式 が真であるとは式 が 0
以外のときとなります。
/* Example 14.2 */ #include <stdio.h> int main(void) { int x = 0; printf("Input an integer: "); scanf("%d", &x); if(x) printf("Ok, x = %d.\n", x); else { printf("Input a nonzero integer: "); scanf("%d", &x); printf("Well, x = %d.\n", x); } return 0; }
この例では式 x
が真(0
以外)であれば,続く式文を実行し,偽の場合には else
の後の複合文を実行します。次は実行例です。(太字部分が入力箇所です。)
% ./a.out Input an integer: 0 Input a nonzero integer: 7 Well, x = 7. % ./a.out Input an integer: 9 Ok, x = 9.