C Programming
Seminar
함수
함수
함수의 기본구조
C 언어에서 함수의 형식[ 함수 원형의 선언 형식 ]자료형 함수 이름 ( 함수 인자들 );
[ 함수 본체 형식 ]자료형 함수 이름 ( 함수 인자들 ){ 변수 선언 ; …… 문장 ; …… return 변수 또는 수식 또는 상수 ;}
함수
함수의 기본구조
C 언어에서 함수의 예[ 함수 원형의 선언의 예 ]int add(int number1, int number2);
[ 함수 본체의 예 ]int add(int number1, int number2){ int nResultValue; nResultValue = number1 + number2;
return nResultValue;}
함수
함수의 기본구조
함수를 선언하는 경우 함수 인자들의 정확한 데이터형을 함께 적어주어야 한다 .
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);
함수
함수의 기본구조
함수를 선언하는 경우 함수 인자들의 정확한 데이터형을 함께 적어주어야 한다 .
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); // 올바르지 않은 표현
함수
함수의 기본구조
함수 원형의 선언
함수 호출
함수 정의
#include<stdio.h>
main(){
}
함수 원형과 함수 호출 , 함수 정의의 프로그램상에서의 위치
함수
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;}
함수의 기본구조
함수
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;}
함수의 기본구조
함수
함수의 정의와 선언
함수를 사용하려면 선언해야 한다 .선언된 함수는 프로그램 코드 어딘가에는 정의되어 있어야 한다 .
선언 (Declaration) - 함수의 원형
정의 (Definition) - 함수의 몸체를 포함하는 함수 자체
함수
#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(" 함수의 사용 ");}
어떤 소스가 컴파일 에러가 생길까 ?
함수의 정의 와 선언
함수
#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
정의되어야 한다 .
함수의 정의 와 선언
함수
함수의 원형이 선언되지 않은 예#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);}
함수의 정의 와 선언
함수
함수의 원형이 선언되지 않은 예#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);}
함수의 정의와 선언
함수
매개변수 사용법
함수 본체에 자료를 전달하는 역할을 하는 것
C 언어에서 매개변수를 지정하는 형식함수 이름 ( 매개변수 이름 ){ 매개변수를 이용한 명령어}
C 언어에서 매개변수를 지정하는 예add(number, number2){ printf(“number1 + number2=%d”, number1+number2);}
함수
매개변수를 사용한 숫자의 제곱을 보여주는 프로그램#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;}
매개변수 사용법
함수
매개변수를 사용한 숫자의 제곱을 보여주는 프로그램#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;}
매개변수 사용법
함수
두 개의 매개변수를 곱한 결과를 보여주는 프로그램#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;}
매개변수 사용법
함수
두 개의 매개변수를 곱한 결과를 보여주는 프로그램#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;}
매개변수 사용법
함수
재귀 함수와 호출
함수 내부에서 자기 자신을 다시 호출하는 것
무한루프로 빠질 수 있으므로 사용할 때 주의해야 한다 .
함수
무한루프에 빠지는 재귀함수#include <stdio.h>
void forever(){
printf("forever value!!!");forever();
}
void main(){
forever();}
재귀 함수와 호출
함수
무한루프에 빠지는 재귀함수#include <stdio.h>
void forever(){
printf("forever value!!!");forever();
}
void main(){
forever();}
재귀 함수와 호출
함수
재귀함수를 이용한 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);
}
재귀 함수와 호출
함수
재귀함수를 이용한 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);
}
재귀 함수와 호출