본문 바로가기
Develop/C

9 C언어의 반복문 조절 continue, break, goto

by 구운밤이다 2016. 6. 29.
728x90
반응형

2016/06/29 - [컴퓨터/C언어] - 8 C언어의 조건문


이번에는 반복문을 조절하는 세 가지 장치에 대해 알아볼거에요

Break문


break는 switch문에서도 사용하지만 반복문에서도 사용할 수 있습니다 예제를 통해 보죠


#include <stdio.h>


int main() {

    int num = 100, sum = 0;

    printf("1 부터 100까지의 \n");

    

    while(1) {

        sum += num;

        if (num <= 0) break;

        num--;

    }

    

    printf("sum : %d", sum);

    

    return 0;

}


이걸 실행하면



이렇게 100부터 1까지 더한 값이 나와요 즉 , num <= 0 이 조건을 만족하면 그걸 둘러싸고 있는 반복문 하나를 탈출하게 되요!!


continue문


continue 는 그 이후 문장들을 생략하고 다음 반복문을 진행하게 해주는 역할을 해줍니다!! 즉 반복문을 진행하다 continue를 만나면 반복조건을 다시 확인하러 가서 조건에 맞으면 다시 반복문을 실행하는거죠


#include <stdio.h>


int main() {

    int num = 20;

    

    for (int i = 1; i < num; i++) {

        if (i % 4 == 0) continue;

        printf("%d\n", i);

    }

    

    return 0;

}


이 예제를 실행해 보면




이 예제를 보면 4로 나눠지는 수들을 만나면 출력을 건너뛰고 다음 반복문을 진행하라는 것을 알 수 있죠


goto문


C언어가 절차지향 언어라서 보통 goto를 많이 사용하지 말라는 말이 많은데요 저도 많이 사용하지 않긴 하는데 이런게 있다 라는 정도로만 알고 가시면 될 것 같아요


#include <stdio.h>


int main() {

    int num = 100, sum = 0;

    printf("1 부터 100까지의 \n");

    

    while(1) {

        sum += num;

        if (num <= 0) goto end;

        num--;

    }

end:

    printf("sum : %d", sum);

    return 0;

}



이렇게 반복문에서도 사용가능하고




#include <stdio.h>


int main() {

    int num;

    printf("1. State\n");

    printf("2. Play\n");

    printf("3. End\n");

    printf("입력");

    scanf("%d", &num);

    

    switch (num) {

        case 1:

            goto state;

        case 2:

            goto play;

        case 3:

            goto end;

        default:

            printf("1부터 3까지 숫자를 입력해주세요\n");

    }

state:

    printf("life : 100000\nmoney : 10000000\n");

    goto end;

play:

    printf("Game start!!\n");

    goto end;

end:

    printf("End of run");

    return 0;

}


이런 식으로 게임시작화면 만들때에도 활용가능한데요 더 공부를 하고나면 함수를 이용해서 하는게 훨씬 낫다는 것을 알수 있습니다



1 입력했을때



2 입력했을때



3 입력했을때


모르는 것은 댓글이나 쪽지로 남겨주시면 성심 성의껏 답변해드리겠습니다!! 댓글공감구독(이웃추가)는 블로거에게 큰 힘이 됩니다! 부탁드리면서 이번 포스팅을 마치도록 하겠습니다! 지금까지 딘또였습니다.

728x90
반응형

'Develop > C' 카테고리의 다른 글

11 C언어 재귀 함수  (0) 2016.07.02
10 C언어 함수  (6) 2016.06.30
8 C언어의 조건문  (0) 2016.06.29
7 C언어의 반복문과 특수문자!!  (0) 2016.06.27
6 C언어 형 변환  (0) 2016.06.27

댓글