티스토리 뷰

c언어 정리 기초 - 반복문(for, while)

오늘은 c언어에서 사용자가 원하는 작업을 반복적으로 수행하는 문법인 반복문에 대해 알아보겠습니다.

 

 

반복문은 어떠한 작업을 여러번 수행하고자 할 때

사용자가 그 작업을 더 효율적으로 하기 위해 만들어진 문법입니다.

예를 들어 hellow world를 5번 출력시킨다고 했을 때

반복문을 사용하지 않으면

printf("hellow world");

printf("hellow world");

printf("hellow world");

printf("hellow world");

printf("hellow world"); 이와같이 printf를 직접 5번 써야하는 불편함이있습니다.

 

하지만 반복문을 사용하면 좀 더 효율적으로 코딩 작업을 하실 수 있습니다.

반복문은 크게 2가지가 있습니다.

 

 

 

[for 반복문]

먼저 가장 많이 사용되는 for문에 대해 설명드리겠습니다.

 

기본적이 구조는 아래와 같습니다.

for( 시작 초기값; 종결 조건; 조건 변화 수식 )

{

    반복 작업할 코드;

}

 

아래는 for문을 사용해 1부터 10까지 더하는 예제입니다.

#include <stdio.h>
 
void main()
{
  int i, sum =0;
  
  for(i=1; i<=10; i++)
   {
      sum = sum + i;
   }
}
cs

for문 안을 살펴보면

시작 초기값이 1로 되어있고, 종결 조건은 10까지 되었습니다.

그리고 조건 변화 수식을 i++로 반복문이 한번 돌 때마다 i가 1씩 증가되게 만들어져있습니다.

 

그럼 for문이 1번 돌때 마다 sum에 i값이 축적되고

i값이 1증가되게 됩니다.

그리고 i가 10보다 커지게되면 반복문이 종료가됩니다. 

 

 

 

[while 반복문]

다음으로 while문은 종결 조건을 가지고 반복시키는 문법입니다.

 

기본적인 구조는 아래와 같습니다.

while(종결 조건)

{

 반복 작업할 코드;

}

 

while문을 사용해 1부터 10까지 더하는 예제를 만들어보겠습니다.

코드는 아래와 같습니다.

#include <stdio.h>
 
void main()
{
  int sum=0;
  int n=1;
 
  while(n<=10) {
    sum = sum + n;
    n++;
  }
}
cs

 

while문의 ( )가 참이 된다면

while문의 { } 안의 코드가 반복되는 것입니다.

n이 10보다 작거나 같을 때까지 while문이 참이 되니

n이 11이 되기 전까지 while문이 반복되게 됩니다.

 

만약 while(1)와 같이 괄호안이 1이 되면 무한 반목문이 만들어지게됩니다.

 

여기까지 반복문의 대표적인 문법 for문과 while에 대해 설명드렸습니다.


 

마지막으로 중첩 반복문에 대해 알아보겠습니다.

 

[중첩 반복문]

중첩 반복문은 하나의 반복문 안에 또 다른 반복문이 포함된 문법입니다.

 

중첩 반복문을 사용해 간단한 예제

구구단을 출력시키는 프로그램을 만들어보겠습니다.

 

#include <stdio.h>
void main()
{
    int dan, i;
 
    for (dan = 2; dan < 10; dan++) {
        for (i = 1; i < 10; i++)
            printf("%d * %d = %d \n", dan, i, dan * i);
    }
}
cs

위의 코드는 중첩 반복문을 사용해 구구단을 출력시키는 코드입니다.

 

첫 번째 반복문은 2단에서 9단까지 출력되도록 반복시키는 역할을 합니다.

두 번째 반복문은 해당 단에서 i값을 1부터 9까지 총 9번 반복하고

printf 를 사용해 dan과 i와 dan*i을 차례대로 출력시킵니다.