PowerPoint 프레젠테이션

Similar documents
Infinity(∞) Strategy

untitled

Microsoft PowerPoint - chap05-제어문.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

untitled

중간고사

Microsoft PowerPoint - chap-06.pptx

Chapter_06

C 언어 프로그래밊 과제 풀이

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap-07.pptx

: 1 int arr[9]; int n, i; printf(" : "); scanf("%d", &n); : : for(i=1; i<10; i++) arr[i-1] = n * i; for(i=0; i<9; i++) if(i%2 == 1) print

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - Lesson6.pptx

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

PowerPoint 프레젠테이션


쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

윈도우즈프로그래밍(1)

untitled

OCW_C언어 기초

Microsoft PowerPoint - ch03 - 조건문과 반복문 pm0215

Visual Basic 반복문

1.1.1 컴퓨터의 구성 p.19

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap04-연산자.pptx

슬라이드 1

ch08

Microsoft PowerPoint - gnu-w10-c-chap11

Java ...

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - ch07 - 포인터 pm0415

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - chap03-변수와데이터형.pptx

03장.스택.key

C 프로그래밊 개요

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap11-포인터의활용.pptx

02 C h a p t e r Java

슬라이드 1

슬라이드 1

Flowchart 작성법

Microsoft PowerPoint - chap12-고급기능.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx


C프로-3장c03逞풚

슬라이드 1

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

Microsoft PowerPoint - 5장 조건문 pptx


Microsoft PowerPoint - 7장 배열 pptx

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

4장.문장

C 언어와 프로그래밍 개요

PowerPoint 프레젠테이션

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Microsoft PowerPoint - ch01.ppt

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

PowerPoint 프레젠테이션

商用

슬라이드 1

K&R2 Reference Manual 번역본

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Microsoft PowerPoint - chap-05.pptx

untitled

Microsoft PowerPoint - Java7.pptx

윤성우의 열혈 TCP/IP 소켓 프로그래밍

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

歯MW-1000AP_Manual_Kor_HJS.PDF

11장 포인터

Microsoft PowerPoint - chap-11.pptx

Microsoft PowerPoint - [2009] 02.pptx

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

OCW_C언어 기초

슬라이드 1

금오공대 컴퓨터공학전공 강의자료

13주-14주proc.PDF

PowerPoint Presentation

슬라이드 1

Index

RYWKVGWKJOFY.hwp

¾Ë·¹¸£±âÁöħ¼�1-ÃÖÁ¾

01....b

00목차

(291)본문7

2007백서-001-특집

Chapter 4. LISTS

PowerPoint 프레젠테이션

C 프로그래밊 개요

1.1.1 컴퓨터의 구성 p.19

Microsoft PowerPoint - C++ 5 .pptx

Transcription:

Chapter 06 반복문

01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문

반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다.

1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음. 반복문이필요한경우 동일한내용을반복할때 printf("********** \n"); printf("********** \n"); printf("********** \n"); printf("********** \n"); printf("********** \n"); 일정한규칙으로반복하는일을수행할때 int Sum = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10; Page 4

2.1 for 문이란? for 문 특정한문장을일정한횟수만큼반복시킬때사용 for 문의기본형식과실행순서 for( 초기화 ; 조건식 ; 증감식 ) { ❶ ❷ ❹ } ❸ 명령문 1; 명령문 2; 초기화 : 변수의초깃값을지정하고, 반복문의시작을나타냄. 조건식 : 변숫값이조건식에맞으면계속반복하고아니면멈춤. 명령문 : 조건식이참이면명령문수행 증감식 : 증감식에따라변숫값을증가시키거나감소시킴. 실행순서 : ❶ ❷ ❸ ❹ ❷ ❸ ❹ 순으로실행 종료조건 : 조건식이거짓일때종료 Page 5

2.2 동일한내용을반복하는 for 문 동일한내용을반복하는 for 문 printf("********** \n"); printf("********** \n"); printf("********** \n"); printf("********** \n"); printf("********** \n"); int i for(i = 0; i < 5; i+ +) printf("********** \n"); Page 6

2.2 동일한내용을반복하는 for 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i; 06 07 for(i = 0; i < 5; i+ +) 08 printf("**********\n"); // * 10 개 09 10 return 0; 11 } Page 7

2.3 일정한규칙으로반복하는 for 문 일정한규칙으로반복하는 for 문 int sum = 1+2+3+4+5+6+7+8+9+10; int i, sum = 0; for(i = 1; i <= 10; i+ +) sum += i; Page 8

2.3 일정한규칙으로반복하는 for 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i, Sum = 0; 06 07 for(i = 1; i <= 10; i+ +) 08 Sum += i; 09 10 printf("1 부터 10 까지의합은 %d 다.\n", Sum); 11 12 return 0; 13 } Page 9

2.3 일정한규칙으로반복하는 for 문 일정한규칙으로반복하는 for 문 초깃값과조건은경우에따라다르게표현가능 Page 10

2.4 다양한 for 문의실행조건 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i; 06 07 for(i = 0; i < 5; i++) 08 printf("**********\n"); // * 10 개 09 printf("\n\n"); 10 11 for(i = 1; i < 10; i+=2) 12 printf("**********\n"); // * 10 개 13 printf("\n\n"); 14 15 for(i = 10; i > 0; i-=2) 16 printf("**********\n"); // * 10 개 17 18 return 0; 19 } Page 11

2.4 다양한 for 문의실행조건 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i; 06 for(i = 65; i <= 90; i+ +) 07 { 08 printf("%c ", i); 09 } 10 printf("\n"); 11 return 0; 12 } Page 12

2.4 다양한 for 문의실행조건 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i, j; 06 for(i = 0, j = 0; i < 3; i+ +, j+ +) 07 printf("i = %d, j = %d\n", i, j); 08 09 return 0; 10 } Page 13

2.5 다중 for 문 다중 for 문 for 문이 2 개이상인것 실행순서나형식은단일 for 문과같음. 다중 for 문의기본형식과실행순서 for( 초기화 ; 조건식 ; 증감식 ) { ❶ ❷ ❼ for( 초기화 ; 조건식 ; 증감식 ) { ❸ ❹ ❻ // for 문 (a) // for 문 (b) } } 명령문 1; ❺ Page 14

2.5 다중 for 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int sum, i, j; 06 07 printf(" 다중 for 문예제입니다.\n"); 08 09 for(i = 1; i <= 3; i+ +) 10 { 11 for(j = 1; j <= 3; j+ +) 12 { 13 sum = i + j; 14 printf("%d + %d = %d\n", i, j, sum); 15 } 16 } 17 18 return 0; 19 } Page 15

2.5 다중 for 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i, j; 06 07 for(i = 1; i < 6; i+ +) 08 { 09 for(j = 0; j < i; j+ +) 10 { 11 printf("*"); 12 } 13 printf("\n"); 14 } 15 16 return 0; 17 } Page 16

2.5 다중 for 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i, j, count = 0; 06 07 for(i = 2; i <= 100; + +i) 08 { 09 for(j = 2; j < i; + +j) 10 { 11 if(i % j = = 0) 12 break; 13 } 14 15 if(j = = i){ 16 count+ +; 17 printf("%d%s", i, count % 5? " " : "\n"); 18 } 19 } 20 21 return 0; 22 } Page 17

2.6 실행문이없는 for 문 실행문이없는 for 문 for(j = 2; j < i; + +j) { if(i % j = = 0) break; } for(j = 2; i % j; j+ +); Page 18

2.6 실행문이없는 for 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i, j, count = 0; 06 07 for(i = 2; i <= 100; + +i) 08 { 09 for(j = 2; i % j; j+ +); 10 11 if(j = = i) 12 { 13 count+ +; 14 printf("%d%s", i, count % 5? " " : "\n"); 15 } 16 } 17 18 return 0; 19 } Page 19

3.1 while 문 while 문 횟수를정확하게알지는못하지만반복의조건을알고있을때사용 Page 20

3.1 while 문 while 문의기본형식 while( 조건식 ) { 명령문 1; 명령문 2; 증감식 } while 문과 for 문의비교 [while 문 ] 초기화 ; ❶ while( 조건식 ) ❷ { ❸ 명령문 1; ❹ 증감식 } [for 문 ] for( 초기화 ; 조건식 ; 증감식 ) { ❶ ❷ ❹ ❸ 명령문 1; 명령문 2; } Page 21

3.1 while 문 while 문과 for 문의초기화위치비교 for 문은괄호안에서초기화를하지만 while 문은 while 문외부에서초기화 for 문에서도 for 문시작전에초기화를할수있으나일반적이지않음. Page 22

3.1 while 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int sum = 0, number = 1; 06 printf("1 에서 10 까지합을구합니다.\n"); 07 08 while(number <= 10) 09 { 10 sum += number; 11 number+ +; 12 } 13 14 printf(" 합은 %d 입니다.\n", sum); 15 return 0; 16 } Page 23

3.1 while 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i = 65; 06 07 while(i <= 90) 08 { 09 printf("%c ", i); 10 i++; 11 } 12 13 printf("\n"); 14 return 0; 15 } Page 24

3.1 while 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int a = 1, sum = 0; 06 07 while(sum < 300) 08 { 09 sum += a; 10 a++; 11 } 12 13 printf(" 합이 300 이넘는 a 의최솟값은 %d 다. \n", a-1); 14 printf("sum = %d\n", sum); 15 16 return 0; 17 } Page 25

3.1 while 문 [ 여기서잠깐 ] 무한반복 (infinite loop) 종료되지않는반복문 무한반복에서빠져나오려면 break문을이용하거나 [shift]+[f5] 키를눌러디버깅을강제로종료 [for 문 ] for( ; ; ){ 문장 } [while 문 ] while(1){ 문장 } Page 26

4.1 do~while 문 do~while 문 일단 do 안에있는명령문을수행하고나중에 while문의조건식을비교 적어도한번은명령문을처리 마지막에세미콜론 (;) 을반드시넣어야함. do~while 문의기본형식 do { ❶ 명령문 1; }while( 조건식 ); ❷ Page 27

4.1 do~while 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int sum = 0; 06 int number = 0; 07 08 printf("1 에서 10 까지합을구합니다.\n"); 09 10 do 11 { 12 number++; 13 sum += number; 14 } while(number < 10); 15 16 printf(" 합은 %d 입니다.\n", sum); 17 18 return 0; 19 } Page 28

4.1 do~while 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int sum = 0, index = 0; 06 07 do 08 { 09 ++index; 10 sum = sum + index; 11 } while(sum < 1000); 12 13 printf(" 합이 1000 보다작은최대합은 = %d\n", sum - index); 14 printf(" 마지막으로더해지는자연수는 %d 다.\n", index - 1); 15 16 return 0; 17 } Page 29

5.1 goto 문 goto 문 명령문의실행순서를프로그래머가임의로변경하고자할때사용 실행순서를사용자가지정한라벨로이동 라벨은다른명령문앞에선언하며, 라벨다음에콜론 (:) 을넣음. 일반적으로 goto문은잘사용하지않음. goto 문의기본형식 goto 라벨 (Label); Page 30

5.1 goto 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int sum = 0; 06 int number = 0; 07 08 while(1) 09 { 10 sum += number; 11 number++; 12 } 13 if(number > 10) goto ex1; 14 } 15 16 ex1: 17 printf("1 에서 10 까지합을구합니다.\n"); 18 printf(" 합은 %d 입니다.\n", sum); 19 20 return 0; 21 } Page 31

5.1 goto 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i, j; 06 for(i = 1; i <= 100; i+ +) 07 { 08 for(j = 1; j <= 9; j+ +) 09 { 10 printf("%d * %d = %2d\n", i, j, i*j); 11 if(i == 9 && j == 9) goto end; 12 } 13 } 14 15 end: 16 printf("goto문을빠져나왔습니다.\n"); 17 18 return 0; 19 } Page 32

5.2 break 문 break 문 반복문을빠져나오거나 switch~case문에서정상적인흐름을변경하기위해사용 주로 goto문대신에쓰는방법으로 switch~case문에서는거의필수적으로사용 Page 33

5.2 break 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i; 06 07 for(i = 1; i < 100; i+ +) 08 { 09 printf("%d ", i); 10 if(i > = 5) break; 11 } 12 13 printf("\nfor 문을빠져나왔습니다.\n"); 14 15 return 0; 16 } Page 34

5.3 continue 문 continue 문 반복문을빠져나오지않고해당반복문의처음으로프로그램의흐름을이동 1~10 에서홀수또는짝수만더하는예 int sum = 0, i; for(i = 1; i <=10; i + = 2) sum + = i; int sum = 0, i; for(i = 2; i <= 10; i + = 2) sum + = i Page 35

5.3 continue 문 continue 문을이용한 1~10 에서홀수또는짝수만더하는예 int sum = 0, i; for(i = 1; i <= 10; i+ +) { if(i % 2 = = 0) continue; // 짝수면아래문장을진행하지않고증감식으로이동한다. sum += i; } int sum = 0, i; for(i = 1; i <= 10; i+ +) { if(i % 2!= 0) continue; // 홀수면아래문장을진행하지않고증감식으로이동한다. sum += i; } Page 36

5.3 continue 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i, sum = 0; 06 07 for(i = 1; i <= 10; i+ +) 08 { 09 if(i % 2 = = 0) continue; 10 sum += i; 11 } 12 13 printf("1 부터 10 까지홀수의합은 %d 다.\n", sum); 14 return 0; 15 } Page 37

5.3 continue 문 1~20 에서 2 의배수이면서 3 의배수인수를제외하고출력하는프로그램 2 의배수인조건 (i % 2) == 0 3 의배수인조건 (i % 3) == 0 두조건 AND 연산 : 2 의배수이면서 3 의배수인조건 (i % 2) == 0 && (i % 3) == 0 위조건이만족되지않을때값을출력 for(i = 1; i <= 20; i+ +) { if((i % 2 = = 0) && (i % 3 = = 0)) continue; printf("%d", i); } Page 38

5.3 continue 문 01 #include <stdio.h> 02 03 int main(void) 04 { 05 int i, sum = 0; 06 07 for(i = 1; i <= 10; i+ +) 08 { 09 if((i % 2 == 0) && (i % 3 == 0)) continue; 10 printf("%d ", i); 11 } 12 13 printf("\n"); 14 return 0; 15 } Page 39

감사합니다. C 로시작하는컴퓨터프로그래밍개정 3 판