제 5장 제어문 Hello!! C 언어 강성호 김학배 최우영.

Slides:



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

1 제 5 장 제어문. 목차목차 if ~ else switch while do ~ while for continue, break, return goto 연습문제.
C 언어 컴퓨터학과 C 언어 ( STS ) (Chap5. Selection-Making Decisions ) C 언어.
누구나 즐기는 C언어 콘서트 제5장 조건문.
제6장 조건문.
Power Java 제6장 조건과 반복.
프로그래밍실습 제 7 강.
제 1장 C 언어의 소개.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 07. 반복실행을 명령하는 반복문.
6장 명령문.
제 4 장 프로그램 제어문 C 프로그래밍.
C 5장. 제어문 #include <stdio.h> int main(void) { int num;
Chapter 7. 조건문.
Chapter 6 Repetition.
Chapter09 JavaScript 구구단표 만들기
제5장 제어명령
처음으로 배우는 C 프로그래밍 제2부 기초 제5장 반복문.
7. while 문의 흐름 제어.
C언어 콘서트 제6장 반복문.
6 반복문의 기본 for 문 여러 번 반복하는 작업은 for 문으로!.
7 while 문의 흐름 제어 조건만 만족한다면 무조건 무한 반복!.
고급 선택 제어문과 반복문 Chapter 9 C에서의 다중 선택 제어문 선 검사 반복 구조와 for 문
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
C언어 프로그래밍의 이해 Ch05. 명령문 Phylogenetic: 계통, 발생(학)의.
Chapter 3 Flow of Control
Part 07 제어 구조 ©우균, 창병모 © 우균, 창병모.
순서도.
4장 제어문 선택문: if 문, if – else 문, switch 문
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
3. while문 반복문의 종류 while 문 while( 조건식 )        문장;.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
Chapter 09 반복문.
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express Slide 1 (of 27)
MATLAB
개정판 누구나 즐기는 C언어 콘서트 제6장 반복문 출처: pixabay.
어서와 C언어는 처음이지 제14장.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
C Presentation for JAVA Seminar 정보통신학부 신예진.
제 6장 함수 Hello!! C 언어 강성호 김학배 최우영.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
목차. 목차 6.1 반복이란? 6.1 반복이란? 반복문의 종류 6.2 while문.
제어문 & 반복문 C스터디 2주차.
에어 조건문.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
Chapter 03. 주석문과 제어문.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
2007 1학기 08 반복문.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
17장. 제어문과 내장 함수 제어문 내장 함수 제어문 내장 함수.
Control Flow 요약.
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
8장. 조건에 따른 흐름의 분기. 8장. 조건에 따른 흐름의 분기 8-1 흐름의 분기가 필요한 이유 상황에 따른 프로그램의 유연성 부여 그림 8-1.
C언어 프로그래밍의 이해 Ch05. 명령문.
-Part1- 제7장 반복문이란 무엇인가.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
[ 단원 04 ] 반복과 배열.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
C++ 프로그래밍 기초 √ 원리를 알면 IT가 맛있다 3장. 연산자.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
제4장 제어구조 문봉근.
어서와 C언어는 처음이지 제16장.
제어문Control Statements
C.
printf("Global Korea\n");
Presentation transcript:

제 5장 제어문 Hello!! C 언어 강성호 김학배 최우영

순서 제 5장 제어문 제어문의 개념 제어문의 종류 조건 연산 선택문 반복문 기타 제어문 요약

제어문의 개념 프로그램 실행 제어흐름의 판단 복합문 순차적 흐름 (sequential flow of control) 제 5장 제어문 프로그램 실행 순차적 흐름 (sequential flow of control) 특수한 실행구조 선택구조 (selection) : if, if-else, switch 반복동작 (repetition of action) : while, for, do 기타구조 : goto, break, continue 제어흐름의 판단 관계, 등가, 논리 연산자 (relational,equal,logical operators) 수식결과의 논리적 참, 거짓에 좌우 복합문 여러문들이 함께 그룹지어 한 단위로 사용 { } 으로 구분

선택문 if 문 형식 if (수식) 문1; (또는 복합문) /* 수식이 `참'일 때 문1 (또는 복합문) 실행, 제 5장 제어문 if 문 형식 if (수식) 문1; (또는 복합문) /* 수식이 `참'일 때 문1 (또는 복합문) 실행, 수식이 `거짓'일 때는 문1을 무시 */

선택문 [예제 5-1] #include<stdio.h> main() { int number; 제 5장 제어문 [예제 5-1] #include<stdio.h> main() { int number; puts("Input negative number\n"); scanf("%d",&number); if ( number < 0 ) printf ("That's a negative integer\n"); } [실행결과] Input negative number -1 [enter] That's a negative integer

선택문 [예제 5-2] #include<stdio.h> main(){ int i,j; 제 5장 제어문 [예제 5-2] #include<stdio.h> main(){ int i,j; printf("Input two numbers (i,j)\n"); scanf("%d%d",&i,&j); if ( i > 0 ){ i = i - 1 ; j = j - 1 ; printf("Input-1 : "); printf("i=%d,j=%d\n",i,j) ; } [실행결과] } Input two numbers (i,j) 1 [enter] 2 [enter] Input-1 : i=0,j=1

선택문 if-else 문 형식 if (수식) 문1; (또는 복합문) else 문2; (또는 복합문) 제 5장 제어문 if-else 문 형식 if (수식) 문1; (또는 복합문) else 문2; (또는 복합문) /* 수식 : `참' 문1 실행, `거짓' 문2 실행 */

선택문 [예제 5-3] #include<stdio.h> main(){ int count; 제 5장 제어문 [예제 5-3] #include<stdio.h> main(){ int count; printf("Input number : "); scanf("%d",&count); if ( (count % 2) == 0 ) printf ("That is an even number.\n"); else printf ("That is an odd number.\n"); } [실행결과] Input number : 3 That is an odd number.

선택문 [예제 5-4] #include<stdio.h> main(){ int count; 제 5장 제어문 [예제 5-4] #include<stdio.h> main(){ int count; printf(" Input number :"); scanf("%d",&count); if ( (count % 2) == 0 ) printf (" That is even number. \n"); else printf (" That is odd number. \n"); }

선택문 if-elseif-else 문 여러 조건 및 문(또는 복합문)들로 구성 형식 if (수식1) 문 1; (또는 복합문) 제 5장 제어문 if-elseif-else 문 여러 조건 및 문(또는 복합문)들로 구성 형식 if (수식1) 문 1; (또는 복합문) elseif (수식2) 문 2; (또는 복합문) elseif (수식n-1) 문 n-1; (또는 복합문) else 문 n

선택문 switch 문 if-elseif-else 문을 일반화한 다중 조건문 형식 switch (수식) { 제 5장 제어문 switch 문 if-elseif-else 문을 일반화한 다중 조건문 형식 switch (수식) { case 상수(또는 수식) : 문장 1; (또는 복합문) break; 문장 n-1; (또는 복합문) default : 문장 n; (또는 복합문) } 수식 및 상수(case label)은 정수적형 많은 경우의 수 취급시 유용

선택문 [예제 5-5] #include<stdio.h> main(){ char alph; 제 5장 제어문 [예제 5-5] #include<stdio.h> main(){ char alph; puts("Choose a alphabet of a~c : "); scanf("%c",&alph); switch(alph){ case 'a': { puts("You entered a.\n"); break; } case 'b': { puts("You entered b.\n"); break; } case 'c': { puts("You entered c.\n"); break; } default: puts("Out of range! Retry."); } } 계속

선택문 [예제 5-5] 계속 [실행결과] Choose a alphabet of a~c : a You entered a. 제 5장 제어문 [예제 5-5] 계속 [실행결과] Choose a alphabet of a~c : a You entered a.

반복문 for 문 형식 for (수식1; 수식2; 수식3) 문 1; (또는 복합문) /* 수식1 : 반복루프의 초기조건 설정 제 5장 제어문 for 문 형식 for (수식1; 수식2; 수식3) 문 1; (또는 복합문) /* 수식1 : 반복루프의 초기조건 설정 수식2 : 반복동작 제어를 위한 논리식, `거짓'일 때까지 계속 반복 수식3 : 조건식의 (초기조건으로부터) 변경 */

반복문 [예제 5-6] #include<stdio.h> main(){ int number; 제 5장 제어문 [예제 5-6] #include<stdio.h> main(){ int number; for ( number = 1 ; number <= 100 ; number++ ) printf( "%d\n", number ); } [실행결과] 1 2 3 : 100

반복문 중첩된 for 문 형식 for (①초기식; ②조건식; ⑧증감식) { for (③초기식; ④조건식; ⑥증감식) ⑤실행문 제 5장 제어문 중첩된 for 문 형식 for (①초기식; ②조건식; ⑧증감식) { for (③초기식; ④조건식; ⑥증감식) ⑤실행문 } ⑦실행문

반복문 [예제 5-7] #include<stdio.h> main(){ int i, j; 제 5장 제어문 [예제 5-7] #include<stdio.h> main(){ int i, j; for ( i = 0 ; i <= 10 ; i++){ for ( j = 1 ; j <= i ; j++ ){ [실행결과] putchar('*'); * } ** putchar('*'); *** putchar('\n'); **** } ***** } ****** ******* ******** ********* ********** ***********

반복문 [예제 5-8] #include<stdio.h> main(){ for ( ; ; ){ 제 5장 제어문 [예제 5-8] #include<stdio.h> main(){ for ( ; ; ){ printf("*\n"); } [실행결과] * :

반복문 while 문 do 문 의미(기능)상의 동격 수식1; while (수식2){ 문 1 (또는 복합문) 수식 3 } 제 5장 제어문 while 문 의미(기능)상의 동격 수식1; while (수식2){ 문 1 (또는 복합문) 수식 3 } if, if-else, while, 또는 다른 for 문 (중첩구조)의 일부로 사용가능 파악하기 쉬운 제어와 indexing의 위치 do 문 while 문의 변형 : 루프의 하단에서 test 형식 do 문1; (또는 복합문) while (수식1); do 문의 몸체(문1)는 적어도 한 번 실행

반복문 [예제 5-9] #include<stdio.h> main(){ int a; a = 1; 제 5장 제어문 [예제 5-9] #include<stdio.h> main(){ int a; a = 1; while(a < 11){ printf("%d\n", a); a++; } [실행결과] 1 2 3 : 10

반복문 [예제 5-10] #include<stdio.h> main(){ int a; 제 5장 제어문 [예제 5-10] #include<stdio.h> main(){ int a; for (a = 1 ; a <= 10 ; a++ ){ printf("%d\n", a); } [실행결과] 1 2 3 : 10

반복문 do 문의 바람직한 사용 방법 do-while 문 do{ 문 1 (또는 복합문) } while (수식1); 제 5장 제어문 do 문의 바람직한 사용 방법 do-while 문 do{ 문 1 (또는 복합문) } while (수식1); 공백문이 뒤따르는 while 문이 아닌 do 문의 일부임이 쉽게 판별됨

반복문 [예제 5-11] #include <stdio.h> main(){ int k, sum; k = 1; 제 5장 제어문 [예제 5-11] #include <stdio.h> main(){ int k, sum; k = 1; sum = 0; do { sum = sum + k; k = k + 1; } while (k <= 100); printf("SUM = %d\n", sum); } [실행결과] SUM = 5050

기타 제어문 break 문 정상적인 제어의 흐름을 중단 내부루프나 switch 문으로부터 이탈 즉, 루프종료 제 5장 제어문 break 문 정상적인 제어의 흐름을 중단 내부루프나 switch 문으로부터 이탈 즉, 루프종료 Braek문을 반복문 뒤에서 만나면 반복문을 멈추고 반복문 뒤에 오는 문장을 수행 형식 break ;

기타 제어문 [예제 5-12] #include <stdio.h> main(){ int box ; 제 5장 제어문 [예제 5-12] #include <stdio.h> main(){ int box ; for ( box = 1 ; box <= 20 ; ++box ){ if (box == 4 ) break; else printf("box = %d\n", box); } [실행결과] box = 1 box = 2 box = 3

기타 제어문 continue 문 정상적인 제어의 흐름을 중단 제 5장 제어문 continue 문 정상적인 제어의 흐름을 중단 루프의 현재 반복동작을 멈추고 다음 반복동작 수행, 즉, 현재 반복 동작의 끝 지점으로 제어를 전달 형식 continue ;

기타 제어문 [예제 5-13] #include<stdio.h> main(){ int a, sum; sum = 0; 제 5장 제어문 [예제 5-13] #include<stdio.h> main(){ int a, sum; sum = 0; for( a = 1 ; a <= 50 ; a++ ){ if ( (a / 2) * 2 == a ) continue; else sum += a; } printf("SUM = %d \n", sum); [실행결과] SUM = 625

기타 제어문 goto 문 현대 프로그래밍에서 방법론상 유해한 구조 형식 goto label : 문 1 ; (또는 복합문) 제 5장 제어문 goto 문 현대 프로그래밍에서 방법론상 유해한 구조 형식 goto label : 문 1 ; (또는 복합문) 같은 함수내에서 라벨문으로 분기(jump) 다른 제어문(for, while, do, if, switch)의 유용한 구조 파괴

기타 제어문 [예제 5-14] #include<stdio.h> main(){ int k, sum; k = 0; 제 5장 제어문 [예제 5-14] #include<stdio.h> main(){ int k, sum; k = 0; sum = 0; loop : k++; sum += k; if (k < 100) goto loop ; printf("1+2+...+99+100 = %d\n", sum); } [실행결과] 1+2+...+99+100 = 5050

기타 제어문 [예제 5-15] #include<stdio.h> main(){ int k,sum; 제 5장 제어문 [예제 5-15] #include<stdio.h> main(){ int k,sum; for (k = 1, sum = 0 ; k <= 100 ; k++ ) sum += k; printf("1+2+...+99+100 = %d \n", sum); } [실행결과] 1+2+...+99+100 = 5050