업데이트:

태그: ,

카테고리:



c언어에서 다루는 반복문은

  • while
  • do~while
  • for

이렇게 총 3가지이다.

이런 반복문에는 공통적인 특징이 있는데,

반복할 조건, 반복할 코드 이렇게 2가지이다.

조금 더 세세하게 나누면, 초기식 – 조건식 – 루프본체, 변화식 으로 이루어져 있다.



💡 while문

간단한 예시로 살펴보자.

#include <stdio.h>

int main(void)
{
    int num = 0;

    while(num < 5)
    {
        printf("Hello world%d\n",num);
        num++;
    }
    return 0;
}

초기식 ► int num = 0;
조건식 ► (num < 5)
변화식 ► num++;
루프본체 ► printf("Hello world%d\n",num);

while문은 루프본체와 변화식이 while문의 중괄호 안에 같이 있다.
그리고 초기식이 while문 밖에 있다.

while문에 무한 루프를 걸기 위해선 (1)을 조건식으로 주면된다.
물론 이때는 루프본체에서 탈출조건을 넣어 break을 걸어줘야한다.



💡 do ~ while문

do~while문은 while문과 유사하지만 반드시 한번은 실행되어야하는 코드가 있을때 사용된다.

#include <stdio.h>

int main()
{
    int total = 0, num = 0;

    do
    {
        printf("정수를 입력하세요");
        scanf("%d",&num);
        total += num;
    } while (num!=0);
    printf("총 합은 %d",total);
    return 0;
}

► do 안에 루프본체가 위치한다.
► while 뒤에 조건식이 위치하고, 세미콜론으로 마무리되어있다.
► do 안에 코드를 반드시 1번은 실행하고, 이후에 while 뒤의 조건식을 확인하게된다.



💡 for문

while문이 초기식과 조건식, 변화식이 분리되어있는 형태라면, for문은 초기식, 조건식, 변화식이 한 곳에 묶어져있다.

for (초기식;조건식;변화식)
{
    루프본체
}

이렇게 한 눈에 반복문을 분석할 수 있는 장점이 있다.

#include <stdio.h>

int main(void)
{
    int total = 0;
    int i, num;

    printf("0부터 num까지 덧셈, num을 입력하시오.");
    scanf("%d", &num);

    for(i=0; i < num+1; i++)
        total+=i;

    printf("0부터 %d까지 덧셈 결과: %d \n", num, total);
    return 0;
}

► for문의 무한 반복을 위해서는 조건식을 비우면된다.
► for문은 반복회수가 정해져있는 경우에 적합하다.

댓글남기기