조건문
if, else if, else
반복문을 쓰다보면 간혹, 어떠한 조건에만 출력이 된다던가, 넘어가기를 원할때가 있습니다.
이때 사용하는게 조건문으로 if와 else if, else가 있습니다.
조건문을 처음 사용할 때 반듯이 'if'문으로 시작을 하고 2개 이상의 조건문을 사용할때는 'else if'문을 사용합니다.
또한, 'else'의 경우에는 2가지의 조건일 때 if와 같이 사용할 수 있으며, 혹은 여러 조건문(if, else if)을 작성한 뒤에, 작성한 조건문 어디에도 해당되지 않을 경우에 발생합니다.
즉, 조건문은 프로그램을 실행하는 중에 조건에 따른 분기가 필요할 때 사용합니다.
if문을 사용할때는 조건이 필수적으로 작성되어야 하며, 조건에 맞을 경우 중괄호 안에 코드가 실행됩니다.
아래 코드로 예시를 들어보겠습니다.
#include <stdio.h>
int main(void) {
int ea;
printf("하루에 몇잔의 커피를 마십니까 ?");
scanf("%d", &ea);
if (ea <= 2) {
printf("적당한 카페인을 섭취하고 있습니다\n");
} else if (3 <= ea && ea <= 6) {
printf("카페인이 많습니다.\n 잠을 충분히 주무셔서 피로를 푸시길 바랍니다.\n");
} else {
printf("전문가와 상담이 필요합니다.");
}
return 0;
}
예를 들어 A는 1잔, B는 3잔, C는 8잔을 먹는다고 가정했을 때 A, B, C 순서대로 output은 아래와 같습니다.
적당한 카페인을 섭취하고 있습니다.
카페인 섭취량이 많습니다.
잠을 충분히 주무셔서 피로를 푸시길 바랍니다.
전문가와 상담이 필요합니다.
조건문
이중 조건문
C프로그램은 명령문이 처음부터 끝까지 순서대로 실행됩니다.
때문에, 반복문과 조건문을 사용하여 제어할 수 있습니다.
이전에 배웠던 이중 반복문과 같이, 조건문도 조건문 안에 조건문을 넣어 이중 조건문을 만들 수 있습니다.
하지만 이중 조건문을 알아가기전에 break와 continue를 먼저 알아보겠습니다.
break문과 continue문은 프로그램의 실행 흐름을 제어할 때 자주 사용되므로, 사용법을 꼭 익혀두는게 좋습니다.
이중 조건문의 경우 처음 제시된 조건(문) 안에서 예외 조건이 필요한 경우 사용됩니다.
아래 예시 코드로 알아 보겠습니다.
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 30; i++) {
if (6 <= i && i <= 25) {
printf("%d번 주문 고객님 \n주문하신 생과일 쥬스 나왔습니다.\n", i);
if ( i >= 8) {
printf("주문이 밀려 잠시 브레이크 타임 가지도록 하겠습니다. \n죄송합니다.\n");
break;
}
continue;
}
printf("%d번 주문 고객님 \n주문하신 커피 나왔습니다.\n", i);
}
return 0;
}
output
1번 주문 고객님
주문하신 커피 나왔습니다.
2번 주문 고객님
주문하신 커피 나왔습니다.
3번 주문 고객님
주문하신 커피 나왔습니다.
4번 주문 고객님
주문하신 커피 나왔습니다.
5번 주문 고객님
주문하신 커피 나왔습니다.
6번 주문 고객님
주문하신 생과일 쥬스 나왔습니다.
7번 주문 고객님
주문하신 생과일 쥬스 나왔습니다.
8번 주문 고객님
주문하신 생과일 쥬스 나왔습니다.
주문이 밀려 잠시 브레이크 타임 가지도록 하겠습니다.
죄송합니다.
위 코드에서 볼 수 있듯이 30잔의 주문을 반복해서 출력하는 과정에서,
6번째 고객님부터는 커피는 생략하고 생과일 쥬스를 주문하는 조건문으로 continue문을 사용하였고,
9번째 고객님부터는 브레이크 타임을 가지도록 이중 조건문으로 break문을 사용하여 중단된 것을 확인 할 수 있습니다.