C제어 흐름

조건문 기본

조건에 따라 분기하는 `if`, `else if`, `else`, `switch` 기본 구조를 한 카드로 정리합니다.

마지막 수정 2026년 3월 19일

기본 패턴

c
if (score >= 90) {
    grade = 'A';
} else if (score >= 80) {
    grade = 'B';
} else {
    grade = 'C';
}

설명

  • if는 가장 일반적인 분기 문법이고, 범위 비교나 복합 조건에 잘 맞습니다.
  • switch는 하나의 값이 여러 상수 후보 중 무엇인지 나눌 때 읽기 좋습니다.
  • else if 체인이 길어질수록 조건 순서가 곧 우선순위가 됩니다.
  • switch 안에서 break를 빼먹으면 다음 case로 계속 내려갑니다.

짧은 예제

c
#include <stdio.h>

int main(void) {
    int menu = 2;

    switch (menu) {
        case 1:
            printf("start\n");
            break;
        case 2:
            printf("save\n");
            break;
        default:
            printf("unknown\n");
            break;
    }

    return 0;
}

빠른 정리

항목설명
if일반 조건 분기
else if추가 조건 검사
else앞선 조건이 모두 거짓일 때
switch하나의 값을 여러 경우로 분기
breakswitch에서 다음 case로 흐르지 않게 막음

주의할 점

switchcase 값은 컴파일 시점에 알 수 있는 상수여야 합니다. 범위 비교는 if가 더 적절합니다.