[[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 ê°’ì„ ìž…ë ¥í• í•„ìš” 없다는 ê²ƒë„ ë°°ì› ë‹¤.