C

[내배캠자습]C언어 챕터 3-4 : if-else if-else문

BreadMushroom 2026. 3. 28. 10:19

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함수 종료