6 반복문의 기본 for 문 여러 번 반복하는 작업은 for 문으로!.

Slides:



Advertisements
Similar presentations
2014 가을학기 계산 입문 연습 #4 지도교수 : 박성우 조교 : 이다훈. Python 을 설치합시다.
Advertisements

Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
Power Java 제6장 조건과 반복.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 07. 반복실행을 명령하는 반복문.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
8. 배열.
제 4 장 프로그램 제어문 C 프로그래밍.
C 5장. 제어문 #include <stdio.h> int main(void) { int num;
Chapter 7. 조건문.
Chapter09 JavaScript 구구단표 만들기
Chapter 07. 반복문.
3. printf()와 데이터 형식.
7. while 문의 흐름 제어.
Chapter 04 C 연산자의 이해.
C언어 콘서트 제6장 반복문.
어서와 Java는 처음이지! 제3장선택과 반복.
7 while 문의 흐름 제어 조건만 만족한다면 무조건 무한 반복!.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
고급 선택 제어문과 반복문 Chapter 9 C에서의 다중 선택 제어문 선 검사 반복 구조와 for 문
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Part 07 제어 구조 ©우균, 창병모 © 우균, 창병모.
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
6장. printf와 scanf 함수에 대한 고찰
예제로 배우는 Visual Basic 구구단 작성기로 익히는 반복문
11장. 1차원 배열.
순서도.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
C 2장. C 프로그램 시작하기 #include <stdio.h> int main(void) { int num;
3. while문 반복문의 종류 while 문 while( 조건식 )        문장;.
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express Slide 1 (of 27)
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
C 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
어서와 C언어는 처음이지 제15장.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
연산자 (Operator).
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
제 5장 제어문 Hello!! C 언어 강성호 김학배 최우영.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
Chapter 08. 함수.
6장 연습 문제 풀이 학번 : 이름 :조 재한.
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
[ 단원 04 ] 반복과 배열.
프로그램 개발 방법론 부재 : 연습문제 (6장) 학번: 이름:김치우.
2nd day Indexing and Slicing
제 15 강 문자와 코드 shcho.pe.kr.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Flow Diagram IV While.
C++ 프로그래밍 기초 √ 원리를 알면 IT가 맛있다 3장. 연산자.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
TVM ver 최종보고서
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
제어문Control Statements
어서와 C언어는 처음이지 제21장.
Pointers summary.
6 객체.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

6 반복문의 기본 for 문 여러 번 반복하는 작업은 for 문으로!

이 장에서 다룰 내용 단순 for 문 1 2 중첩 for 문 그 외 for 문에 관한 이야기 3

01_단순 for 문 반복문 특정 문장을 반복하게 만들어 주는 것 주로 for 문과 while 문 사용

[기본예제 6-1] 같은 문장을 반복하여 출력하는 예 01 #include <stdio.h> 02 03 int main() 04 { 05 printf("안녕하세요? 빙글빙글 for 문을 공부중입니다. ^^\n"); 06 printf("안녕하세요? 빙글빙글 for 문을 공부중입니다. ^^\n"); 07 printf("안녕하세요? 빙글빙글 for 문을 공부중입니다. ^^\n"); 08 printf("안녕하세요? 빙글빙글 for 문을 공부중입니다. ^^\n"); 09 printf("안녕하세요? 빙글빙글 for 문을 공부중입니다. ^^\n"); 10 }

[기본예제 6-2] 기본 for 문 사용 예 01 #include <stdio.h> 02 03 int main() 04 { 05 int i; 06 07 for (i=0 ; i<5 ; i++) 08 { 09 printf("안녕하세요? 빙글빙글 for 문을 공부중입니다. ^^\n"); 10 } 11 } for 문 사용

01_단순 for 문

01_단순 for 문 for 문의 기본 형식

01_단순 for 문 for 문의 개념 이해와 표현 방식

01_단순 for 문 for 문의 동작 과정

01_단순 for 문 반복 실행할 문장이 2개 이상이면 블록 사용

[기본예제 6-3] for 문과 블록 사용 예 01 #include <stdio.h> 02 03 int main() 04 { 05 int i; 06 for ( i=0 ; i < 3 ; i++ ) 07 { 08 printf("안녕하세요? \n"); 09 printf("반갑습니다 \n"); 10 } 11 12 printf("\n\n"); 13 14 for ( i=0 ; i < 3 ; i++ ) 15 printf("안녕하세요? \n"); 16 printf("반갑습니다 \n"); 17 } for 문에 블록 사용 for 문에 블록을 사용하지 않은 경우

[기본예제 6-4] 기본 for 문 사용 예 ① 01 #include <stdio.h> 02 03 int main() 04 { 05 int i; 06 07 for (i = 5 ; i > 0 ; i--) 08 { 09 printf("%d : 안녕하세요? 빙글빙글 for 문을 공부중입니다. ^^\n", i); 10 } 11 } 초기값을 5로 지정, i 값을 1씩 줄여가며 출력

[기본예제 6-5] 기본 for 문 사용 예 ② 01 #include <stdio.h> 02 03 int main() 04 { 05 int i; 06 07 for (i=1 ; i<=5 ; i++) 08 { 09 printf("%d \n", i); 10 } 11 } 초기값을 5로 지정, i 값을 1씩 줄이면서 출력

[기본예제 6-6] for 문을 사용하지 않은 덧셈 01 #include <stdio.h> 02 03 int main() 04 { 05 int hap; 06 07 hap = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10; 08 09 printf(" 1에서 10까지의 합: %d \n", hap); 10 } hap 변수에 1~10 더하기

[기본예제 6-7] for 문을 활용하여 합계 구하기 ① 01 #include <stdio.h> 02 03 int main() 04 { 05 int hap; 06 int i; 07 08 for ( i=1 ; i<=10 ; i++) { 09 hap = hap + i; //hap +=i; 10 } 11 12 printf(" 1에서 10까지의 합: %d \n", hap); 13 } 값을 누적할 변수 선언 1~10까지 변할 변수 선언 1~10까지 반복 hap에 누적시킴

01_단순 for 문 쓰레기(garbage) 값의 이해 변수 안에 이미 다른 값이 있는 상태로 연산을 수행함으로써 비정상적인 결과 값 출력 프로그램 내에서 변수가 초기화되지 않은 것이 원인 누적값을 표현하는 변수의 초기화를 수행함으로써 문제 해결 int hap = 0;

[기본예제 6-8] for 문을 활용하여 합계 구하기 ② 01 #include <stdio.h> 02 03 int main() 04 { 05 int hap=0; 06 int i; 07 08 for ( i=1 ; i<=10 ; i++) { 09 hap = hap + i; 10 } 11 12 printf(" 1에서 10까지의 합: %d \n", hap); 13 } 누적할 변수를 초기화 함

01_단순 for 문 변수 i와 hap의 변화

[응용예제 6-9] for 문을 활용하여 합계 구하기 ③ 01 #include <stdio.h> 02 03 int main() 04 { 05 int hap = 0; 06 int i; 07 08 for ([ ① ]; i<=1000 ; [ ② ]) { 09 hap = hap + i; 10 } 11 12 printf(" 500에서 1000까지의 홀수의 합: %d \n", hap); 13 } i 값을 501부터 2씩 증가시키며 합을 구함 i = 501 i = i + 2

01_단순 for 문

[기본예제 6-10] for 문을 활용하여 합계 구하기 ④ 01 #include <stdio.h> 02 03 int main() 04 { 05 int hap=0; 06 int i; 07 int num; 08 09 printf(" 값 입력 : "); 10 scanf("%d", &num); 11 12 for ( i=1 ; i <= num ; i++) { 13 hap = hap + i; 14 } 15 16 printf(" 1에서 %d까지의 합: %d \n", num, hap); 17 } 누적할 변수를 초기화 함 1씩 증가할 변수 입력받은 최종값 최종값을 직접 입력받음 1부터 입력받은 최종값까지 반복하며 값을 더하기

응용예제 6-11] for 문을 활용하여 합계 구하기 ⑤ 01 #include <stdio.h> 02 03 int main() 04 { 05 int hap=0; 06 int i; 07 int num1, num2, num3; 08 09 printf(" 시작값, 끝값, 증가값 입력 : "); 10 scanf("%d %d %d", &num1, &num2, &num3 ); 11 12 for ( i=num1 ; i <= num2 ; [ ① ] ) { 13 hap = hap + i; 14 } 15 16 printf(" %d에서 %d까지 %d씩 증가한 합: %d \n", num1, num2, num3, hap); 17 } 입력받은 세 변수 선언 입력 시 공백으로 구분 i = i + num3 입력받은 증가값을 for 문에 사용

[기본예제 6-12] for 문을 사용한 구구단 프로그램 01 #include <stdio.h> 02 03 int main() 04 { 05 int i; 06 int dan; 07 08 printf(" 몇 단 ? "); 09 scanf("%d", &dan); 10 11 for ( i=1 ; i <=9 ; i++) { 12 printf(" %d X %d = %d \n", dan, i, dan*i); 13 } 14 } 입력값을 저장할 변수 선언 계산할 단 입력 1부터 9까지 반복하며 구구단 출력

01_단순 for 문

02_중첩 for 문 중첩 for 문의 개념 for 문 내부에 또 다른 for 문이 들어있는 형태 총 반복 횟수 = 바깥 for 문 횟수 x 안쪽 for 문

02_중첩 for 문 중첩 for 문의 동작

[기본예제 6-13] 중첩 for 문의 사용 예 ① 01 #include <stdio.h> 02 03 int main() 04 { 05 int i, k; 06 07 for ( i=0 ; i<3 ; i++) 08 { 09 for ( k=0 ; k<2 ; k++) 10 { 11 printf("중첩 for 문입니다. (i값: %d, k값: %d)\n", i, k); 12 } 13 } 14 } 반복할 변수 i, k 선언 바깥 3회 반복 내부 2회 반복 i, k 값 총 6번 출력

02_중첩 for 문 중첩 for 문에서의 i와 k 값의 변화

02_중첩 for 문

02_중첩 for 문 중첩 for 문을 활용한 구구단 출력(세로 방향)

[기본예제 6-14] 중첩 for 문의 사용 예 ② 01 #include <stdio.h> 02 03 int main() 04 { 05 int i, k; 06 07 for ( i = 2 ; i <= 9 ; i ++) 08 { 09 for ( [ ① ] ) 10 { 11 printf(" %d X %d = %d \n", i, k, i*k); 12 } 13 printf("\n"); 14 } 15 } 2~9단까지 반복 k = 1 ; k <= 9 ; k ++ 1~9까지의 뒷자리 숫자 반복 구구단 출력 각 단마다 한 줄 띄움

02_중첩 for 문

02_중첩 for 문 중첩 for 문을 활용한 구구단 출력(가로 방향)

[기본예제 6-15] 중첩 for 문의 사용 예 ③ 01 #include <stdio.h> 02 03 int main() 04 { 05 int i, k; 06 07 for ( i = 1 ; i <= 9 ; i ++) 08 { 09 for ( k = 2 ; k <= 9 ; k ++) 10 { 11 printf("%2dX%2d=%2d", [ ① ] ); 12 } 13 printf("\n"); 14 } 15 } 1~9까지의 뒷자리 숫자 반복 2~9단까지 반복 k, i, k*i 각 단별로 한 줄씩 출력 한 줄 띄움

03_그 외에 for 문에 관한 이야기 여러 개의 초기값과 증감식 사용하는 for 문 초기값과 증감식이 없는 for 문 초기값이 하나일 필요 없음 초기값이 여러 개일 때는 콤마로 구분 증감식도 하나 이상 사용 가능 초기값과 증감식이 없는 for 문 세 가지 형식 모두 결과가 같음 for ( 초기식 1, 초기식 2 ; 조건식 ; 증감식 1, 증감식 2 )

03_그 외의 for 문에 관한 이야기 초기식이 없더라도 그 자리는 반드시 세미콜론(;)으로 구분 ①번과 ③번 소스의 비교

[기본예제 6-16] 다양한 for 문의 형태 ① 01 #include <stdio.h> 02 03 int main() 04 { 05 int i, k; 06 07 for ( i = 1, k = 1 ; i <= 9 ; i++, k++ ) 08 printf (" %d X %d = %d \n", i, k, i*k); 09 } 반복할 변수 i, k 선언 초기값과 증감식이 2개

03_그 외의 for 문에 관한 이야기 무한루프 for 문에서 초기값, 조건식, 증감식을 모두 지운 형태 사용자가 어떤 작업을 계속 반복하고자 할 때 사용 사용자가 Ctrl+C 키를 눌러야 중단됨

[기본예제 6-17] 다양한 for 문의 형태 ② 01 #include <stdio.h> 02 03 int main() 04 { 05 int i; 06 i = 0; 07 for ( ; ; ) 08 { 09 printf ("%d \n", i) ; 10 i ++ ; 11 } 12 } 초기값, 조건식, 증감식 없으므로 무한루프를 의미

[기본예제 6-18] 다양한 for 문의 형태 ③ 01 #include <stdio.h> 02 03 int main() 04 { 05 int a, b; 06 07 [ ① ]( ; ; ) 08 { 09 printf ("더할 두 수 입력 (멈추려면 Ctrl+C) : ") ; 10 scanf("%d %d", &a, &b); 11 12 printf("%d + %d = %d \n", a, b, a+b); 13 } 14 } for 무한루프 두 값을 입력받음 출력

[예제모음_13] 구구단 출력 예제설명 중첩 for 문을 사용하여 제목과 구구단을 출력하는 프로그램이다. 실행결과

예제모음_13 소스 01 #include <stdio.h> 02 03 int main() 04 { 05 int i, k; 06 07 for( i = 2 ; i <= 9 ; i++ ) 08 printf(" #제%d단#", i); 09 10 printf("\n\n"); 11 12 for ( i = 1 ; i <= 9 ; i++) 13 { 14 for ( k = 2 ; k <= 9 ; k++) 15 { 16 printf("%2dX%2d=%2d", k, i, k*i); 17 } 18 printf("\n"); 19 } 20 } 제목 출력 2줄 띄움 중첩 for 문으로 구구단 출력

[예제모음_14] 아스키 코드표 출력 실행결과 예제설명 for 문과 if 문을 사용하여 0~127번까지 아스키 코드의 10진수, 16진수, 문자를 출력하는 프로그램이다. 실행결과

예제모음_14 소스 01 #include <stdio.h> 02 03 int main() 04 { 05 int i; 06 07 for ( i= 0 ; i < 128 ; i++) 08 { 09 if ( i%16 == 0 ) 10 { 11 printf("---------------------/n"); 12 printf("10진수 16진수 문자 /n"); 13 printf("---------------------/n"); 14 } 15 printf ("%5d %5x %5c\n", i, i, i); 16 } 17 } 0부터 127까지 16행 마다 제목 출력 i 값을 10진수, 16진수, 문자로 출력

[예제모음_15] 입력한 문자를 거꾸로 출력 실행결과 예제설명 for 문을 사용하여 입력된 영문자나 숫자를 다시 거꾸로 출력하는 프로그램 실행결과

예제모음_15 소스 01 #include <stdio.h> 02 03 int main() 04 { 05 char str[100]; 06 int str_cnt; 07 int i; 08 09 printf("영문자 및 숫자를 입력 (100자 이하) : "); 10 scanf("%s", str); 11 12 printf("\n"); 13 printf("입력한 문자열 ==> %s\n", str); 14 printf("변환된 문자열 ==>"); 15 문자 배열 문자 개수 변수 문자 입력 두 번째 수 입력

예제모음_12 소스 16 str_cnt = strlen(str); 17 18 for ( i= str_cnt ; i >=0 ; i--) 19 { 20 printf ("%c", str[i]); 21 } 22 23 printf("\n"); 24 } 입력 문자 개수 계산 입력된 개수만큼 거꾸로 출력

요약 for 문 중첩 for 문 반복해야 할 문장을 원하는 만큼 반복 for 문의 형식 { 반복할 문장들; } for 문 안에 또 다른 for 문이 있는 형태 중첩 for 문의 형식 구구단 계산 및 출력에 많이 쓰임 중첩 for 문 for ( i = 0 ; i < 반복횟수 ; i ++ ) { for ( k = 0 ; k < 반복횟수 ; k++) 반복할 문장들; }

요약 for 문의 다른 형태 for 문의 초기값, 조건식, 증감식은 하나 이상 생략 가능

IT CookBook for Beginner, C 언어 기초 6장 끝 www.themegallery.com Thank You ! IT CookBook for Beginner, C 언어 기초 6장 끝