티스토리 뷰

PROGRAMING/C

C언어 조건문 switch, goto

LuCycle 2019. 7. 17. 18:34
반응형

|switch 문

switch 문은 또다른 조건문의 형태로 if문과는 다르게 한 조건의 값에 따라서 다양하게 나누어질때 사용합니다.

switch(제어식){

case (값):

(실행할 문장)

break;

case (값):

(실행할 문장)

break;

case (값):

(실행할 문장)

break;

default:

(실행할 문장)

break;

}

위와 같은 구조를 가지고 있습니다. if문과 다른점은 제어식에서 나온 값에 따라서 실행할 문장을 설정할 수 있다는 것입니다.

경우에 따라 if문과 switch문을 자유롭게 사용하면 되지만 대부분의 경우는 if문으로 해결 가능합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
 
int main() 
{
    int grade;
 
    printf("성적을 입력하시오 : ");
    scanf_s("%d"&grade);
    
    switch (grade / 10) {
    case 10 : 
        printf("A");
        break;
    case 9:
    case 8:
        printf("B");
        break;
    case 7:
    case 6:
        printf("C");
        break;
    default:
        printf("F");
        break;
    }
 
    return 0;
cs

위와 같이 break를 쓰지 않은 경우 모두 같은 조건으로 동작하게 됩니다.

예를들어 위 코드에서 9를 입력한 경우 case 8 아래에 있는 문장인 B가 출력되게 됩니다.


|goto

goto는 장려되지 않는 방식입니다. 이유는 코드를 다시 볼때 어려움이 있기 때문입니다.

goto를 사용하면 해당위치로 바로 이동하게 됩니다.

goto end;

end: (실행할문장)

위와 같은 형식으로 이루어져 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int main() 
{
    int a;
 
    printf("숫자를 입력하시오 : ");
    scanf_s("%d"&a);
    if (a > 5) {
        goto end;
    }
 
    end : printf("5보다 큰 숫자입니다");
 
    return 0;
}
cs

위 코드는 쓸모없지만 goto를 사용한 예제입니다. 


출처/참고

 


광고


반응형
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함