6 장 반복제어문
DESCRIPTION
6 장 반복제어문. 학습 목표. for 문 while 문 do while 문 기타 제어문. for 문. 초기화 : 변수 초기값을 지정해 주고 반복문 시작을 나타낸다 . 조건식 : 반복을 계속할지 아니면 멈출 지를 결정한다 . 명령문들 : 조건에 맞으면 명령문들을 실행한다 . 증감식 : 변수의 값을 증감식에 따라 증가시키거나 감소시킨다 . 진행순서 : ① → ② → ③ → ④ → ② → ③ → ④ 종료조건 : 조건식이 거짓이 될 때 종료된다. for 문 예제. - PowerPoint PPT PresentationTRANSCRIPT
6 장 반복제어문
2
IT COOKBOOKIT COOKBOOK
학습 목표
for 문 while 문 do while 문 기타 제어문
3
IT COOKBOOKIT COOKBOOK
for 문
• 초기화 : 변수 초기값을 지정해 주고 반복문 시작을 나타낸다 .
• 조건식 : 반복을 계속할지 아니면 멈출 지를 결정한다 . • 명령문들 : 조건에 맞으면 명령문들을 실행한다 . • 증감식 : 변수의 값을 증감식에 따라 증가시키거나 감소시킨다 .
• 진행순서 : → → → → → → ① ② ③ ④ ② ③ ④• 종료조건 : 조건식이 거짓이 될 때 종료된다 .
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
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
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
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
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
9
IT COOKBOOKIT COOKBOOK
다중 for 문
(a) 와 (b) 두 개의 for 문 블록이 있다면 , 우선 첫 번째 블록의 for 문(a) 의 초기식 (①) 과 조건식 (②) 을 비교하여 참인지를 판단하고 , 참이면 , 두 번째 for 문 (b) 의 초기식 (③) 과 조건식 (④) 을 비교한다 . 두 번째 for 문 (b) 의 초기식과 조건식이 참이면 명령문 (⑤) 을 수행하고 , 두 번째 for 문 (b) 의 증감식 (⑥) 에 따라 변수값을 증감시킨다 . 두 번째 for 문 (b) 의 조건식이 거짓이 되어 빠져나오면 , 다시 첫 번째 for 문 (a) 의 증감식 (⑦) 에 따라 변수값을 증감시키고 , 참이면 두 번째 for 문 (b) 을 다시 수행하고 , 거짓이면 for 문을 빠져나오게 된다 .
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
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
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
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
14
IT COOKBOOKIT COOKBOOK
while 문
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
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
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
18
IT COOKBOOKIT COOKBOOK
do ~ while 문
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
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
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
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
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
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
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