목차

V-1. while반복문

“Hello, world!” 를 10번 출력하려면 printf를 10번 사용하면 될까요? 물론 그래도 됩니다. 하지만 반복문을 사용하면 더 편리하게 구현할 수 있습니다.

while반복문에 대해 배워봅시다. while반복문의 기본 구조는 아래와 같습니다.

while (조건식)
{
		반복할 코드
}

한번 “Hello, world!” 를 10번 반복 출력하는 코드를 작성해봅시다.

#include <stdio.h>

int main()
{
		int i = 0;
    while (i < 10)
    {
        printf("%d Hello, world!\\n", i);
        i++;
    }

    return 0;
}
0 Hello, world!
1 Hello, world!
...(중략)...
8 Hello, world!
9 Hello, world!

while문은 조건식이 참이 되는 동안 내부의 코드를 반복해서 실행합니다. 예제에서는 반복 횟수를 세기 위해 i라는 변수를 선언하여 0으로 초기화해주고 while문 내부의 코드가 한 번 실행될때마다 1씩 증가하도록 작성했습니다.

반복 횟수를 세는데 사용한 변수 i의 값이 10 미만일때는 while문이 계속 내부의 코드를 반복시킵니다. 즉, i가 0일때부터 9일때까지 총 10번 반복하고 i가 10이 되면 반복을 멈추죠. i = 1부터 반복문을 시작시키면 아래와 같이 작성할 수 있습니다.

#include <stdio.h>

int main()
{
		int i = 1;
    while (i <= 10)
    {
        printf("%d Hello, world!\\n", i);
        i++;
    }

    return 0;
}
1 Hello, world!
2 Hello, world!
...(중략)...
9 Hello, world!
10 Hello, world!

반복문에서 조건식에 부등호를 사용한다면 등호의 포함 여부에 대해 주의해야합니다.

조건식 부분에 항상 참이되는 코드를 넣으면 무한번 코드를 반복하도록 할 수도 있습니다.

#include <stdio.h>

int main()
{
    while (1)
    {
        printf("E");
    }

    return 0;
}
EEEEEEEEE...(후략)

반복 횟수를 정해놓지 않고 조건에 따라 반복문이 종료되도록 코드를 짜려면 어떻게 할까요? 0부터 9까지의 난수를 출력하다가 5를 출력하면 출력을 멈추는 코드를 한번 작성해봅시다.