if 문 (C)if Statement (C)

if 문은 조건부 분기를 제어합니다.The if statement controls conditional branching. if 문의 본문은 식의 값이 0이 아닌 경우 실행되지 않습니다.The body of an if statement is executed if the value of the expression is nonzero. if 문의 구문에는 두 가지 형태가 있습니다.The syntax for the if statement has two forms.

구문Syntax

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

if ( expression ) statement else statementif ( expression ) statement else statement

if 문의 두 형태에서 구조체를 제외한 모든 값을 포함할 수 있는 식과 모든 파생 작업이 계산됩니다.In both forms of the if statement, the expressions, which can have any value except a structure, are evaluated, including all side effects.

구문의 첫 번째 형태에서 expression이 true(0이 아님)이면 statement가 실행되고,In the first form of the syntax, if expression is true (nonzero), statement is executed. expression이 false이면 statement가 무시됩니다.If expression is false, statement is ignored. else를 사용하는 구문의 두 번째 형태에서 expression이 false인 경우 두 번째 statement가 실행됩니다.In the second form of syntax, which uses else, the second statement is executed if expression is false. 두 형태 모두에서 문 중 하나에 break, continue 또는 goto가 포함되지 않는 한 if 문에서 프로그램의 다음 문으로 제어가 전달됩니다.With both forms, control then passes from the if statement to the next statement in the program unless one of the statements contains a break, continue, or goto.

if 문의 예는 다음과 같습니다.The following are examples of the if statement:

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

이 예제에서 y = x/i; 문은 i가 0보다 큰 경우에 실행됩니다.In this example, the statement y = x/i; is executed if i is greater than 0. i가 0보다 작거나 같은 경우 ix에 할당되고 f( x )y에 할당됩니다.If i is less than or equal to 0, i is assigned to x and f( x ) is assigned to y. if 절을 형성하는 문은 세미콜론으로 끝납니다.Note that the statement forming the if clause ends with a semicolon.

if 문과 else 절을 중첩하는 경우, 중괄호를 사용하여 의도를 명확히 나타내는 복합 문으로 문과 절을 그룹화합니다.When nesting if statements and else clauses, use braces to group the statements and clauses into compound statements that clarify your intent. 중괄호가 없는 경우 컴파일러는 else가 없는 가장 가까운 if와 각 else를 연결하여 모호성을 해결합니다.If no braces are present, the compiler resolves ambiguities by associating each else with the closest if that lacks an else.

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

이 예제에서 else 절은 내부 if 문과 연결되어 있습니다.The else clause is associated with the inner if statement in this example. i가 0보다 작거나 같으면 x에 값이 할당되지 않습니다.If i is less than or equal to 0, no value is assigned to x.

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

이 예제에서 내부 if 문을 묶은 중괄호 때문에 else 절이 외부 if 문의 부분이 됩니다.The braces surrounding the inner if statement in this example make the else clause part of the outer if statement. i가 0보다 작거나 같으면 ix에 할당됩니다.If i is less than or equal to 0, i is assigned to x.

참고 항목See Also

if-else 문(C++)if-else Statement (C++)