Download pptx - C Programming Seminar

Transcript
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);

}

재귀 함수와 호출