23
C Programming Seminar 함함

C Programming Seminar

  • Upload
    zeno

  • View
    38

  • Download
    0

Embed Size (px)

DESCRIPTION

C Programming Seminar. 함수. 함수의 기본구조. 함수. 함수의 기본구조. 함수. 함수의 기본구조 함수를 선언하는 경우 함수 인자들의 정확한 데이터형을 함께 적어주 어야 한다. 함수. 함수의 기본구조 함수를 선언하는 경우 함수 인자들의 정확한 데이터형을 함께 적어주 어야 한다. 함수. 함수의 기본구조. #include< stdio.h >. 함수 원형의 선언. m ain() {. 함수 호출. }. 함수. 함수 정의. - PowerPoint PPT Presentation

Citation preview

Page 1: C  Programming  Seminar

C Programming

Seminar

함수

Page 2: C  Programming  Seminar

함수

함수의 기본구조

C 언어에서 함수의 형식[ 함수 원형의 선언 형식 ]자료형 함수 이름 ( 함수 인자들 );

[ 함수 본체 형식 ]자료형 함수 이름 ( 함수 인자들 ){ 변수 선언 ; …… 문장 ; …… return 변수 또는 수식 또는 상수 ;}

Page 3: C  Programming  Seminar

함수

함수의 기본구조

C 언어에서 함수의 예[ 함수 원형의 선언의 예 ]int add(int number1, int number2);

[ 함수 본체의 예 ]int add(int number1, int number2){ int nResultValue; nResultValue = number1 + number2;

return nResultValue;}

Page 4: C  Programming  Seminar

함수

함수의 기본구조

함수를 선언하는 경우 함수 인자들의 정확한 데이터형을 함께 적어주어야 한다 .

Minus(int First_Num, int Second_Num, float Result_Num);Minus(int First_Num, Second_Num);Minus(int First_Num, Second_Num, float Result_Num);

Page 5: C  Programming  Seminar

함수

함수의 기본구조

함수를 선언하는 경우 함수 인자들의 정확한 데이터형을 함께 적어주어야 한다 .

Minus(int First_Num, int Second_Num, float Result_Num);Minus(int First_Num, Second_Num); // 올바르지 않은 표현Minus(int First_Num, Second_Num, float Result_Num); // 올바르지 않은 표현

Page 6: C  Programming  Seminar

함수

함수의 기본구조

함수 원형의 선언

함수 호출

함수 정의

#include<stdio.h>

main(){

}

함수 원형과 함수 호출 , 함수 정의의 프로그램상에서의 위치

Page 7: C  Programming  Seminar

함수

C 언어에서 함수를 사용하는 예#include <stdio.h>

int add(int number1, int number2);

void main(){

int number1=3, number2=5;int nSum;

nSum=add(number1, number2);

printf("number1 + number2 = %d\n", nSum);}

int add(int number1, int number2){

int nResultValue;

nResultValue=number1 + number2;

return nResultValue;}

함수의 기본구조

Page 8: C  Programming  Seminar

함수

C 언어에서 함수를 사용하는 예#include <stdio.h>

int add(int number1, int number2);

void main(){

int number1=3, number2=5;int nSum;

nSum=add(number1, number2);

printf("number1 + number2 = %d\n", nSum);}

int add(int number1, int number2){

int nResultValue;

nResultValue=number1 + number2;

return nResultValue;}

함수의 기본구조

Page 9: C  Programming  Seminar

함수

함수의 정의와 선언

함수를 사용하려면 선언해야 한다 .선언된 함수는 프로그램 코드 어딘가에는 정의되어 있어야 한다 .

선언 (Declaration) - 함수의 원형

정의 (Definition) - 함수의 몸체를 포함하는 함수 자체

Page 10: C  Programming  Seminar

함수

#include <stdio.h>

void Function();

void main(){ Function();}

void Function(){ printf(" 함수의 사용 ");}

#include <stdio.h>

void Function(){ printf(" 함수의 사용 ");}

void main(){ Function();}

#include <stdio.h>

void main(){ Function();}

void Function(){ printf(" 함수의 사용 ");}

어떤 소스가 컴파일 에러가 생길까 ?

함수의 정의 와 선언

Page 11: C  Programming  Seminar

함수

#include <stdio.h>

void Function();

void main(){ Function();}

void Function(){ printf(" 함수의 사용 ");}

#include <stdio.h>

void Function(){ printf(" 함수의 사용 ");}

void main(){ Function();}

#include <stdio.h>

void main(){ Function();}

void Function(){ printf(" 함수의 사용 ");}

컴파일 에러

함수는 함수가 사용되는 부분의 위쪽에 선언 or

정의되어야 한다 .

함수의 정의 와 선언

Page 12: C  Programming  Seminar

함수

함수의 원형이 선언되지 않은 예#include <stdio.h>

int add(int number1, int number2){

int nResultValue;

nResultValue=number1 + number2;

return nResultValue;}

void main(){

int number1=3, number2=5;int nSum;

nSum=add(number1, number2);

printf("number1 + number2 = %d\n", nSum);}

함수의 정의 와 선언

Page 13: C  Programming  Seminar

함수

함수의 원형이 선언되지 않은 예#include <stdio.h>

int add(int number1, int number2){

int nResultValue;

nResultValue=number1 + number2;

return nResultValue;}

void main(){

int number1=3, number2=5;int nSum;

nSum=add(number1, number2);

printf("number1 + number2 = %d\n", nSum);}

함수의 정의와 선언

Page 14: C  Programming  Seminar

함수

매개변수 사용법

함수 본체에 자료를 전달하는 역할을 하는 것

C 언어에서 매개변수를 지정하는 형식함수 이름 ( 매개변수 이름 ){ 매개변수를 이용한 명령어}

C 언어에서 매개변수를 지정하는 예add(number, number2){ printf(“number1 + number2=%d”, number1+number2);}

Page 15: C  Programming  Seminar

함수

매개변수를 사용한 숫자의 제곱을 보여주는 프로그램#include <stdio.h>

int square(int number);

void main(){

int nResult = 0;

nResult = square(15);

printf("15^2 = %d\n", nResult);}

int square(int number){

int nTmpResult=0;

nTmpResult = number * number;

return nTmpResult;}

매개변수 사용법

Page 16: C  Programming  Seminar

함수

매개변수를 사용한 숫자의 제곱을 보여주는 프로그램#include <stdio.h>

int square(int number);

void main(){

int nResult = 0;

nResult = square(15);

printf("15^2 = %d\n", nResult);}

int square(int number){

int nTmpResult=0;

nTmpResult = number * number;

return nTmpResult;}

매개변수 사용법

Page 17: C  Programming  Seminar

함수

두 개의 매개변수를 곱한 결과를 보여주는 프로그램#include <stdio.h>

int multiple(int number1, int number2);

void main(){

int nResult = 0;

nResult = multiple(5,6);

printf("5 x 6 = %d\n", nResult);}

int multiple(int number1, int number2){

int nTmpResult=0;

nTmpResult=number1*number2;

return nTmpResult;}

매개변수 사용법

Page 18: C  Programming  Seminar

함수

두 개의 매개변수를 곱한 결과를 보여주는 프로그램#include <stdio.h>

int multiple(int number1, int number2);

void main(){

int nResult = 0;

nResult = multiple(5,6);

printf("5 x 6 = %d\n", nResult);}

int multiple(int number1, int number2){

int nTmpResult=0;

nTmpResult=number1*number2;

return nTmpResult;}

매개변수 사용법

Page 19: C  Programming  Seminar

함수

재귀 함수와 호출

함수 내부에서 자기 자신을 다시 호출하는 것

무한루프로 빠질 수 있으므로 사용할 때 주의해야 한다 .

Page 20: C  Programming  Seminar

함수

무한루프에 빠지는 재귀함수#include <stdio.h>

void forever(){

printf("forever value!!!");forever();

}

void main(){

forever();}

재귀 함수와 호출

Page 21: C  Programming  Seminar

함수

무한루프에 빠지는 재귀함수#include <stdio.h>

void forever(){

printf("forever value!!!");forever();

}

void main(){

forever();}

재귀 함수와 호출

Page 22: C  Programming  Seminar

함수

재귀함수를 이용한 1 부터 입력한 수까지의 홀수의 합 구하기#include <stdio.h>

int self(int number){

if(number%2==0){

number=number-1;}if(number==1){

return 1;}return self(number-2) + number;

}

void main(){

int number, result;printf("self(number = 1+3+5+...+n\nRandom Number : ");scanf("%d", &number);

result=self(number);printf("self(%d) = %d\n", number, result);

}

재귀 함수와 호출

Page 23: C  Programming  Seminar

함수

재귀함수를 이용한 1 부터 입력한 수까지의 홀수의 합 구하기#include <stdio.h>

int self(int number){

if(number%2==0){

number=number-1;}if(number==1){

return 1;}return self(number-2) + number;

}

void main(){

int number, result;printf("self(number = 1+3+5+...+n\nRandom Number : ");scanf("%d", &number);

result=self(number);printf("self(%d) = %d\n", number, result);

}

재귀 함수와 호출