제가 요즘 동아리로 살짝 바쁘기도 합니다. 그래서 늦어지고 있는데 이해를 부탁드립니다. 오늘 5편 올리겠습니다. 하하....

저번시간에 else if를 배웠는데요 그러면 그 else if와 비슷한 역할을 하고 더 많은 사람들이 사용하는 switch를 배우는 시간으로 하도록 하겠습니다.

먼저 흐름같은 것을 알려드리도록 하겠습니다.

switch(num) {

case 1:

printf("1이네요\n");

break;

case 2:

printf("2네요\n");

break;

default:

printf("모르겠어요\n");

}

return 0;

이렇게 이루어 지는데요 저번시간에 배운것을 기억하신다면(완벽하게 자신의 것으로 만드셨다면)제가 else if를 적어드리는 것으로 이해를 하시리라고 생각을 합니다.

하지만 저는 else if를 적어드리고 따로 설명도 해드리도록 하겠습니다.

if ( num==1) {

printf("1이네요\n");

}

else if (num==2) {

printf("2네요\n");

}

else {

printf("모르겠어요\n");

}

return 0;

else if로 바꾸게 되면 이렇게 변하게 됩니다.

그리고 설명을 하게 된다면 입력함수에 의해 결정된 임의의 값을 여러 케이스에 비교를 해서 가장 잘 맞는 케이스를 실행하는 것이 else if와 switch의 특징입니다.

여러가지의 경우를 전부 생각해야하는 경우 이러한 것들을 자주사용하게 됩니다.

저는 여기서 마치도록 하려고 생각을 하려고 했는데 여기서 의문점이 생기셨으리라고 생각을 합니다.

else if에는 break가 없는데 왜 switch에만 break가 존재하는 것인지에 관하여 말이죠.

그 이유는 switch가 break가 없는 경우 다음 케이스도 같이 실행해 버립니다. break가 나올 때까지 말이죠

그러한 이유가 있기 때문에 우리는 switch에 break를 넣기로 합시다.

그리고 또 케이스는 꼭 숫자가 아니어도 됩니다.

int main(void) {

char dead;

printf("z : 좀비, s : 스켈레톤\n");

printf("입력 : ");

scanf_s("%c", &dead);

switch(dead) {

case 'z':

case 'Z':

printf("좀비!! 우에에에에");

break;

case 's':

case 'S':

printf("뼈다귀!! 덜그럭");

break;

default:

printf("에에 그게 무엇이죠???");

break;

}

return 0;

}

이런식으로 문자도 충분히 가능하다는 점을 알아 두시기를 바랍니다.

그리고 여러분들은 제가 굳이 문자 변수에 관하여 설명이 없어도 이해가 가시리라고 믿습니다.

(항상 비슷한 위치에서 선언하고 비슷한 위치의 입력함수에서 변수에 저장을 하였기 때문이죠)

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,