250 likes | 452 Views
6 장 반복제어문. 학습 목표. for 문 while 문 do while 문 기타 제어문. for 문. 초기화 : 변수 초기값을 지정해 주고 반복문 시작을 나타낸다 . 조건식 : 반복을 계속할지 아니면 멈출 지를 결정한다 . 명령문들 : 조건에 맞으면 명령문들을 실행한다 . 증감식 : 변수의 값을 증감식에 따라 증가시키거나 감소시킨다 . 진행순서 : ① → ② → ③ → ④ → ② → ③ → ④ 종료조건 : 조건식이 거짓이 될 때 종료된다. for 문 예제.
E N D
학습 목표 • for 문 • while 문 • do while 문 • 기타 제어문
for 문 • 초기화: 변수 초기값을 지정해 주고 반복문 시작을 나타낸다. • 조건식: 반복을 계속할지 아니면 멈출 지를 결정한다. • 명령문들: 조건에 맞으면 명령문들을 실행한다. • 증감식: 변수의 값을 증감식에 따라 증가시키거나 감소시킨다. • 진행순서: ① → ② → ③ → ④ → ② → ③ → ④ • 종료조건: 조건식이 거짓이 될 때 종료된다.
for문 예제 프로그램 6-1 #include <stdio.h> int main(void) { int i; for (i = 0 ; i < 4 ; i++) printf("**********\n"); return 0; } 실행 결과
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; }
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; } 실행 결과
for문 예제 프로그램 6-4 #include <stdio.h> int main(void) { int i; for (i = 65; i <= 90; i++) printf("%c ", i); printf("\n"); return 0; } 실행 결과
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; } 실행 결과
다중 for 문 (a)와 (b)두 개의 for문 블록이 있다면, 우선 첫 번째 블록의 for문(a)의 초기식(①)과 조건식(②)을 비교하여 참인지를 판단하고, 참이면, 두 번째 for문(b)의 초기식(③)과 조건식(④)을 비교한다. 두 번째 for문(b)의 초기식과 조건식이 참이면 명령문(⑤)을 수행하고, 두 번째 for문(b)의 증감식(⑥)에 따라 변수값을 증감시킨다. 두 번째 for문(b)의 조건식이 거짓이 되어 빠져나오면, 다시 첫 번째 for문(a)의 증감식(⑦)에 따라 변수값을 증감시키고, 참이면 두 번째 for문(b)을 다시 수행하고, 거짓이면 for문을 빠져나오게 된다.
다중 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; } 실행 결과
다중 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; } 실행 결과
다중 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; } 실행 결과
실행문이 없는 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; } 실행 결과
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; } 실행 결과
while문 예제 프로그램 6-11 #include <stdio.h> int main(void) { int i = 64; while (i <= 90) { printf("%c", i); i++; } printf("\n"); return 0; } 실행 결과
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; } 실행 결과
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; } 실행 결과
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; } 실행 결과
기타 제어문 예제 프로그램 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; } 실행 결과
기타 제어문 예제 프로그램 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; } 실행 결과
기타 제어문 예제 프로그램 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; } 실행 결과
기타 제어문 예제 프로그램 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; } 실행 결과
기타 제어문 예제 프로그램 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; }