1 / 25

6 장 반복제어문

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

laith-dunn
Download Presentation

6 장 반복제어문

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6 장 반복제어문

  2. 학습 목표 • for 문 • while 문 • do while 문 • 기타 제어문

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

  4. for문 예제 프로그램 6-1 #include <stdio.h> int main(void) { int i; for (i = 0 ; i < 4 ; i++) printf("**********\n"); return 0; } 실행 결과

  5. for문 예제 프로그램 6-2 실행 결과 #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; }

  6. for문 예제 프로그램 6-3 #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; } 실행 결과

  7. for문 예제 프로그램 6-4 #include <stdio.h> int main(void) { int i; for (i = 65; i <= 90; i++) printf("%c ", i); printf("\n"); return 0; } 실행 결과

  8. for문 예제 프로그램 6-5 #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; } 실행 결과

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

  10. 다중 for문 예제 프로그램 6-6 #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; } 실행 결과

  11. 다중 for문 예제 프로그램 6-7 #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; } 실행 결과

  12. 다중 for문 예제 프로그램 6-8 #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; } 실행 결과

  13. 실행문이 없는 for문 예제 프로그램 6-9 #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; } 실행 결과

  14. while 문

  15. while문 예제 프로그램 6-10 #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; } 실행 결과

  16. while문 예제 프로그램 6-11 #include <stdio.h> int main(void) { int i = 64; while (i <= 90) { printf("%c", i); i++; } printf("\n"); return 0; } 실행 결과

  17. while문 예제 프로그램 6-12 #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; } 실행 결과

  18. do ~ while 문

  19. do ~ while문 예제 프로그램 6-13 #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; } 실행 결과

  20. do ~ while문 예제 프로그램 6-14 #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; } 실행 결과

  21. 기타 제어문 예제 프로그램 6-15 #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; } 실행 결과

  22. 기타 제어문 예제 프로그램 6-16 #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; } 실행 결과

  23. 기타 제어문 예제 프로그램 6-17 #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; } 실행 결과

  24. 기타 제어문 예제 프로그램 6-18 #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; } 실행 결과

  25. 기타 제어문 예제 프로그램 6-19 실행 결과 #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; }

More Related