본문 바로가기

Language/_C

반복문 (for, while)

반복문 : 지정한 부분을 반복시킨다.

for 문 :

개념 : 초기문으로 시작해서

조건문을 검사하여 TRUE 면 실행하고 한번의 실행이 끝나면 증감문을 거쳐 다시 조건문 검사하는 것을 반복한다.
                          FALSE 면 빠져나온다.

사용법 : 주로 반복의 횟수를 알때 사용한다.

for ( 초기문 ;  조건문 ; 증감문 )
{
           반복할 내용;
}

#include <stdio.h>

int main()
{
          int num;
          printf("구구단입니다. 알고싶은 단을 입력하세요!\n");  
          scanf("%d", &num);
          
          for(int i = 1; i <= 9 ; i++)
          {
                  printf("%d * %d = %d", num, i, num*i);
          }
          return 0;
}

실행결과 : 구구단입니다. 알고싶은 단을 입력하세요!
               2
               2 * 1 = 2
               2 * 2 = 4
               ...
               2 * 9 = 18




다중 for 문 :

개념 : for 문을 다중으로 중첩시켜 반복시킨다.

사용법 : 반복의 반복을 시킬때 사용한다.

for ( 초기문 ;  조건문 ; 증감문 )
{
           반복할 내용;
           for ( 초기문 ;  조건문 ; 증감문 )
           {
                     반복할 내용;
           }
}

#include <stdio.h>  // 이중 for 문 예제

int main()
{
         printf("구구단 출력\n");

         for(int i = 2 ; i <= 9 ; i++)         // i = 단수
         {
                 printf("%d 단입니다\n", i);
                 for(int j = 1 ; j <= 9 ; j++)                      // j = 곱해지는 수
                 {
                         printf("%d * %d = %d\n", i, j, i*j);
                 }
                 printf("\n");
          }
          return 0;
}

실행결과 : 구구단 출력
               2 단입니다
               2 * 1 = 2
               ....
               9 * 9 = 81



while 문 :

개념 : 조건식을 검사해서 TRUE 면 실행하고 FALSE 면 빠져나온다.

사용법 : 주로 반복의 횟수를 모를때 사용한다.

while(조건식)
{
          반복할 내용;


#include <stdio.h>

int main()
{
         int num=1;         // 초기 while 문의 조건식을 통과하기 위해서
         printf("0을 입력하면 종료하는 프로그램입니다.\n");
         while(num!=0)
         {
                 printf("숫자를 입력하세요 : ");
                 scanf("%d", &num);
         }
         printf("종료\n");
         return 0;
}

실행결과 : 0을 입력하면 종료하는 프로그램입니다.
               숫자를 입력하세요 : 5
               숫자를 입력하세요 : 0
               종료



for <-> while 전환 :

for 문 :                                                         while 문 :
                                                      
for ( 초기문 ; 조건문 ; 증감문 )         ▶▶         초기문;
{                                                                 while(조건문)       
         반복할 문장;                                        {
}                                                                          반복할 문장;
                                                                           증감문;
                                                                  }

#include <stdio.h>

int main()
{
          int num;
          printf("구구단입니다. 알고싶은 단을 입력하세요!\n"); 
          scanf("%d", &num);
                                                                                       int i = 1;
          for(int i = 1; i <= 9 ; i++)                                            while(i<=9)
          {                                                                           {
                  printf("%d * %d = %d", num, i, num*i);                       printf("%d * %d = %d", num, i, num*i);    
          }                                                                                   i++;
          return 0;                                                                 }
}                                            

루프(loop)의 생략과 탈출 :

break 문 : 

개념 : break 문을 만나면 가장 가까운 반복문을 탈출한다.

사용법 : 주로 if 문과 같이 사용하여 반복문을 즉시 탈출한다.(예외처리에 주로 사용)

break;

#include <stdio.h>

int main()
{
        int num;
        while(1)            // 항상 TRUE 이므로 무한 루프
        {
                 printf("0을 입력하지 않으시면 빠져나갈수 없습니다 : \n");
                 scanf("%d",  &num);

                 if(num==0)
                 {
                         break;
                 }
                 printf("%d 입력 했습니다.\n", num);
         }
         printf("종료\n");
         return 0;
}

실행결과 : 0을 입력하지 않으시면 빠져나갈수 없습니다. : 5
               5 입력 했습니다.
               0을 입력하지 않으시면 빠져나갈수 없습니다. : 0
               종료


continue 문 :

개념 : continue 문을 만나면 나머지 실행 문장들을 건너뛴다.

사용법 : 주로 if 문과 같이 사용하여 필요없는 부분을 반복에서 제외하고 반복한다.(예외처리에 주로 사용)

continue;

#include <stdio.h>

int main()
{
        printf("1부터 10까지의 홀수 출력입니다.\n");
        for(int i = 1; i <= 10 ; i++)
        {
                if(i%2==0)
                {
                         continue;
                }
                printf("%d 는 홀수 입니다.\n", i);
         }
         return 0;
}

실행결과 : 1부터 10까지의 홀수 출력입니다.
               1 는 홀수 입니다.
               3 는 홀수 입니다.
               ......
               9 는 홀수 입니다.

예제 해설 :

'Language > _C' 카테고리의 다른 글

포인터(Pointer)  (3) 2010.05.11
1차원 배열(Array)  (2) 2010.05.04
분기문 ( if, if - else, switch )  (0) 2010.03.20
자료형, 상수, 변수, 연산자  (1) 2010.03.16
C Hello World 출력  (3) 2010.03.13