[[TableOfContents]] = 3ì›” 16ì¼ = * 오후 6ì‹œì— 6피ì—서 모였습니다. * IceBreaking : 진실 í˜¹ì€ ê±°ì§“ìœ¼ë¡œ 간단히 ì„œë¡œì— ëŒ€í•´ 알아보았습니다. * ë°˜ ì´ë¦„ì„ ì†Œê°œí•˜ê³ ì˜ë¯¸ë¥¼ 설명했습니다. * 함께 공부하기 위해 ì•Œì•„ì•¼í• ê²ƒë“¤ì„ ë¬¼ì–´ë³´ê³ ê²°ì •í–ˆìŠµë‹ˆë‹¤. * ì»´í“¨í„°ê³µí•™ë¶€ì— ë“¤ì–´ì˜¨ ì´ìœ , í•˜ê³ ì‹¶ì€ ê²ƒ, ì„ í–‰í•™ìŠµ 여부, 최근 C ì§„ë„. * 우리 ë°˜ 목표를 설명했습니다. = 3ì›” 23ì¼ = * 오후 6ì‹œì— 5피ì—서 모였습니다. * IceBreaking : 외êµì¸ê³¼ 만나본 ì ì´ ìžˆëŠ”ì§€ ì´ì•¼ê¸°í–ˆìŠµë‹ˆë‹¤. * Keywords : 컴파ì¼ëŸ¬, í”„ë¡œê·¸ëž˜ë° ì–¸ì–´, printf 함수, main 함수, #include, assert 함수, 변수, ìžë£Œí˜• * ëŒì•„보기 == 공부한 것 == === 컴퓨터와 ì´ì•¼ê¸° 하는 방법 === * 컴퓨터는 0ê³¼ 1ë°–ì— ëª°ë¼ì„œ 사람 ë§ë¡œëŠ” ëŒ€í™”í• ìˆ˜ 없습니다. 우리가 ì“´ 코드를 컴퓨터가 ì´í•´í•˜ê¸° 위해서는 컴파ì¼ëŸ¬ì˜ ë„ì›€ì„ ë°›ì•„ì•¼í•©ë‹ˆë‹¤. * 컴파ì¼ëŸ¬ëŠ” 번ì—ê°€ ê°™ì€ ì—í• ì„ í•©ë‹ˆë‹¤. 우리가 ì§ ì½”ë“œë¥¼ 컴퓨터가 ì´í•´í• 수 있게 번ì—해줘요. === Hello world! 컴퓨터와 ì¸ì‚¬í•´ìš” === {{{ int main() { printf("Hello world!"); return 0; } }}} * main 함수는 í”„ë¡œê·¸ëž¨ì´ ì‹œìž‘í•˜ëŠ” 부분ì´ì˜ˆìš”. 앞으로 함수를 배우기 ì „ê¹Œì§€ ëª¨ë“ ì½”ë“œëŠ” main 함수 ì•ˆì— ìž‘ì„±í•©ë‹ˆë‹¤. * ëª¨ë“ ë¬¸ìž¥ì˜ ëì—는 ; 를 ì¨ì£¼ì„¸ìš”. * printf 함수는 ì½˜ì†”ì— ë‚´ìš©ì„ ì¶œë ¥í•´ì£¼ëŠ” ì—í• ì„ í•©ë‹ˆë‹¤. * ê·¸ëŸ°ë° ìœ„ 코드를 실행해보면 ì—러가 납니다. * printf 함수가 ë‚´ìš©ì„ ì¶œë ¥í•´ì¤€ë‹¤ëŠ” ê²ƒì„ ì»´í“¨í„°ê°€ 모르니까요! {{{ #include <stdio.h> int main() { printf("Hello world!"); return 0; } }}} * 사실 printfê°€ 어떻게 ë‚´ìš©ì„ ì¶œë ¥í•´ì£¼ëŠ”ì§€ëŠ” 똑똑한 ì•„ì €ì”¨ë“¤ì´ stdio.hì— ë¯¸ë¦¬ ì¨ë†“았어요. 우리는 #include <stdio.h>ë¼ëŠ” 코드를 ì¨ì„œ ì € 파ì¼ì„ 컴퓨터가 ì½ì–´ë³¼ 수 있ë„ë¡ ì•Œë ¤ì£¼ê¸°ë§Œ 하면 ë©ë‹ˆë‹¤. * stdio.hê°€ 무엇ì¸ì§€ëŠ” ë‚˜ì¤‘ì— ë‹¤ì‹œ ë” ì„¤ëª…í• ê²Œìš”. * ê·¸ëŸ°ë° ì´ìƒí•œ ì ì´ ìžˆì£ ? * 위ì—서 분명 모~ë“ ì½”ë“œëŠ” main 함수 ì•ˆì— ì“´ë‹¤ê³ í–ˆëŠ”ë° #include <stdio.h>는 맨 ìœ„ì— ì¼ì–´ìš”. * ê·¸ë¦¬ê³ ëª¨ë“ ë¬¸ìž¥ì˜ ëì— ; 를 ì“°ë¼ê³ í–ˆëŠ”ë° ; ë„ ì“°ì§€ 않았어요. * 왜 그런지는 ì „ì²˜ë¦¬ê¸°ë¥¼ ê³µë¶€í• ë•Œ ìžì„¸í•˜ê²Œ ì„¤ëª…í•˜ê² ìŠµë‹ˆë‹¤. === 3+4ê°€ ëë”ë¼? === * 3+4ê°€ ëì£ ? 컴퓨터ì—게 한번 물어볼까요? {{{ #include <stdio.h> int main() { printf("%d", 3+4); return 0; } }}} * 위 코드를 실행시키면 ì½˜ì†”ì— 3+4ì˜ ê°’ì´ ì¶œë ¥ë©ë‹ˆë‹¤. === 그래, 3+4는 7ì¸ë°â€¦ 그걸 ë´ì•¼ 아나? === * ê·¸ëŸ°ë° ìœ„ 코드는 3+4ì˜ ê°’ì´ ë”ì§€ 확ì¸í•´ë³´ê¸° 위해 너무 복잡한 ì¼ë“¤ì„ í•´ìš”. 3+4ê°€ 7ì¸ ê²ƒì„ ì™œ êµ³ì´ ì¶œë ¥í•´ì•¼í•˜ì£ ? {{{ #include <assert.h> int main() { assert(3+4 == 7); return 0; } }}} * assert는 ì˜ì–´ë¡œ '주장하다'ë¼ëŠ” ëœ»ì„ ê°€ì§„ 단어입니다. ë‚˜ì¤‘ì— ë” ìžì„¸ížˆ ì„¤ëª…í•˜ê² ì§€ë§Œ assert(3+4 == 7);ì€ ì»´í“¨í„°ì—게 ''3+4는 7ì´ë¼ê³ !!!'' 주장하는 것과 ê°™ë‹¤ê³ ìƒê°í•˜ë©´ ë©ë‹ˆë‹¤. * 3+4는 7ì´ ë§žê¸° ë•Œë¬¸ì— ì•„ë¬´ ì¼ë„ ìƒê¸°ì§€ 않습니다. ê·¸ëŸ°ë° {{{ #include <assert.h> int main() { assert(3+4 == 8); return 0; } }}} * ì´ë ‡ê²Œ 하면 컴퓨터ì—게 ''3+4는 8ì´ë¼ê³ !!!'' 주장하는 것과 같습니다. 만약 누가 ê°‘ìžê¸° ì €ëŸ° ë§ì„ 한다면 아주 어처구니가 ì—†ê² ì£ ? ì»´í“¨í„°ë„ ì €ëŸ° ì£¼ìž¥ì€ ì–´ì´ì—†ê²Œ ìƒê°í•˜ê¸°ë•Œë¬¸ì— ë§ë„ 안 ë˜ëŠ” ì£¼ìž¥ì„ í• ê²½ìš° ì—러를 ë°œìƒì‹œí‚µë‹ˆë‹¤. * ì•„, ê·¸ë¦¬ê³ assertë„ í•¨ìˆ˜ê°™ì€ ê²ƒì¸ë° assertê°€ 무슨 ì¼ì„ 하는지는 똑똑한 ì•„ì €ì”¨ë“¤ì´ assert.hì— ì¨ë‘었습니다. 우리는 그냥 #include <assert.h>를 ì ì–´ ì € 파ì¼ì„ 컴퓨터가 ì½ì–´ë³¼ 수 있게 ì•Œë ¤ì£¼ê¸°ë§Œ 하면 ë©ë‹ˆë‹¤. printf를 쓸때처럼요! * == ì—°ì‚°ìžì— 대해서는 ì—°ì‚°ìžë¥¼ ê³µë¶€í• ë•Œ ë” ìžì„¸ížˆ ì„¤ëª…í•˜ê² ìŠµë‹ˆë‹¤. ì§€ê¸ˆì€ '같다'를 ì˜ë¯¸í•œë‹¤ê³ ë§Œ 알아ë‘세요. === 변수야, ì´ê²ƒ 좀 기억해줄래? === * 변수와 ìžë£Œí˜•ì— ëŒ€í•´ì„œë„ ì´ì•¼ê¸°í–ˆëŠ”ë°, ì´ê±´ 다ìŒì‹œê°„ì— ë” ì´ì•¼ê¸°í•´ì•¼ í• ê²ƒ 같아요. 다ìŒì— ë” ìžì„¸ížˆ ê³µë¶€í•˜ê³ ê·¸ ë‚ íŽ˜ì´ì§€ì— 기ë¡í•˜ê² 습니다. == 후기 == * [새싹êµì‹¤/2011/Pixar]페ì´ì§€ì˜ ''후기를 쓰기 ì „ì—'' í•ëª©ì„ ì½ì–´ì£¼ì„¸ìš”. ---- * 오리엔테ì´ì…˜ì„ ì œì™¸í•˜ê³ ì²« 모임ì´ì—ˆìŠµë‹ˆë‹¤. 1. C ê³ ìˆ˜ëŠ” ì ˆëŒ€ 아니지만… 나름 새싹êµì‹¤ 4ë…„ì°¨ë¼ ì´ì œ 오래 준비하지 ì•Šì•„ë„ ë˜ ê°€ë¥´ì¹ ì§€ëŠ” 머리 ì†ì— 다 ë“¤ì–´ìžˆë‹¤ê³ ìƒê°í–ˆëŠ”ë° ì²« 시간 진행해보니 ê·¸ë ‡ì§€ 않네요ㅜㅜ ê´€ë ¨ ë‚´ìš©ì€ ì•Œê³ ìžˆì–´ë„ ì²˜ìŒ C를 ì ‘í•˜ëŠ” 새내기들ì—게 어떻게 설명해야 좋ì„ì§€ ìƒê°í•´ë´ì•¼ê² ì–´ìš”. ì´ì „까지는 사실 êµìˆ˜ë‹˜ ìˆ˜ì—…ì´ ìƒˆì‹¹ ì§„ë„보다 조금씩 앞서나가서 ìˆ˜ì—…ì„ ë³´ì¶©í•˜ëŠ” ì‹ìœ¼ë¡œ ì§„í–‰í–ˆë˜ ê²ƒ ê°™ì€ë° ì´ë²ˆ í•´ì—” ê·¸ë ‡ì§€ 않다는 ê²ƒì„ ë¯¸ë¦¬ ê³ ë ¤í•˜ì§€ ëª»í–ˆìŠµë‹ˆë‹¤ã… ã… 1. 매년 아는 게 조금씩 늘어나서 í•´ì£¼ê³ í”ˆ ë§ë„ 너무 ë§Žì•„ìš”. ê·¸ëŸ°ë° ì œ 머리ì†ì—ì„ íë¦„ì´ ìž¡í˜€ìžˆëŠ” ì´ì•¼ê¸°ë“¤ì´ì§€ë§Œ ë§‰ìƒ í”„ë¡œê·¸ëž˜ë°ì„ ì²˜ìŒ ì ‘í•˜ëŠ” ìƒˆë‚´ê¸°ë“¤ì´ ë“£ê¸°ì—” ì´ ì†Œë¦¬í–ˆë‹¤ê°€ ì € 소리했다가 왔다갔다 하는 것으로 ëŠê»´ì§ˆ 것 같습니다. ë‹¤ìŒ ì‹œê°„ë¶€í„°ëŠ” íë¦„ì„ ìžƒì§€ 않ë„ë¡ ê°„ë‹¨ížˆ 키워드 목ë¡ì´ë¼ë„ 준비해올게요~ 1. ìƒê°í•´ë´¤ëŠ”ë° ì œê°€ ë§ì´ 너무 ë¹ ë¥´ê³ í˜¼ìž ë§ì„ ë§Žì´ í•´ì„œ ìƒˆë‚´ê¸°ë“¤ì´ ë“£ê³ ìƒê°ì„ ì •ë¦¬í• ì‹œê°„ì´ ë³„ë¡œ 없지 않았나 싶습니다. 조금 ë” ì²œì²œížˆ ë§í•˜ê³ 함께 ì´ì•¼ê¸°í•´ë³´ê³ , ì§ì ‘ 실습하며 스스로 ë‚´ìš©ì„ ì •ë¦¬í•˜ê³ ëŠë‚„ 수 있는 ì‹œê°„ì´ ë 수 있게 ë…¸ë ¥í•˜ê² ìŠµë‹ˆë‹¤. - [김수경] = 3ì›” 24ì¼ = ---- [새싹êµì‹¤/2011/Pixar]