[C언어] 조건문 : if문

조아리 ㅣ 2024. 8. 6. 11:11

반응형

지금까지는 차례대로 실행되기만 하는 프로그램을 다뤘습니다. 하지만 조건에 따라 실행 여부를 정해야 하는 때가 있습니다. 그럴 때 사용하는 것이 제어문입니다. 제어문에는 조건문, 반복문, 분기문이 있는데 이번 시간엔 제어문 중 조건문을 다뤄보도록 하겠습니다.

 

if문의 기본 형식

반응형

 

위와 같이 if문 다음에 소괄호()를 작성하시고 그 안에 조건식을 작성하시면 됩니다. 그 다음엔 중괄호{}로 조건식이 참 일 때 실행할 동작(들)을 작성하시면 됩니다. 

 

위 if문은 a가 10보다 클 때만 중괄호{} 안의 동작(b에 a의 값을 대입)합니다.

 

 

if ~ else문

조건을 만족하지 않을 때 수행할 기능이 있다면 어떻게 해야 할까요? 반대 조건을 가진 새로운 if문을 작성할 수도 있지만, if ~ else문을 사용하는 것이 더 좋습니다. if문을 두 번 작성하면 조건식을 정확히 사용하지 않을 실수가 생길 수 있고, 두 번의 조건 검사가 필요해 실행 속도가 느려질 수 있기 때문입니다.

 

 

if문의 조건(a > 10)을 만족하지 못하면 else문의 실행문을 실행합니다. 즉 a가 10보다 크면 b에 a를, a가 10 이하면 b에 -a를 대입하는 것입니다.

 

if문의 조건의 반대를 뜻하므로 else에는 조건을 사용하지 않습니다.

 

 

if ~ else if ~ else문

2개가 아니라 그보다 많은 경우의 수가 있다면 if ~ else if ~ else문을 사용합니다. 

 

 

위 if ~ else if ~ else문을 살펴보겠습니다. if의 조건식은 a > 10, else if의 조건식은 a < 10입니다. a가 10 초과일 땐 b = a;를, a가 10 미만일 땐 b = -a;를, 그 외의 경우(a == 10)에는 b = 0;을 실행합니다.

 

else 가 a == 10인 이유는 if문의 조건식과 else if의 조건식이 모두 적용이 되기 때문입니다. if문에서 a가 10보다 큰 경우가 걸러지고 else if에서 a가 10보다 작은 경우가 걸러지니 자연스럽게 a와 10이 같은 경우만 남은 것이죠.

반응형