[2-3] 비교 구문(if /else)

if문은 조건을 만족하면 코드 블록을 실행합니다. else문은 단독으로 못 쓰고 if 문과 함께만 쓰입니다. if / else문, if ~ else문, 혹은 if문이라고도 씁니다.

구조는 다음과 같습니다.

if(조건문){

   // 본문

}

else if(조건문)

{

    // 본문

}

else{

    // 본문

}

사실 if, else if, else는 한쌍입니다. else if와 else는 생략할 수 있지만 if 키워드는 꼭 있어야 if문이 제대로 작동합니다. 본문이 단 한 문장이면 중 괄호를 생략할 수 있습니다.

다양한 if문 의사 코드 중 어떤 구문들이 제대로 컴파일될지 살펴보세요.

</table> 마지막 형태는 if문이 없습니다. 고로 컴파일 에러가 납니다. 그외 형태는 제대로 컴파일되어 동작할 겁니다. 첫 번째 형태에서는 if문에만 중괄호가 없고, 나머지는 있네요. 뭐 동작에는 영향을 미치지 않겠지만 중괄호를 쓰려면 다 쓰고, 아니면 다 안 쓰는 것이 더 가독성이 높겠군요. 그럼 if / else 예제 코드를 살펴봅시다. ``` #include int main(void) { int i = 0; if(i == 0){ printf("i is 0"); } else if(i == 1){ printf("i is 1"); } else{ printf("i is not 0 and 1"); } return 0; } ``` [출력] ``` i is 0 ``` i값이 0이므로 "`i is 0`"가 출력되었습니다. 1이면 else if문이, 그외 값이면 else문이 실행될 겁니다. i 값을 바꿔가면서 컴파일해보시기 바랍니다. **殺**

if(조건문)

printf("한 줄");

else if(조건문)

{

// 본문

}

else{

// 본문

} </td>

if(조건문){

// 본문

}

else if{

// 본문

} </td>

if(조건문){

// 본문

}

else(조건문)

{

// 본문

} </td>

else(조건문)

{

// 본문

}

else{

// 본문

} </td> </tr>

코드 블록이 한 줄이라서 중괄호를 생략한 경우(O) else 구문이 없는 경우(O) else if 구문이 없는 경우(O) if 문이 없는 경우(X)