8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.

Slides:



Advertisements
Similar presentations
제6장 조건문.
Advertisements

쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express.
C 프로그래밍.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
C 6장. 함수 #include <stdio.h> int main(void) { int num;
11장 구조체와 열거형 구조체의 정의 구조체 변수의 선언 구조체 초기화 및 사용 구조체 재정의 포인터를 이용해서 구조체 사용
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express Slide 1 (of 26)
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
C언어: 배열 (Arrays).
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
6장. printf와 scanf 함수에 대한 고찰
쉽게 풀어쓴 C언어 Express 제9장 함수와 변수 C Express.
개정판 누구나 즐기는 C언어 콘서트 제9장 포인터 출처: pixabay.
7. while 문의 흐름 제어.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
7장 배열 배열의 정의 배열의 초기화 1차원 배열 2차원 및 다차원 배열 문자 배열 배열과 구조.
10장 포인터와 문자열 포인터 기본 배열과 포인터 매개변수 전달방법 포인터와 문자열.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
C언어 프로그래밍의 이해 Ch05. 명령문 Phylogenetic: 계통, 발생(학)의.
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
14장. 포인터와 함수에 대한 이해.
11장. 1차원 배열.
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
C 2장. C 프로그램 시작하기 #include <stdio.h> int main(void) { int num;
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
어서와 C언어는 처음이지 제14장.
Chapter 10 함수 기본.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
제 6장 함수 Hello!! C 언어 강성호 김학배 최우영.
자전거를 배우려면 안장에 올라가 페달을 밟아라.
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
함수와 변수 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
CHAP 2:순환.
제 1 강.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Chapter 11. 배열과 포인터.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
-Part2- 제1장 1차원 배열이란 무엇인가.
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
Fucntion 요약.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
C언어 프로그래밍의 이해 Ch05. 명령문.
-Part1- 제7장 반복문이란 무엇인가.
함수(Function) ◈ 함수의 개념 및 사용 이유 ◈ 함수 정의, 호출 및 선언 ◈ 지역변수와 전역변수 ◈ return 문
제 6 장 함수(functions).
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
7주차: Functions and Arrays
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
-Part2- 제2장 다차원 배열이란 무엇인가.
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
어서와 C언어는 처음이지 제16장.
어서와 C언어는 처음이지 제21장.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
C.
Chapter 09. 배열.
Presentation transcript:

8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출

함수의 필요성과 프로그램 실행흐름 함수의 필요성과 프로그램 실행흐름

함수의 장점 02 함수의 장점 반복 실행해야 할 내용을 함수로 만들어 필요할 때마다 호출하여 사용할 수 있다. 프로그램이 모듈(Module)화 되므로 읽기 쉽고, 디버그 및 편집이 용이하다. 프로그램의 기능과 구조를 한 눈에 알아보기 쉽다. 다른 프로그램으로 재사용이 가능하다.

여러 가지 기능의 함수 03 여러 가지 기능의 함수

함수 정의와 함수 선언 04 함수 정의와 함수 선언

함수 호출과 프로그램의 진행 05 함수 호출과 프로그램의 진행

【예제 8-1】Ex1.c 02 함수의 선언과 호출 01 #include <stdio.h> 02 int SumTwo(int a, int b);         03 int main(void) 04 { 05    int x = 10, y = 5; 06    int value; 07  value = SumTwo(x, y);        08    09    printf("두 수의 합은 : %d\n", value); 10   return 0; 11 } 12 13 int SumTwo(int a, int b)  14 { 15   int result; 16   result = a + b; 17  return result; 18 } 표준입력 스트림

【예제 8-2】Ex2.c 02 함수의 선언과 호출 01 #include <stdio.h> 02 float Average(float x, float y);  03 int main(void) 04 { 05   float num1, num2, result; 06    printf("두 실수형을 입력하세요 : "); 07    scanf("%f %f", &num1, &num2); 08   result = Average(num1, num2);   09   printf("두 실수의 평균 : %f\n", result); 10   return 0; 11 } 표준입력 스트림 12 float Average(float x, float y) 13 { 14    float z; 15   z = (x + y) / 2; 16   return z; 17 }

【예제 8-3】Ex3.c 02 함수의 유용성 예제 01 #include <stdio.h> 02 int Intergral(int start, int end);       03 int main(void) 04 { 05    int result = 0, i; 06   07    printf("함수를 사용하지 않고 합을 구함\n"); 08    for(i=1; i<=10; i++) 09       result += i; 10    printf("1부터 10까지의 합은 %d이다.\n ", result); 11  result = 0;  12    for(i=7; i<=17; i++) 13        result += i; 14   printf("7부터 17까지의 합은 %d이다.\n ", result); 15    printf("*************************************\n");  16    printf("함수를 사용하여 합을 구함\n"); 17  printf("1부터 10까지의 합은 %d이다.\n ", Intergral(1, 10)); 18    printf("7부터 17까지의 합은 %d이다.\n ", Intergral(7, 17)); 19   20    return 0; 21 } 22 int Intergral(int start, int end) 23 { 24     int sum = 0, i; 25     for( i = start; i <= end; i++) 26         sum += i; 27     return sum; 28 }

【예제 8-4】Ex4.c 02 함수의 유용성 예제 01 #include <stdio.h> 02 int SumTwo(int a, int b)  03 { 04   int result; 05    result = a + b; 06   return result; 07 } 08 int main(void) 09 { 10    int x = 10, y = 5; 11    int value; 12   value = SumTwo(x, y);   13   printf("두 수의 합은 : %d\n", value); 14 15   return 0; 16 } 표준입력 스트림

【예제 8-5】Ex5.c 02 함수의 다양한 예제 01 #include <stdio.h> 02 void upper_case(char ch); 03 int main(void) 04 { 05   char ch1, ch2; 06     while ( (ch1 = getchar() ) != EOF) { 07           upper_case(ch1); 08    } 09    return 0; 10 } 11 void upper_case(char ch) 12 { 13    char res; 14    if (ch >= 'a' && ch <= 'z') 15         res = ch-32; 16    else 17         res = ch; 18    putchar(res); 19}

배열을 인자로 하는 함수의 정의 및 호출 06 배열을 인자로 하는 함수의 정의 및 호출

【예제 8-6】Ex6.c 02 함수의 다양한 예제 01 #include <stdio.h> 02 int SumArray(int Array[ ], int Size); 03 int main(void) 04 { 05   int a[ ] = {10, 5, 15, 25, 7}; 06    int Sum; 07   Sum = SumArray(a, 5);    08   printf("배열 원소의 합은 : %d\n", Sum); 09   return 0; 10 } 11 int SumArray(int Array[ ], int Size)  12 { 13   int result = 0, i; 14    for(i=0; i<Size; i++) 15       result += Array[i]; 16   return result; 17} 표준입력 스트림

재귀함수와 재귀함수의 예 07 재귀함수와 재귀함수의 예    특정한 함수 내에서 자신의 함수를 다시 호출하는 것을 재귀호출이라 한다. 재귀호출은 해결하려고 하는 N개의 데이터를 가지는 문제가 N-1개의 문제를 해결하면 간단히 해결될 때 사용한다.    int factorial(int n)   {        if(n <= 1) return 1;    // 종료 조건        else return n * factorial(n-1);       ..............   }

【예제 8-7】Ex7.c 02 재귀 함수 예제 01 #include <stdio.h> 02 int factorial(int n); 03 int main(void) 04 { 05   int fact_num; 06    fact_num = factorial(10); 07   printf("10 팩토리얼 : %d\n", fact_num); 08   return 0; 09 } 10 int factorial(int n) 11 { 12   if (n <= 1) 13           return (1); 14   else 15           return (n * factorial(n-1)); 16 } 표준입력 스트림

【예제 8-8】Ex8.c 02 재귀 함수 예제 01 #include <stdio.h> 02 int sum(int a); 03 int main(void) 04 { 05   int input, s = 0; 06    printf("양의 정수를 입력하세요 : "); 07    scanf("%d", &input); 08    s = sum(input); 09    printf("재귀합수를 이용한 1부터 %d 까지의 합 = %d\n", input, s); 10    return 0; 11 } 12 int sum(int a) 13 { 14    if (a <= 1) 15          return 1; 16    else 17           return a + sum(a-1); 18 }