• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

case문 궁금증 ..

18.10.18 21:05 작성 조회수 169

0

for (int i = 0; i < 30; i++)

if (i >= 6 && i <= 10) {

if (i == 7) {

printf("%d번 학생은 결석입니다.n", i);

continue;

}

printf("%d번 학생은 발표해주세요.n",i);

}

switch (i) {

case 10:

printf("%d번 학생은 발표해주세요.n", i);

break;

case 9:

printf("%d번 학생은 발표해주세요.n", i);

break;

case 8:

printf("%d번 학생은 발표해주세요.n", i);

break;

case 7:

printf("%d번 학생은 결석했습니다.n", i);

continue;

case 6:

printf("%d번 학생은 발표해주세요.n", i);

break;

}

}

switch문을 사용하는 이유가 어떤건가요 ?

if문과 다르게 switch문은 조건넣는게 불편하내요.

case문을 잘 다루는 법을 몰라서 저렇게 하는게 맞나 잘 모르겠내요.

case 상수로 일일이 비교해야해서 여러 문장이 만들어지는데

어떨때 switch문을 사용하나요 ?

답변 1

답변을 작성해보세요.

1

안녕하세요 나도코딩입니다. 결론부터 말씀드리면 언제 if else 를 쓰고 언제 switch case 를 쓰느냐 하면, "그때 그때 달라요" 입니다. 사용하시려는 목적 및 구문에 맞게 어울리는 방식으로 하시면 되구요, 기본적으로 if else 는 여러 상황에 맞게 참/거짓을 나누는 경우에 적합하고 switch case 는 여러 경우 중 각각 정해진 경우에 적합합니다. 예를 들어서 우리가 자동차를 나눌 때 "승용차" "오토바이" "트럭" "버스" 라고 하면 명확히 차량 구분이 되니 이 경우에는 switch case 가 좋을 것이며, "바퀴가 4개인 경우" "몇인승 이상인 경우" "무게가 얼마 이상인 경우" "길이가... " 이런식이라면 if else 가 더 적합해 보입니다. 범위(3미터 미만 / 3미터 이상 5미터 미만 / 5미터 이상~) 등으로 나눈다면 switch case 로 작성하기는 조금 어렵겠지요?! 감사합니다.