C, C++

7 : c/c++ 강좌 "반복제어문 1"

알 수 없는 사용자 2022. 1. 17. 12:48
728x90
반응형

반복제어문은 여러 종류가 있습니다. while 문과 for 문이 대표적인 반복제어문입니다. while 문은 if 문과

비슷하게 () 괄호 안의 조건이 참이여야지 {} 중괄호 안의 코드를 실행을 합니다 하지만 다른 점이 있는데

while 문은 if  문과 같이 한번만 실행 하는것이 아니라 {} 중괄호 안의 조건을 조건이 거짓이 될때까지 끊임없이

실행 하는 함수 입니다. 또, 수동적으로 while 문 안에서 나가는 코드는 break 라는 코드로 break; 이렇게 사용 합니다

if 문과 합쳐서 while 문 안에서 if 문이 참이라는 결과를 갖게 되면 break 할수 있습니다.  break 문과

while 문 , if 문을 이용해서 간단한 코드를 한번 작성해 보도록 하겠습니다. 

#include <stdio.h>

int main()
{
    int a=0;

    while(a<100)
    {
        a++;
        printf("a\n");

        if(a == 90)
        {
            break;
        }
    }
    return 0;
}

이 경우에는 a < 100 인 경우에만 코드가 실행 되도록 하였습니다. 간단하게 코드를 살펴 보자면 a 는 후치 증가 연산자로

a 씩 증가 시키고 있고 a 라는 문자를 바로 다음에 프린트 하였습니다. if 문을 간단하게 살펴 보자면 만약에  a 값이 90 

이 되면 코드를 break 합니다. 결과적으로는 a 는 절때 99 를 도달 하지 않았지만 만약에 if 문을 없애면 이렇게 됩니다. 

#include <stdio.h>

int main()
{
    int a=0;

    while(a<100)
    {
        a++;
        printf("a\n");

    /*    
        if(a == 90)
        {
            break;
        }
    */
    }
    return 0;
}

이렇게 하면  a 값이 99 를 찍고 while 문이 직접 자신을 break 하는 것을 확인 하실수 있습니다. 또한 while 문 조건 안에 

1 이라는 숫자를 넣으면은 무한 반복문이 됩니다. 이 경우에는 break 문이 없을시에는 조건이 없기 때문에 저절로 while 

문이 break 되지 않습니다. 또한 continue 라는 코드가 있습니다. continue 는 말 그대로 지속 한다는 의미로 break 

문과 반대되는 역할을 합니다. continue 문은 그 이후의 코드를 실행 하지 않고 while 문의 맨 처음으로 다시 돌아가서 

처음부터 다시 코드를 실행 한다는 의미 입니다. 이 역시 간단한 코드를 한번 만들어 보도록 하겠습니다. 

#include <stdio.h>

int main()
{
    int a=0;

    while(1)
    {

        scanf("%d",&a);     
        printf("Hello World!\n"); 

        if(a == 1)
        {
            continue;
        }
        
        else 
        {
            break;
        }
        
    }
    return 0;
}

이 코드 역시 살펴보도록 하겠습니다. 보시면 a 라는 10진 정수가 선언되어 있고, while 문 안에서 a 를 스캔을 하고 있습니다.그 직후에 Hello World! 를 출력 하고 a 의 값을 확인하게 되는데, a 가 1이여야지만 코드의 처음으로 다시 돌아가고

만약에 a 가 1 이 아닐시에는 while 문을 break 하게 됩니다. 그러면 다음 시간에는 for 문에 대해 알아보도록 하겠습니다.

'C, C++' 카테고리의 다른 글

9 : c/c++ 강좌 "반복제어문 3"  (0) 2022.01.19
8 : c/c++ 강좌 "반복제어문 2"  (0) 2022.01.17
6 : c/c++ 강좌 "선택제어문"  (0) 2022.01.17
5 : c/c++ 강좌 "연산자"  (1) 2022.01.16
4 : c/c++ 강좌 "변수"  (3) 2022.01.16