25
6 장 장장장장장

6 장 반복제어문

Embed Size (px)

DESCRIPTION

6 장 반복제어문. 학습 목표. for 문 while 문 do while 문 기타 제어문. for 문. 초기화 : 변수 초기값을 지정해 주고 반복문 시작을 나타낸다 . 조건식 : 반복을 계속할지 아니면 멈출 지를 결정한다 . 명령문들 : 조건에 맞으면 명령문들을 실행한다 . 증감식 : 변수의 값을 증감식에 따라 증가시키거나 감소시킨다 . 진행순서 : ① → ② → ③ → ④ → ② → ③ → ④ 종료조건 : 조건식이 거짓이 될 때 종료된다. for 문 예제. - PowerPoint PPT Presentation

Citation preview

Page 1: 6  장 반복제어문

6 장 반복제어문

Page 2: 6  장 반복제어문

2

IT COOKBOOKIT COOKBOOK

학습 목표

for 문 while 문 do while 문 기타 제어문

Page 3: 6  장 반복제어문

3

IT COOKBOOKIT COOKBOOK

for 문

•   초기화 : 변수 초기값을 지정해 주고 반복문 시작을 나타낸다 .

•   조건식 : 반복을 계속할지 아니면 멈출 지를 결정한다 . •   명령문들 : 조건에 맞으면 명령문들을 실행한다 . •   증감식 : 변수의 값을 증감식에 따라 증가시키거나 감소시킨다 .

•   진행순서 : → → → → → → ① ② ③ ④ ② ③ ④•   종료조건 : 조건식이 거짓이 될 때 종료된다 .

Page 4: 6  장 반복제어문

4

IT COOKBOOKIT COOKBOOK

#include <stdio.h>      int main(void)     {          int i;

         for (i = 0 ; i < 4 ; i++)              printf("**********\n");                   return 0;     }

for 문 예제

실행 결과

프로그램 6-1

Page 5: 6  장 반복제어문

5

IT COOKBOOKIT COOKBOOK

#include <stdio.h>      int main(void)     {          int i, sum = 0;

         for (i = 1 ; i <= 10 ; i++)             sum += i;                  printf("1 부터 10 까지의 합은 %d 이다 .\n", sum);

        return 0;     }

for 문 예제

실행 결과

프로그램 6-2

Page 6: 6  장 반복제어문

6

IT COOKBOOKIT COOKBOOK

  #include <stdio.h>

     int main(void)     {          int i;          for (i =0 ; i < 5 ; i++)              printf("**********\n");

         printf("\n\n");          for (i = 1 ; i < 10 ; I += 2)             printf("**********\n");                   printf("\n\n");          for (i = 10 ; i > 0 ; I -= 2)              printf("**********\n");

         return 0;     }

for 문 예제

실행 결과

프로그램 6-3

Page 7: 6  장 반복제어문

7

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {      int i;

     for (i = 65; i <= 90; i++)        printf("%c ", i);         printf("\n");     return 0; }

for 문 예제

실행 결과

프로그램 6-4

Page 8: 6  장 반복제어문

8

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {     int i, j;

    for (i=0, j=0; I < 3; i++, j++)         printf("i = %d j = %d\n", i,

j);      return 0; }

for 문 예제

실행 결과

프로그램 6-5

Page 9: 6  장 반복제어문

9

IT COOKBOOKIT COOKBOOK

다중 for 문

   (a) 와 (b) 두 개의 for 문 블록이 있다면 , 우선 첫 번째 블록의 for 문(a) 의 초기식 (①) 과 조건식 (②) 을 비교하여 참인지를 판단하고 , 참이면 , 두 번째 for 문 (b) 의 초기식 (③) 과 조건식 (④) 을 비교한다 . 두 번째 for 문 (b) 의 초기식과 조건식이 참이면 명령문 (⑤) 을 수행하고 , 두 번째 for 문 (b) 의 증감식 (⑥) 에 따라 변수값을 증감시킨다 . 두 번째 for 문 (b) 의 조건식이 거짓이 되어 빠져나오면 , 다시 첫 번째 for 문 (a) 의 증감식 (⑦) 에 따라 변수값을 증감시키고 , 참이면 두 번째 for 문 (b) 을 다시 수행하고 , 거짓이면 for 문을 빠져나오게 된다 .

Page 10: 6  장 반복제어문

10

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {   int sum, i, j;     printf(" 다중 for 문의 예제입니다 .\n");

for (i = 1; i <= 3; i++) {           for (j = 1; j <= 3; j++) {                   sum = i + j;                   printf("%d + %d = %d\n", i, j, sum);           }    }    return 0; }

다중 for 문 예제

실행 결과

프로그램 6-6

Page 11: 6  장 반복제어문

11

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {   int i, j;   for (i = 1; i < 6; i++) {            for (j = 0; j < i; j++) {                    printf("*");            }            printf("\n");    }   return 0; }

다중 for 문 예제

실행 결과

프로그램 6-7

Page 12: 6  장 반복제어문

12

IT COOKBOOKIT COOKBOOK

#include <stdio.h>      int main(void)     {          int i, j, count = 0;                   for (i = 2; i <= 100; ++i) {                for (j = 2; j < i; ++j) {                        if (i % j == 0)                        break;                  }                  if (j == i) {                      count++;                      printf("%d%s", i, count % 5 ? " " : "\n");                 }         }         return 0;     }

다중 for 문 예제

실행 결과

프로그램 6-8

Page 13: 6  장 반복제어문

13

IT COOKBOOKIT COOKBOOK

#include <stdio.h>      int main(void)     {         int i, j, count = 0;                  for (i = 2; i <= 100; ++i) {                 for( j = 2; i % j ; j++);

                if (j == i) {                     count++;                     printf("%d%s", i, count % 5 ? " " : "\n");                 }         }         return 0;     }

실행문이 없는 for 문 예제

실행 결과

프로그램 6-9

Page 14: 6  장 반복제어문

14

IT COOKBOOKIT COOKBOOK

while 문

Page 15: 6  장 반복제어문

15

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {    int sum = 0, number = 1;    printf("1 에서 10 까지의 합을 구합니다 .\n");

  while (number <= 10) {            sum += number;            number++;    }   printf(" 결과는 : %d 입니다 .\n", sum);    return 0; }

while 문 예제

실행 결과

프로그램 6-10

Page 16: 6  장 반복제어문

16

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {    int i = 64;    while (i <= 90) {           printf("%c", i);           i++;    }    printf("\n");    return 0; }

while 문 예제

실행 결과

프로그램 6-11

Page 17: 6  장 반복제어문

17

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {   int a = 1, sum = 0;    while (sum < 300) {            sum += a;            a++;    }    printf(" 합이 300 이 넘는 최소의 a 값은 %d\n", a-

1);    printf(" sum = %d\n", sum);   return 0; }

while 문 예제

실행 결과

프로그램 6-12

Page 18: 6  장 반복제어문

18

IT COOKBOOKIT COOKBOOK

do ~ while 문

Page 19: 6  장 반복제어문

19

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {   int sum = 0;    int number = 0;       printf("1 에서 10 까지의 합을 구합니다 .\n");    do {            number++;            sum += number;   } while (number < 10);   printf(" 결과는 : %d 입니다 .\n", sum);   return 0; }

do ~ while 문 예제

실행 결과

프로그램 6-13

Page 20: 6  장 반복제어문

20

IT COOKBOOKIT COOKBOOK

 #include <stdio.h>       int main(void)      {          int sum = 0, index = 0;                   do {                  ++index;                  sum = sum + index;            } while (sum < 1000);               printf(" 합이 1000 보다 적은 최대 합은 = %d\n", sum - index);          printf(" 그 때의 최대 자연수는 %d 이다 .\n", index-1);            return 0;      }

do ~ while 문 예제

실행 결과

프로그램 6-14

Page 21: 6  장 반복제어문

21

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {   int sum = 0;    int number = 0;   while (1) {            sum += number;            number++;           if (number > 10) goto ex1;    } ex1:    printf("1 부터 10 까지의 합을 구합니다 .\n");    printf(" 결과는 : %d 입니다 .\n", sum);   return 0; }

기타 제어문 예제

실행 결과

프로그램 6-15

Page 22: 6  장 반복제어문

22

IT COOKBOOKIT COOKBOOK

#include <stdio.h>      int main(void)     {          int i, j;           for (i = 1; i <= 100; i++) {             for (j = 1; j <= 9; j++) {               printf("%d * %d = %2d\n", i, j, i*j);               if (i == 9 && j == 9) goto end;             }         }          end: printf("goto 문을 빠져 나왔습니다 .\n");          return 0;     }

기타 제어문 예제

실행 결과

프로그램 6-16

Page 23: 6  장 반복제어문

23

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {    int i;               for (i = 1; i < 100; i++) {            printf(" %d ", i);            if (i >= 5) break;    }    printf("\n for 문을 빠져나왔습니다 .\n");   return 0; }

기타 제어문 예제

실행 결과

프로그램 6-17

Page 24: 6  장 반복제어문

24

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {   int i, sum=0;              for (i = 1; i <= 10; i++) {       if (i % 2 == 0) continue;        sum+=i;    }    printf("1 부터 10 까지의 홀수의 합은 %d 이다 .\n", sum);   return 0; }

기타 제어문 예제

실행 결과

프로그램 6-18

Page 25: 6  장 반복제어문

25

IT COOKBOOKIT COOKBOOK

#include <stdio.h> int main(void) {   int i, sum=0;               for (i = 1; i <= 10; i++) {        if ((i % 2 == 0) && (i % 3 == 0)) continue;        printf("%d ", i);    }    printf("\n");   return 0; }

기타 제어문 예제

실행 결과프로그램 6-19