C++ 조건문

하나의 값이 여러 상수 중 무엇인지 고르는 문법

switch는 표현식 하나를 평가한 뒤, 값이 일치하는 case 레이블부터 실행합니다. 일치하는 값이 없으면 선택적으로 default가 처리합니다.

기준값 switch (choice)처럼 하나의 값을 평가
후보값 case 1:, case 'A':처럼 상수로 비교
종료 break;를 만나면 switch 바깥으로 이동
1. 평가

표현식은 한 번만 계산

메뉴 번호, 문자 코드, enum 값처럼 결과가 하나로 정해지는 표현식을 기준으로 삼습니다.

2. 선택

일치하는 case로 이동

case 값은 중복될 수 없고, 실행 전에 이미 정해지는 컴파일 시간 상수식이어야 합니다.

3. 마무리

break 정책을 함께 확인

break가 없으면 다음 레이블 아래 코드까지 이어질 수 있으므로 의도 여부를 분명히 해야 합니다.

switch (choice) {
  case 1:
    주문 = "불고기";
    break;
  case 2:
    주문 = "비빔밥";
    break;
  default:
    주문 = "잘못된 번호";
}
choice == 1 case 1부터 실행하고 break에서 종료
choice == 2 case 2부터 실행하고 switch 다음 코드로 이동
그 외 값 default가 예외 입력을 한곳에서 처리