중첩 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;
}
'C' 카테고리의 다른 글
| [내배캠자습]C언어 챕터 4-1 : while문 (0) | 2026.03.28 |
|---|---|
| [내배캠자습]C언어 챕터 3-6 : switch-case문 (0) | 2026.03.28 |
| [내배캠자습]C언어 챕터 3-4 : if-else if-else문 (0) | 2026.03.28 |
| [내배캠자습]C언어 챕터 3-3 : if-else문 (0) | 2026.03.28 |
| [내배캠자습]C언어 챕터 3-2 : 단순 if문 (0) | 2026.03.28 |