C

[내배캠자습]C언어 챕터 3-5 : 중첩 if문

BreadMushroom 2026. 3. 28. 11:08

중첩 if문(Nested-if statement)

if (조건식1)
{
    명령어1;
    ...

    if (조건식2)
    {
        명령어2;
        ...
    }
    else
    {
        명령어3;
        ...
    }
}

[좋은습관] 조건문의 스코프 속 명령어가 한 줄이어도 스코프는 꼭 적습니다.

중괄호를 생략하는 사람이 정말 많습니다. 그러나 초보자에겐 너무나도 안좋은 습관입니다. 우리는 무조건 적어서 명시적으로 표현해주도록 합시다.

if (x < 10)
{
	printf("x < 10"); 
}

// if (x < 10) printf("x < 10"); worst.

조건문 꿀팁

조건문에는 조건식이 나옵니다. 조건식은 보통 부등식으로 표현이 되는데, 머리속에 수평선을 그려서 해석하면 쉽습니다.

 

값의 범위를 조건식에 적을때 아래와 같이 적어봅시다.

확실히 x가 10과 15 사이에 있음을 알 수 있습니다.

// if (x >= 10 && x >= 15) worst
if (10 <= x && x <= 15) // best. 그럼 이 조건식의 역은 어떻게 적으면 될까요?
(10 > x || x > 15)

 

Ex030501) 중첩 if문 [중요 샘플 코드]

다음의 소스코드를 “천천히 읽기”로 출력 결과를 예측해봅시다. 예측 결과와 실행 결과와 비교해봅시다.

// Main.c

#include <stdio.h>

int main()
{
	int Num = 102;

	if (Num < 105)
	{
		printf("Num < 105\\n");

		if (102 < Num)
		{
			printf("102 < Num && Num < 105");
		}
		else
		{
			printf("Num <= 102");
		}
	}

	return 0;
}

천천히 읽기
1.main함수 시작
2.int자료형 Num에 102로 초기화
3.if문 조건식 확인 Num이 105보다 작으면 중괄호 명령 실행
4.조건에 맞으니 "Num < 105" 출력 후 줄바꿈
5.내부 if문 조건식 확인 Num이 102보다 클 때 중괄호 명령 실행
6.조건에 맞지 않으니 else문 실행
7."Num <= 102" 출력후 내부if문 탈출 후 외부if문도 탈출
8.return 0 만나 main함수 종료 

// Main.c

#include <stdio.h>

int main()
{
	int amount = 5;
	int HP = 50;
	int MaxHP = 100;

	if (amount > 0)
	{
		if (HP < MaxHP)
		{
			--amount;
			printf("포션을 사용했습니다.\n");
		}
		else
		{
			printf("체력이 가득 차 있습니다.\n");
		}
	}
	else
	{
		printf("포션이 부족합니다.");
	}
	
	return 0;
}