[[TableOfContents]]

= 4회차(5월 4일) =

== 수업내용 ==
* Zeropage 정모에 대한 안내(다음 정모 "새싹과 함께하는 위키 놀이" 안내)

* 함수의 사용법(함수의 오버로딩)
* 리턴값이 없는 함수
* 재귀함수
* 전역변수, 지역변수, static 변수란?
* 함수의 장점

{{{
#include <stdio.h>
int Fact(int a);

void main(){

	printf("%d",Fact(3));

}


int Fact(int a){

	int result=1;

	if(a==1) return 1;

	return Fact(a-1)*a;

}}}}
{{{
#include <stdio.h>

void  sum(int a,int b);
void mul(double a, double b);
void div(double a, double b);

void main(){

	int menu,i,j;

	printf("1.합 2.곱 3.나누기\n");
	
	scanf("%d",&menu);
	printf("값 2개 입력");
	
	scanf("%d %d",&i,&j);
	



	switch(menu){

		case 1 : sum(i,j);break;

		case 2 :	mul(i,j);break;

		case 3 : div(i,j);break;

		default : break;

	}

}

void sum(int a,int b){
	 printf("%d",a+b);}

void mul(double a, double b){

	printf("%.3f",a*b);}

void div(double a, double b){

	printf("%.3f",a/b);

}}}}



과제
-
* 함수의 사용법(함수의 오버로딩)
* 리턴값이 없는 함수란?
* 재귀함수란?
* 전역변수, 지역변수, static 변수란?
* 함수의 장점은 무엇인가?
== 후 기 ==

=== [이상태] ===


함수의 장점 : 복잡한 함수를 여러번 쓸필요없이 한번 정의하여 불러와 쓸수있고 코딩이해에 도움이된다.
재귀함수는 함수안에 자기함수를 써서 계속 불러다 계산한다.
리턴값이 없는 함수는 >> void f() 요런거 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
수업시간에 자서 못들었던 함수에 대한 내용과 지역변수 전역변수 static 변수 를 배웠다.
봉봉교수님의 마성의 목소리를 들어 잠의 세계에 빠졋는데 static 변수는 지역함수와 비슷한 것인데 값이 날라가지 않는다는 것이 특징이다.
=== [하수영] ===
오늘은 switch 함수를 응용하여 1을 입력하면 더하고, 2를 입력하면 곱하고, 3을 입력하면 나누는 코딩을 해 보았다.
그리고 지역변수와 전역변수, 정적변수에 대해서도 배웠다.
재귀함수를 배우면서 factorial 함수를 만드는 방법도 배우고
출력값이 void이면 return 값을 입력할 필요 없다는 것도 배웠다.