C 기본 문법 – 조건문과 반복문 – 1편: switch문 완전 정복
안녕하세요, 성실히 C 언어를 배워가고 계신 여러분 😊
이번 시간에는 조건문 중에서도 if문보다 깔끔하게 여러 조건을 처리할 수 있는
**switch문
**에 대해 알아보려고 해요!
🧠 switch문은 마치 “다양한 선택지 중 하나를 고르는 자판기” 같아요.
상황에 따라 여러 케이스 중 하나를 선택해서 실행할 수 있도록 도와주는 멋진 문법이에요!
특히 숫자, 문자 같은 정수 기반 분기 처리에 탁월해서
메뉴 처리, 상태 분기, 키보드 입력 제어 등 실전에서 굉장히 자주 쓰인답니다.
그럼 이제 아주 쉽게, 그리고 꼼꼼하게 switch문
을 배워봅시다!
switch문의 기본 구조
switch (변수 또는 값) {
case 값1:
실행문1;
break;
case 값2:
실행문2;
break;
...
default:
실행문기본;
}
설명:
switch
: 판단할 변수나 식을 넣어요.case
: 변수 값이 해당 값이면 이 코드 실행!break
: 해당 case 실행 후 switch문을 빠져나감default
: 아무 case와도 맞지 않으면 실행됨 (선택사항)
예제로 바로 이해하기
#include <stdio.h>
int main() {
int menu = 2;
switch (menu) {
case 1:
printf("짜장면을 선택하셨습니다.
");
break;
case 2:
printf("짬뽕을 선택하셨습니다.
");
break;
case 3:
printf("탕수육을 선택하셨습니다.
");
break;
default:
printf("없는 메뉴입니다.
");
}
return 0;
}
출력 결과:
짬뽕을 선택하셨습니다.
🎯
menu
가 2일 때, case 2와 일치하므로 해당 코드 실행!
왜 break가 필요할까?
switch문에서는 break를 만나기 전까지 모든 case를 실행합니다.
int menu = 2;
switch (menu) {
case 1:
printf("짜장면
");
case 2:
printf("짬뽕
");
case 3:
printf("탕수육
");
}
출력 결과:
짬뽕
탕수육
⚠️ break가 없으면, 매칭되는 case 이후의 모든 case들이 연속 실행돼요.
이것을 fall-through(떨어짐) 현상이라고 부릅니다!
default는 꼭 써야 하나요?
아니요! 선택사항입니다.
하지만 만약 어떤 case와도 일치하지 않는 값이 들어올 수 있다면
예외 처리를 위해 default를 사용하는 게 좋습니다.
default:
printf("알 수 없는 입력입니다.
");
문자도 사용할 수 있어요!
char grade = 'B';
switch (grade) {
case 'A':
printf("우수
");
break;
case 'B':
printf("양호
");
break;
case 'C':
printf("보통
");
break;
default:
printf("재시험
");
}
📌 switch
는 정수형, 문자형(char) 자료형에만 사용할 수 있습니다!
실수형(float, double)에는 사용할 수 없어요 ❌
여러 case를 한 번에 처리하고 싶을 땐?
int key = 1;
switch (key) {
case 1:
case 2:
case 3:
printf("1~3 사이의 값입니다.
");
break;
default:
printf("그 외 값입니다.
");
}
💡 여러 case를 같은 결과로 묶을 수 있어 코드가 더 깔끔해져요!
실전 예제: 요일 출력기
int day = 5;
switch (day) {
case 1:
printf("월요일
"); break;
case 2:
printf("화요일
"); break;
case 3:
printf("수요일
"); break;
case 4:
printf("목요일
"); break;
case 5:
printf("금요일
"); break;
case 6:
printf("토요일
"); break;
case 7:
printf("일요일
"); break;
default:
printf("유효하지 않은 요일입니다
");
}
✅ switch문과 if문 비교
항목 | if문 | switch문 |
---|---|---|
사용 대상 | 모든 조건식 | 정수, 문자 (정확한 값) |
조건 수 | 논리식 여러 개 | 값의 일치만 |
가독성 | 복잡한 조건 적합 | 여러 케이스 구분에 적합 |
중첩 처리 | 가능 | 가능하지만 권장 X |
기본 분기 처리 | else | default |
✨ if문은 조건이 다양할 때,
switch문은 정해진 값 중 하나를 선택할 때 쓰면 좋습니다!
⚠️ switch문 사용 시 주의할 점
주의사항 | 설명 |
---|---|
break 반드시 사용 |
없으면 다음 case도 실행됨 |
default 는 선택사항 |
예외 처리 시 필수 |
case 는 중복 금지 |
같은 값 중복 사용 안 됨 |
실수형 비교 불가 | float, double 불가 |
중괄호 없이 작성 가능 | 그래도 가독성을 위해 중괄호 권장 |
마무리하며 💬
switch문은 여러 가지 선택지 중 하나를 빠르게 처리하고 싶을 때 정말 유용한 도구예요!
특히 메뉴 선택, 상태 처리, 문자 분기 등에서 자주 쓰이기 때문에
꼭 익혀두시면 더 깔끔하고 명확한 코드를 짤 수 있습니다!
다음 편에서는 반복문으로 넘어가서
코드를 자동으로 반복시키는 강력한 기능들(for
, while
)을 배워볼 거예요 🔁
그럼 오늘도 수고 많으셨고, 언제나 감사합니다!
코딩의 길은 반복과 선택, 그리고 성장의 연속입니다 😊💻