if-else if-else문
if (조건식1)
{
명령어1; // 조건식1이 참이라면 명령어1부터 수행.
...
}
else if (조건식2) // 조건식1이 거짓이라면 조건식2 검사.
{
명령어2; // 조건식2가 참이라면 명령어2부터 수행.
...
}
else
{
명령어3; // 조건식1도 거짓이고, 조건식2도 거짓이라면 명령어3 수행.
...
}
if-else if-else문 Vs. 단순 if문
위의 if-else if-else문과 아래 코드의 차이는 뭘까요?
if (조건식1)
{
명령어1
...
}
if (조건식2)
{
명령어2
...
}
if (조건식3)
{
명령어3
...
}
if-else if-else문은 직렬구조
단순 if문은 병렬구조이다.
if-else문은 위에서 아래로 내려오면서 조건식 확인 후 조건에 맞으면 중괄호 속 내용을 실행하고 조건문 전체를 탈출하지만
단순 if문은 조건에 맞고 중괄호 속 명령까지 실행했음에도 다음 if문이 나오면 또 조건식 확인 후 조건에 맞으면 중괄호 속 명령을 실행한다.
Ex030401) if-else if-else문 [중요 샘플 코드]
다음의 소스코드를 “천천히 읽기”로 출력 결과를 예측해봅시다. 예측 결과와 실행 결과와 비교해봅시다.
// Main.c
#include <stdio.h>
int main()
{
int Num = 102;
if (Num < 105)
{
printf("Num < 105");
}
else if (Num < 110)
{
printf("105 <= Num && Num < 110");
}
else
{
printf("110 <= Num");
}
return 0;
}
// Main.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
printf("MMR을 입력하세요.\n");
int Num;
scanf("%d", &Num);
if (Num < 500)
{
printf("브론즈 입니다.\n");
}
else if (500 <= Num && Num < 1000)
{
printf("실버 입니다.\n");
}
else if (1000 <= Num && Num < 1500)
{
printf("골드 입니다.\n");
}
else if (1500 <= Num && Num < 2000)
{
printf("플레티넘 입니다.\n");
}
else if (2000 <= Num && Num < 2500)
{
printf("다이아 입니다.\n");
}
else
{
printf("천상계 입니다.");
}
return 0;
}
천천히읽기
1.main함수 시작
2."MMR을 입력하세요" 문자열 출력 후 줄바꿈
3.int 자료형 Num선언
4.Num 변수에 %d 형식으로 입력받아서 저장해줘
5.if문 조건식 확인 Num이 500 보다 작으면 "브론즈 입니다" 출력 후 줄바꿈
전체 조건문 탈출 return 0 만나 main함수 종료
6.만약 if문 조건식에 맞지 않을시 밑으로가서 else if문 조건확인
7.Num이 500 보다 크거나 같고 1000보단 작을 때 "실버 입니다" 출력 후 줄바꿈
전체 조건문 탈출 return 0 만나 main함수 종료
8. 만약 조건식에 맞지 않을시 밑으로가서 else if문 조건확인
9.Num이 1000 보다 크거나 같고 1500보단 작을 때 "골드 입니다" 출력 후 줄바꿈
전체 조건문 탈출 return 0 만나 main함수 종료
10. 만약 조건식에 맞지 않을시 밑으로가서 else if문 조건확인
11. Num이 1500 보다 크거나 같고 2000보단 작을 때 "플레티넘" 입니다" 출력 후 줄바꿈
전체 조건문 탈출 return 0 만나 main함수 종료
12. 만약 조건식에 맞지 않을시 밑으로가서 else if문 조건확인
13. Num이 2000 보다 크거나 같고 2500보단 작을 때 "다이아" 입니다" 출력 후 줄바꿈
전체 조건문 탈출 return 0 만나 main함수 종료
14.위 모든 조건에 맞지 않을 때 else문 실행 "천상계입니다" 출력
15.return 0 만나 main함수 종료
Ex030402) if ifelse문
다음의 소스코드를 “천천히 읽기”로 출력 결과를 예측해봅시다. 예측 결과와 실행 결과와 비교해봅시다.
// Main.c
#include <stdio.h>
int main()
{
int Num = 102;
if (Num < 105)
{
printf("Num < 105\\n");
}
if (Num < 110)
{
printf("Num < 110");
}
else
{
printf("110 <= Num");
}
return 0;
}
천천히 읽기
1.main함수 시작
2.int 자료형 Num 변수에 102로 초기화
3.if문 조건식 확인 Num이 105보다 작을 때 중괄호 속 명령실행
4.조건에 맞으니 "Num < 105" 출력 후 줄바꿈
5.if문 조건식 확인 Num이 110보다 작을 때 중괄호 속 명령실행
6.조건에 맞으니 "Num < 110" 출력
7.만약 위에서 조건에 맞지않았을 시 else문 실행
8.return 0 만나 main함수 종료
'C' 카테고리의 다른 글
| [내배캠자습]C언어 챕터 3-6 : switch-case문 (0) | 2026.03.28 |
|---|---|
| [내배캠자습]C언어 챕터 3-5 : 중첩 if문 (0) | 2026.03.28 |
| [내배캠자습]C언어 챕터 3-3 : if-else문 (0) | 2026.03.28 |
| [내배캠자습]C언어 챕터 3-2 : 단순 if문 (0) | 2026.03.28 |
| [내배캠자습]C언어 챕터 2-3:형변환 연산자, 삼항 연산자, sizeof (0) | 2026.03.28 |