Chapter 07. 반복문.

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

2014 가을학기 계산 입문 연습 #4 지도교수 : 박성우 조교 : 이다훈. Python 을 설치합시다.
Power Java 제6장 조건과 반복.
/ 4강_연산자 4-1 할당연산자 4-2 사칙연산자 및 나머지 연산자 4-3 자동증감 연산자 4-4 비교 연산자 4-5 논리 연산자 4-6 부정 연산자 4-7 복합대입 연산자 /
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 07. 반복실행을 명령하는 반복문.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
6장 명령문.
제 4 장 프로그램 제어문 C 프로그래밍.
C 5장. 제어문 #include <stdio.h> int main(void) { int num;
Chapter 7. 조건문.
Chapter09 JavaScript 구구단표 만들기
Chapter 04 C 연산자의 이해.
C언어 콘서트 제6장 반복문.
어서와 Java는 처음이지! 제3장선택과 반복.
6 반복문의 기본 for 문 여러 번 반복하는 작업은 for 문으로!.
7 while 문의 흐름 제어 조건만 만족한다면 무조건 무한 반복!.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
고급 선택 제어문과 반복문 Chapter 9 C에서의 다중 선택 제어문 선 검사 반복 구조와 for 문
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Part 07 제어 구조 ©우균, 창병모 © 우균, 창병모.
2007 1학기 11 프로젝트 기초 실습.
예제로 배우는 Visual Basic 구구단 작성기로 익히는 반복문
순서도.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
3. while문 반복문의 종류 while 문 while( 조건식 )        문장;.
Chapter 09 반복문.
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express Slide 1 (of 27)
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
어서와 C언어는 처음이지 제15장.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
연산자 (Operator).
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
Chapter 03. 주석문과 제어문.
제 5장 제어문 Hello!! C 언어 강성호 김학배 최우영.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
2007 1학기 08 반복문.
Chapter 08. 함수.
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
Fucntion 요약.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
균형이진탐색트리 이진 탐색(binary search)과 이진 탐색 트리(binary search tree)와의 차이점
-Part1- 제7장 반복문이란 무엇인가.
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
[ 단원 04 ] 반복과 배열.
프로그램 개발 방법론 부재 : 연습문제 (6장) 학번: 이름:김치우.
2nd day Indexing and Slicing
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Flow Diagram IV While.
7주차: Functions and Arrays
C++ 프로그래밍 기초 √ 원리를 알면 IT가 맛있다 3장. 연산자.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
어서와 C언어는 처음이지 제16장.
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
제어문Control Statements
어서와 C언어는 처음이지 제21장.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

chapter 07. 반복문

같은 작업을 반복적으로 수행할 필요가 있을 때 반복문을 사용한다. 반복문의 구성과 종류 같은 작업을 반복적으로 수행할 필요가 있을 때 반복문을 사용한다. 반복문은 반복할 문장과 반복조건으로 구성된다. - 달팽이는 우물을 탈출할 때까지 올라가는 과정을 반복한다. 반복문에는 do~while, while, for문이 있다.

do~while문은 일단 반복할 문장을 수행한 후에 조건을 검사한다. 달팽이가 3m의 우물을 탈출하는데 걸리는 일 수를 계산하는 예 int height=0; int days=0; do{ height=height+55; days=days+1; } while(height<300); printf(“달팽이가 우물을 올라가는 데 걸린 일 수 : %d\n”, days); // 달팽이의 현재 높이를 저장할 변수, 처음엔 0 // 일수를 세기 위한 변수 // 한 번 올라갈 때마다 55cm씩 증가한다. // 한 번 반복될 때마다 하루씩 증가한다. // 아직 우물을 탈출하지 못했으면 계속 반복한다.

반복조건을 먼저 확인하여 조건을 만족하는 경우에 반복한다. while문 반복조건을 먼저 확인하여 조건을 만족하는 경우에 반복한다. 조건을 만족하지 않으면 반복할 문장을 한 번도 수행되지 않는다. int height=0, days=0, depth; printf(“우물의 깊이를 입력하세요(cm) : ”); scanf(“%d”, &depth); While(height<depth){ height=height+55; days=days+1; } printf(“달팽이가 우물을 올라가는 데 걸린 일 수 : %d\n”, days); // depth는 우물의 깊이를 입력 받을 변수 // depth에 0이 입력되었다면… // 조건식은 거짓이 되어 반복할 문장은 한번도 실행되지 않는다.

▶ 조건식이 반복문 중간에 있다면? 달팽이가 미끄러지는 경우는 반복문 중간에 조건을 판단한다. 이 때는 반복되는 규칙을 관찰하여 조건식이 가장 먼저 수행되도록 반복되는 부분을 결정하고 while문으로 작성한다.

▶ 조건식이 반복문 중간에 있다면? height=height+55; while(height<300){ days=days+1; } // 일단 우물을 올라간다. // 우물 안에 있는 동안 반복한다. // 벗어나지 못했으면 미끄러진다. // 하루를 증가시킨다. // 다음날 또 올라간다.

▶ 몇 번을 반복할 것인가? 특정 문장을 일정 횟수 반복할 때는 반복제어변수를 사용한다. - “사랑합니다”를 3회 출력하는 경우 반복 횟수는 초기식, 조건식, 증감식이 결정한다.

제어변수의 값을 반복문 안에서 활용하는 경우는 초기식, 조건식, 증감식을 적절하게 수정한다. ▶ 제어변수의 활용 제어변수의 값을 반복문 안에서 활용하는 경우는 초기식, 조건식, 증감식을 적절하게 수정한다. - 제어변수를 활용하여 구구단을 출력하는 예

증감연산자 반복문의 증감식은 주로 증감연산자를 사용하여 간단히 표현한다. 증감연산자에는 증가연산자(++)와 감소연산자(--)가 있다. 증감연산자의 피연산자는 변수가 와야 한다.

▶ 증감연산자의 두 가지 표현법(전위형, 후위형) 증감연산자는 사용 위치에 따라서 두 가지 형태로 사용된다. 증감식이 단독으로 사용될 때는 전위형과 후위형의 차이는 없으나 다른 연산자와 함께 쓰일 때는 다른 결과값이 달라진다. - 변수 a의 값이 5, b의 값이 6일 때

▶ 증감연산자의 사용 예 #include <stdio.h> int main() { int a=0, b=0; ++a; printf("a=%d, b=%d\n", a, b); b=a++; b=++a; printf("a=%d, b=%d\n", a++, b++); return 0; } // a의 값은 0에서 1로 증가 // b의 값도 0에서 1로 증가 // a=1, b=1 출력 // a의 증가되기 전의 값이 b에 대입 // a=2, b=1 출력 // 증가된 a의 값이 b에 대입 // a=3, b=3 출력 // a, b모두 증가되기 전의 값 3이 출력 // a, b는 증가된 4가 출력

for문 while문의 초기식, 조건식, 증감식을 한곳에 모아 놓은 것이다. for문이 실행되는 순서

▶ 1부터 10까지의 합을 구하는 예 #include <stdio.h> int main() { int i; int sum=0; for(i=1; i<=10; i++) { sum=sum+i; } printf("1부터 10까지의 합은 : %d\n", sum); return 0; // 반복제어변수로 사용한 변수 // 합을 누적시킬 변수 // i가 1부터 10까지 변하면서 10번 반복 // i의 값을 누적시킨다.

▶ 복합대입연산자 두 값을 연산한 결과를 다시 왼쪽의 변수에 대입하는 경우에 복합대입연산자를 사용할 수 있다. 사칙연산자와 나머지 연산자는 모두 복합대입연산자로 사용할 수 있다. 복합 대입연산식 연산 방법 일반 연산식 res += val; res와 val을 더해서 res에 저장 res = res + val; res -= val; res에서 val을 뺀 값을 res에 저장 res = res - val; res *= val; res와 val을 곱해서 res에 저장 res = res * val; res /= val; res를 val로 나눈 값을 res에 저장 res = res / val; res %= val; res를 val로 나눈 나머지를 res에 저장 res = res % val;

반복문안에 실행할 문장이 반복문인 경우 다중 반복문이다. - 1부터 원하는 수까지 반복하는 경우(음수가 입력될 때까지 반복한다). 양수를 입력하세요 : 10 (엔터) 1부터 10까지의 합은 : 55 양수를 입력하세요 : 60 (엔터) 1부터 65까지의 합은 : 2145 양수를 입력하세요 : -1 (엔터) // 음수가 입력되면 프로그램 종료

▶ 1부터 n까지의 합을 반복하는 프로그램 #include <stdio.h> int main() { int n; int i; int sum; printf("양수를 입력하세요 : "); scanf("%d", &n); while(n>0){ sum=0; for(i=1; i<=n; i++){ sum+=i; } printf("1부터 %d까지의 합은 : %d\n", n, sum); return 0; // 양수를 입력 받을 변수 // 반복제어변수 // 1부터 n까지의 합을 누적할 변수 // 양수일 때만 반복 // 누적변수 초기화 // i는 1부터 n까지 반복하면서 n번 반복 // i의 값을 sum에 누적 // 누적된 값 출력 // 반복을 위해 다시 양수를 입력 받는다.

1개의 단을 출력하는 것은 반복문이다(2단만을 출력하는 경우). ▶ 2중 for문을 사용한 구구단 출력 예 1개의 단을 출력하는 것은 반복문이다(2단만을 출력하는 경우). for(j=1; j<=9; j++){ printf(“2 * %d = %d\n”, j, 2*j); } // j의 값은 1부터 9까지 변하며 9번 반복 // j의 값을 사용하여 2단을 출력한다. 8개의 단(2단~9단)을 모두 출력하기 위해 2중 반복문을 사용한다. for(i=2; i<=9; i++){ for(j=1; j<=9; j++){ printf(“%d * %d = %d\n”, i, j, i*j); } // i의 값이 2부터 9까지 변하면서 8번 반복 // 반복 제어변수 i와 j를 활용한다. i가 2일 때 j는 1부터 9까지 변하면서 2단을 출력 i가 3일 때 j는 1부터 9까지 변하면서 3단을 출력 … i가 9일 때 j는 1부터 9까지 변하면서 9단을 출력

무한 반복문은 조건식이 항상 참이 되도록 작성한다. for문을 사용한 무한 반복문 for( ; ; ){ printf(“뇌를 자극하는 C프로그래밍…\n”); }

반복문 중간에서 조건에 따라 반복을 종료할 때 break를 사용한다. 반복문 제어 반복문 중간에서 조건에 따라 반복을 종료할 때 break를 사용한다. - 양수를 입력 받아 누적하여 출력하는 예(음수값 입력시 종료). #include <stdio.h> int main() { int sum=0; int n; while(1){ printf("0또는 양수값을 입력하세요 : "); scanf("%d", &n); if(n<0) break; sum+=n; } printf("그 동안 누적된 값 : %d\n", sum); return 0; // 조건식이 항상 참이므로 무한 반복문 // 변수 n에 양수값 입력 // 입력 받은 값이 음수이면 반복문을 빠져나간다. // 그렇지 않으면 입력 받은 값을 sum에 누적

break문은 반복문이 중첩되어 있을 때 하나만 빠져나간다. int i, j, cnt=0; for(i=1; i<=10; i++){ for(j=1; j<=10; j++){ cnt++; if(i+j==12) break; } for문 하나만 탈출한다! // i는 1부터 10까지 10번 반복 // j는 1부터 10까지 10번 반복 // cnt의 값을 하나씩 증가 break문은 반복문의 블록만을 벗어난다(switch~case문은 예외).

▶ continue는 반복문의 일부를 건너뛴다. continue문은 실행위치를 반복문의 블록 끝으로 이동시키므로 continue문 이후의 문장을 건너뛰는 용도로 사용된다. - 1부터 100까지의 수 중에서 3의 배수를 제외한 합을 구하는 예