[[TableOfContents]] = ì°¸ì—¬ìž ëª…ë‹¨ = ||ì´ë¦„||3/16||3/23||3/30||3/31||4/7||4/27||5/4||5/11||5/18||5/25|| ||강소현|| O || O || O || O || O || O || O || O || O || O || ||박성êµ|| O || O || O || O || O || O || O || O || X || O || ||ì´ì¤€ì˜|| O || O || â–³ || O || O || O || O || O || O || O || = 수업 = == 1회차(3/16) == * 수업시간 - 10:00 ~ 12:00 === 수업내용 === * Cì–¸ì–´ì˜ ì—사 * Cì–¸ì–´ì˜ ìž¥&단ì * 프로그램 ì™„ì„±ê³¼ì • * 실습 {{{ /* Hello.c */ #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } }}} === QnA === * ì„ í˜•ëŒ€ìˆ˜í•™ì„ ë°°ìš°ëŠ” ì´ìœ ? * ||Application||DB||그래픽스||네트워í¬|| ||ì»´ê³µ core||ìžë£Œêµ¬ì¡°||ì•Œê³ ë¦¬ì¦˜|| || ||수학||ì„ í˜•ëŒ€ìˆ˜í•™||ì´ì‚°ìˆ˜í•™||수치해ì„|| 으로 위쪽으로 ê°ˆ ìˆ˜ë¡ ìƒìœ„ê°œë…ì´ë¼ 합니다. ì„ í˜•ëŒ€ìˆ˜í•™ ë•Œ ë°°ìš´ ë‚´ìš©ì˜ ì¼ë¶€ê°€ 수치해ì„(3-1학기)ì— ë“¤ì–´ìžˆìŠµë‹ˆë‹¤. ê·¸ë¦¬ê³ ê·¸ëž˜í”½ìŠ¤(4-1학기) 수업ì—ì„œ 수치해ì„ì„ ì „ì œë¡œ ìˆ˜ì—…ì„ í•©ë‹ˆë‹¤. 수업시간ì—는 '''ì„ í˜•ëŒ€ìˆ˜í•™ì„ í¬ê¸°í•˜ë¼'''했었는ë°, Cë¼ì´ë¸ŒëŸ¬ë¦¬ë¡œ ê·¸ëž˜í”½ì„ ë§Œë“œëŠ” ì‹ì˜ 컴퓨터 그래픽스 ìˆ˜ì—…ì— ê´€ì‹¬ì´ ìžˆìœ¼ì‹ ë¶„ì€ '''ì ˆëŒ€ í¬ê¸°í•˜ì§€ 마세요 ã…Žã…Ž''' * í…… 빈 ê³µê°„ì— ; 를 í•´ë„ ì˜¤ë¥˜ ì—†ì´ ì‹¤í–‰ë˜ëŠ” ì´ìœ ? * ; 는 ë¬¸ìž¥ì˜ ëì„ ë‚˜íƒ€ë‚´ë¯€ë¡œ, printf("Hello World"); 처럼 어디까지 ë‚´ìš©ì´ ìžˆë‹¤ 나타내는 것처럼 빈 ê³µê°„ë„ ë¹ˆ 공간 그대로 ì¸ì‹ì´ ë˜ì§€ 않았나 싶어요. * Cì–¸ì–´ì˜ ë‹¨ì 중 low-levelì 특성으로 프로그래ë°ì„ í•˜ëŠ”ë° ë§Žì€ ì£¼ì˜ë¥¼ 요한다 했는ë°, ì‹¤ì œë¡œ 잘못 사용한 사례는? * ë‚˜ì¤‘ì— í¬ì¸í„°ë¥¼ 사용하는 ì‹¤ìŠµì„ í•˜ë‹¤ ë³´ë©´ ë§Žì€ ê¹¨ë‹¬ìŒì„ ì–»ì„ ìˆ˜ 있지 ì•Šì„까 싶습니다... * printf를 왜 ì œì¼ ì²˜ìŒ ë°°ìš°ë‚˜ìš”? * ì•„ë¬´ëž˜ë„ ì„±ê³¼ê°€ 바로바로 ëˆˆì— ë³´ì´ê²Œ ì¶œë ¥í•˜ì—¬ 확ì¸í• 수 있는 함수ì´ë‹¤ 보니, 초보ìžê°€ 바로 ì´í•´í•˜ê¸° ì–´ë ¤ì›€ì—ë„ ë¶ˆêµ¬í•˜ê³ ì²˜ìŒì— 배우게 ë˜ëŠ” 듯 합니다. * C언어 ì „ì´ B언어 ì˜€ëŠ”ë° '''A언어'''ë„ ìžˆë‚˜ìš”? * A언어 : ALGOLì„ ë§í•©ë‹ˆë‹¤. ê³ ê¸‰ í”„ë¡œê·¸ëž˜ë° ì–¸ì–´(어셈블리나 기계어를 ì €ê¸‰ í”„ë¡œê·¸ëž˜ë° ì–¸ì–´ë¼ê³ 합니다)ë¡œ ê°ê´‘ë°›ë˜ í¬íŠ¸ëž€ForTranì— ëŒ€í•í•˜ê¸° 위해 ìœ ëŸ½ì„ ì¤‘ì‹¬ìœ¼ë¡œ ê°œë°œëœ í”„ë¡œê·¸ëž˜ë° ì–¸ì–´ìž…ë‹ˆë‹¤. ALGOLì€ Algorithm Languageì˜ ì•½ìžë¡œì„œ, ì´ë¦„ 그대로 ì•Œê³ ë¦¬ì¦˜ ì—°êµ¬ê°œë°œì„ ìœ„í•´ 만들어졌습니다. 하지만 ALGOLì€ íŠ¹ì •í•œ í”„ë¡œê·¸ëž˜ë° ì–¸ì–´ë¥¼ 지ì¹í•˜ê¸° 보다는 C언어나 파스칼과 ê°™ì´ êµ¬ì¡°í™”ëœ í”„ë¡œê·¸ëž˜ë° ì–¸ì–´ë¥¼ 지ì¹í•˜ëŠ” ë§(ALGOL-like programming language)ë¡œ 쓰입니다. [http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=68855131&qb=Q+yWuOyWtCBC7Ja47Ja0IEHslrjslrQ=&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0&pid=ghtBIz331ywssZ%2BbORVssv--324794&sid=TYBj6x1TgE0AAE@GUeM 출처 ë§í¬! í´ë¦í•˜ì„¸ìš”:)] * 기계어로 번ì—ëœ íŒŒì¼ì´ .obj 파ì¼ì¸ë° 왜 ì´ìƒí•œ ì˜ì–´ë“¤ë¡œ ë˜ì–´ìžˆë‚˜ìš”? * 메모장으로 ì—´ì–´ì„œ ê¸€ì´ ê¹¨ì¡Œì–´ìš” ã… ã… ì—°ê²°í”„ë¡œê·¸ëž¨ì„ Visual Studioë¡œ 하면 번ì—ì´ ì •ìƒì 으로 ë˜ì–´ìžˆì„ê±°ì—ìš”. 숫ìžê°€ 010100 하면 너무 길어서 16진수로 í‘œí˜„ì´ ë˜ì–´ìžˆëŠ”듯 합니다. === 후기 === * [ì´ì¤€ì˜] - Cì–¸ì–´ì˜ ê¸°ì´ˆì ì¸ ë‚´ìš©ì— ëŒ€í•´ 다시 배울 수 있었습니다. ìƒê°ë‚˜ëŠ”거로는 %dê°€ ìƒê°ë‚˜ë„¤ìš”. ì•„ì§ ì–´ë µì§€ë§Œ 열심히 ë°°ìš°ë„ë¡ í•˜ê² ìŠµë‹ˆë‹¤. 소현누나 ê³ ë§ˆì›Œìš”. * [강소현] - 열성ì 으로 ì§ˆë¬¸ì„ í•´ì£¼ì–´ì„œ 좋았습니다. Aì–¸ì–´ë„ ìžˆëŠ”ì§€ì˜ ì—¬ë¶€ë¥¼ ë¬¼ì—ˆì—ˆëŠ”ë° ì €ëŠ” 몰ëžì—ˆëŠ”ë° ì‹¤ì œë¡œ 존재하ë”ë¼êµ¬ìš” ã…Žã…Ž 가벼운 ë‚´ìš©ì´ë¼ë„ ì˜ë¬¸ì´ 드는 사í•ì´ë¼ë©´ ì–¸ì œë“ ì§€ 위키나 문ìžë¡œ 질문해주면 최대한 ë‹µë³€ì„ ë‹¬ë„ë¡ ë…¸ë ¥í•˜ê² ìŠµë‹ˆë‹¤. ë‹¤ìŒ ì‹œê°„ì—는 ì´ì „ì— ì‹¤ìŠµí–ˆë˜ ê²ƒì˜ ë³µìŠµê³¼ scanf ì´í›„ë¡œ 나갈 ì˜ˆì •ìž…ë‹ˆë‹¤. PPT ì¤€ë¹„ì— ë””ìžì¸ë„ ì—†ì´ ê¸‰í•˜ê²Œ ë§Œë“ í‹°ê°€ 났었는ë°, ë‹¤ìŒ ì‹œê°„ì—는 조금 ë” ì¤€ë¹„ë¥¼ í•´ê°€ê² ìŠµë‹ˆë‹¤:) * [박성êµ] - ì´ ìˆ˜ì—…ì´ Cí”„ë¡œê·¸ëž˜ë° ê°•ì˜ì—ì„œ ì´í•´ 안ë˜ì—ˆë˜ ë¶€ë¶„ì„ ì´í•´ í• ìˆ˜ 있게 ë„와졌어요^^ ì•žìœ¼ë¡œë„ ëª¨ë¥´ëŠ”ê²ƒ ë§Žì´ ì•Œë ¤ì£¼ì„¸ìš”~. == 2회차(3/23) == * 수업시간 : 10:00 ~ 12:00 === 수업내용 === * ìž…, ì¶œë ¥ 함수 - printf, scanf * redirection * ì—°ì‚°ìž * ì‚°ìˆ ì—°ì‚°ìž ì‚¬ìš© 예 {{{ #include <stdio.h> //printf 함수 사용 int main(void) { int val1 = 4; int val2 = 2; printf("ë‘ ìˆ˜ì˜ ë§ì…ˆ: %d\n", val1+val2); printf("ë‘ ìˆ˜ì˜ ëº„ì…ˆ: %d\n", val1-val2); return 0; }}} * 기타 대입 ì—°ì‚°ìž ì‚¬ìš© 예 {{{ #include <assert.h> //assert 함수 사용 int main(void) { int val1 = 4, val2 = 2; val1 += 3; val2 *= 2; assert(val1 == 7); //val1ì´ 7ì¸ ê²½ìš° ì •ìƒ ì¢…ë£Œ, ì•„ë‹Œ 경우 오류 ì¶œë ¥ assert(val2 == 4); //val2ì´ 4ì¸ ê²½ìš° ì •ìƒ ì¢…ë£Œ, ì•„ë‹Œ 경우 오류 ì¶œë ¥ return 0; } }}} * ì¦ê°€, ê°ì†Œ ì—°ì‚°ìž ì‚¬ìš© 예 {{{ #include <assert.h> //assert 함수 사용 int main(void) { int val = 10; assert(val++ == 10); //val++í•œ ê°’ì´ 10ê³¼ 같으면 ì •ìƒìž‘ë™. 아니면 오류 ì¶œë ¥ assert(++val == 12); //++valí•œ ê°’ì´ 12ê³¼ 같으면 ì •ìƒìž‘ë™. 아니면 오류 ì¶œë ¥ return 0; } }}} * 관계 ì—°ì‚°ìž ì‚¬ìš© 예 {{{ #include <assert.h> //assert 함수 사용 int main(void) { int val1 = 10; int val2 = 12; assert(val1 <= val2); //val2ê°’ì´ val1값보다 í¬ê±°ë‚˜ 같으면 ì •ìƒìž‘ë™. 아니면 오류 ì¶œë ¥ return 0; } }}} * 논리 ì—°ì‚°ìž ì‚¬ìš© 예 {{{ #include <assert.h> //assert 함수 사용 int main(void) { int val1 = 10; int val2 = 12; assert(val1 < val2 && val2 == 12); //val2ê°’ì´ val1값보다 í¬ê³ , val2ê°’ì´ 12와 같으면 ì •ìƒìž‘ë™. 아니면 오류 ì¶œë ¥ assert(val1 > val2 || val2 != 11); //val2ê°’ì´ val1값보다 í¬ê±°ë‚˜, val2ê°’ì´ 11ì´ ì•„ë‹ˆë©´ ì •ìƒìž‘ë™. 아니면 오류 ì¶œë ¥ return 0; } }}} === ê³¼ì œ === * ì‚°ìˆ ì—°ì‚°ìž ì‚¬ìš© 예ì—ì„œ val1ê³¼ val2를 곱셈, 나눗셈, 나머지를 구하는 ê²ƒì„ ì¶”ê°€í•˜ì—¬ ì¶œë ¥í•´ë³´ìž. * 기타 대입 ì—°ì‚°ìž ì‚¬ìš© 예ì—ì„œ assert(val1 == 7); 를 assert(val1 != 7); ë¡œ 바꾸어 실행해보기. * 기타 대입 ì—°ì‚°ìž ì‚¬ìš© 예ì—ì„œ -= , /= , %= í•œ 결과를 assert(val1 == 7); 와 ê°™ì´ assert함수 ì•ˆì— ë„£ì–´ 확ì¸í•˜ì‹œì˜¤. * ì¦ê°€ ê°ì†Œ ì—°ì‚°ìž ì‚¬ìš© 예ì—ì„œ ê°ì†Œì—°ì‚°ìžë¥¼ 사용한 예를 추가해보ìž. * 관계 ì—°ì‚°ìž ì‚¬ìš© 예ì—ì„œ >= , != ê°€ 사용ë˜ëŠ” 사례를 만들어보ìž(변수 val3 만들어서). * 실수(float)를 2ê°œ ìž…ë ¥ë°›ì•„(scanf), ì•žì„œ ë°›ì€ ê°’ì´ ë’¤ì˜ ê°’ë³´ë‹¤ í¬ë©´ ì •ìƒìž‘ë™, 아니면 오류를 ì¶œë ¥í•˜ë„ë¡ í•´ë³´ìž(assert) === ê³¼ì œì œì¶œ === * [박성êµ] {{{ #include <stdio.h> int main() { int val1 = 4; int val2 = 2; printf ("%d\n",val1*val2); system("pause"); return 0; } }}} {{{ #include <stdio.h> int main() { int val1 = 4; int val2 = 2; printf ("%d\n", val1/val2); system("pause"); return 0; } }}} {{{ #include <stdio.h> int main() { int val1 = 3; int val2 = 2; printf("%d\n", val1%val2); system("pause"); return 0; } }}} {{{ #include <assert.h> int main() { int val1 = 4, val2 = 2; val1 += 3; val2 *= 2; assert(val1 != 7);//printf ë„ ì•ˆì“°ê³ ê°’ì„ ì¶œë ¥í• ìˆ˜ 있다니 assertì˜ ì •ì²´ê°€ ê¶ê¸ˆ 하네요. assert(val2 != 4);//ìˆ˜ì—…ì‹œê°„ì— ìžì„¸ížˆ ì•Œë ¤ì£¼ì„¸ìš”~ //ìŒ ê·¸ë¦¬ê³ ì´ê±° 실행하면 ì—러가 ë‚˜ëŠ”ë° ê°’ì´ 7ê³¼4 맞으니까 ì—러 안뜨지 안나요??? return 0; } }}} {{{ #include <assert.h> int main() { int val1 = 10, val2 = 8; val1 -= 3; val2 /= 2; assert(val1 != 7); assert(val2 != 4); return 0; //ì´ê²ƒë„ 오류 아닌거 ê°™ì€ë° 오류가 나네요 (수업시간때 잘못ëœê²ƒì¢€ 지ì í•´ 주세요) } }}} {{{ #include <assert.h> int main() { int val1 = 4, val2 = 2; val1 %= 3; val2 %= 2; assert(val1 != 1); assert(val2 != 0); return 0; // ì´ê²ƒë„ 오류가;; } }}} {{{ #include <assert.h> int main() { int val = 15; assert(--val == 14); assert(val-- == 14); system("pause"); return 0; } }}} {{{ #include <assert.h> int main() { int val1 = 13; int val2 = 12; int val3 = 13; assert(val1 >= val2); assert(val1 != val3); return 0; //ì´ê²Œ 왜 오류가 뜨는지 ì•Œ 수 없네요 ;; ê·¸ë¦¬ê³ main() 괄호 ì•ˆì— void ë„£ë“ ì•ˆë„£ë“ //별ìƒê´€ 없는것 ê°™ì€ë° 왜 void를 ì“°ì£ ??? } }}} {{{ #include <assert.h> int main() { float val1,val2; scanf("%d %d", &val1, &val2); assert(val1 < val2 && val2 == 12); assert(val1 < val2 || val1 != 11); return 0; //ì•„ ì´ê²ƒë„ 오류가 안나야 ë˜ëŠ”ë° ì˜¤ë¥˜ê°€ 나네요 ìŒ ê·¼ë³¸ì ì¸ ë¬´ì–¸ê°€ê°€ 틀린거 같아요. // ê·¸ë¦¬ê³ floatì´ëž€ 실수를 ì •ì˜í•´ 주는건가요??? // ì´ê²½ìš°ì—” int를 안 ì¨ì£¼ëŠ”게 맞나요??? } }}} === QnA === * assert 문ì—ì„œ 오류가 ë‚œ ì´ìœ ? {{{ #include <assert.h> int main() { int val1 = 10, val2 = 8; val1 -= 3; val2 /= 2; assert(val1 != 7); assert(val2 != 4); return 0; } }}} * assert는 '''강하게 주장하다'''ë¼ëŠ” ì˜ë¯¸ë¡œ 위와 ê°™ì€ ê²½ìš° val1ì´ 7ì´ ì•„ë‹ˆë‹¤! val2ê°€ 4ê°€ 아니다! ë¼ê³ 주장한다는 ì˜ë¯¸ìž…니다. 하지만 val1ê°’ì€ 7ì´ê³ , val2ì˜ ê°’ì€ 4니까 ì—ëŸ¬ì°½ì„ ë„워 ì£¼ìž¥ì´ ìž˜ëª»ëë‹¤ê³ ì•Œë ¤ì£¼ëŠ” ê±°ì—ìš”. ì „ì²´ì 으로 ì˜ë¬¸ì‚¬í•ì€ assert문보다는 '''!='''ì˜ ì˜ë¯¸ë¥¼ 잘 몰ë¼ì„œ 그런 듯 합니다. == 는 같다, !=는 아니다ë¼ëŠ” ì˜ë¯¸ì˜ 관계연산ìžìž…니다. * int main(void) ì•ˆì— void를 ë„£ë“ ì•ˆë„£ë“ ìƒê´€ì—†ëŠ” ì´ìœ ? * ì›ëž˜ëŠ” ì›ì¹™ìƒìœ¼ë¡œ voidë¼ê³ 명시해서 매개변수를 사용하지 ì•Šê³ ë¹„ì–´ìžˆë‹¤!!ê³ ì•Œë ¤ì•¼í•˜ì§€ë§Œ, ì•„ë¬´ê²ƒë„ ì•ˆ 쓰는 ê²ƒë„ ë¹„ì–´ìžˆë‹¤ëŠ” ì˜ë¯¸ë¡œ 허용해서 ê·¸ë ‡ìŠµë‹ˆë‹¤. === 후기 === * [박성êµ] - 오늘 다양한 ì—°ì‚°ìžì— 대해 ë°°ìš°ê³ printf 와 scanf ì— ëŒ€í•´ 잘 ì´í•´ í• ìˆ˜ 있었어요. ê°ì‚¬í•©ë‹ˆë‹¤.^^ * [ì´ì¤€ì˜] - ìˆ˜ì—…ì‹œê°„ì— ì´í•´ê°€ ìž˜ì•ˆê°€ë˜ printfëž‘ scanf를 배울 수 있어서 ìœ ìµí•œ 시간ì´ì—ˆìŠµë‹ˆë‹¤. 기타 ì—°ì‚°ìžë„ 배울 수 있었습니다.ê°ì‚¬í•©ë‹ˆë‹¤. * [강소현] - 4피ì—ì„œ ìˆ˜ì—…ì´ ì—†ëŠ” 줄 ì•Œê³ ê´œížˆ ì´ë™í–ˆë‹¤ê°€ 다시 6피로 ì´ë™í•˜ëŠ” 번거로운 ì¼ì„ 했었는ë°, 앞으로는 ì–Œì „ížˆ 6피ì—서만 ìˆ˜ì—…ì„ í•´ì•¼ê² ì–´ìš”. ìˆ˜ìš”ì¼ 11시부터 12시까지 ë”± 새싹 ì‹œê°„ì— ë‹¤ë¥¸ ìˆ˜ì—…ì´ ìžˆëŠ” 줄 몰ëžì—ˆì–´ìš” ã… ã… printf와 scanfì—ì„œ ì‹œê°„ì„ ë§Žì´ íˆ¬ìží•´ì„œ, 급하게 ì—°ì‚°ìžë¥¼ ì‰ì‰- ì„¤ëª…í•˜ê³ ëë‚´ëŠë¼ ê¸°ì–µì— ë‚¨ì§€ ì•Šì„ ê²ƒ 같습니다. ë”°ë¼ì„œ ì—°ì‚°ìžì— 관한 간단한 ê³¼ì œë¥¼ ë‚´ì–´ ìµížˆë„ë¡ í•˜ê² ìŠµë‹ˆë‹¤.(?!) 준비를 잘 해와야하는ë°, ê³„ì† ë¶€ì¡±í•œ ê°•ì˜ë¼ê³ 만 하는 ê²ƒì€ ê²¸ì†ì´ ì•„ë‹ˆë¼ ê·¸ëƒ¥ ìžê¸°ë¹„하란 ìƒê°ì´ ë¬¸ë“ ë“¤ì—ˆìŠµë‹ˆë‹¤. ê·¸ ë™ì•ˆ 푸ë…ì„ ë“¤ì–´ì£¼ì–´ ë¯¸ì•ˆí–ˆê³ , 앞으로는 그런 ì¼ì´ ì—†ë„ë¡ í• ê²ƒìž…ë‹ˆë‹¤. == 3회차(3/30) == * 수업시간 - 11:00 ~ 12:00 === 수업내용 === * #define ì´ëž€? * 실행파ì¼ì˜ ìƒì„±ìˆœì„œ * ì „ì²˜ë¦¬ê¸° * 심볼ë¦(Symbolic) ìƒìˆ˜ * ë°ì´í„° ì €ìž¥ì„ ìœ„í•œ 변수 * 변수란? * 변수 ì„ ì–¸ ì‹œ 주ì˜ì‚¬í• * ìžë£Œí˜• ''ìžì„¸í•œ ë‚´ìš©ì€ PPTì— ìžˆìŠµë‹ˆë‹¤:)'' === QnA === * 2ì˜ ë³´ìˆ˜ëŠ” ëê³ , 왜 사용하나요? *[http://ko.wikipedia.org/wiki/2%EC%9D%98_%EB%B3%B4%EC%88%98 2ì˜ ë³´ìˆ˜]ì— 2ì˜ ë³´ìˆ˜ì— ëŒ€í•œ ì„¤ëª…ì´ ìžˆìŠµë‹ˆë‹¤. 왜 0000 0010 ì˜ ìŒìˆ˜ 형태를 1000 0010 으로 하지 ì•Šê³ , 2ì˜ ë³´ìˆ˜ í˜•íƒœì¸ 1111 1110 ì„ ì‚¬ìš©í–ˆëƒ! ì´ê±´ 컴퓨터가 ìŒìˆ˜ì™€ 양수를 ì´ìš©í•œ ê³„ì‚°ì„ íŽ¸ë¦¬í•˜ê²Œ 하기 위해 그런듯합니다. 2-2를 우리야 바로 0ì´ë¼ê³ ê³„ì‚°í• ìˆ˜ 있지만, 컴퓨터는 2+(-2)형태로 바꿔서 0000 0010 ê³¼ 1111 1110ì„ ë”í•´ 0000 0000 ì´ ë‚˜ì˜¤ê²Œ 합니다. '''컴퓨터ì—ì„œ 가산기를 사용하여 ëº„ì…ˆì„ í•˜ê¸° 위해 ìŒìˆ˜ì˜ 표현으로 ìžì£¼ 사용ëœë‹¤'''ë¼ê³ ì‚¬ì „ì— ë‚˜ì˜¤ë„¤ìš”ã… ã… ã…‹ === 후기 === * [박성êµ] - ì˜¤ëŠ˜ì€ ì „ì‚°ì²˜ë¦¬ê¸°ì™€ ìžë£Œí˜•ì— 대해서 ë°°ì› ìŠµë‹ˆë‹¤. ìžì„¸ížˆ 몰ëžë˜ #include<stdio.h> 등 ì´ ì–´ë–¤ ì—í™œì„ í•˜ëŠ”ì§€ ì•Œ 수 있었어요. ë˜ int, char ë“±ì˜ ì˜ë¯¸ì™€ ì—í™œì— ëŒ€í•´ ì•Œ 수 있었습니다. 오늘 ì „ì‚°ì²˜ë¦¬ê¸°ì™€ ìžë£Œí˜•ì— 대해 ë°°ì› ìœ¼ë‹ˆ 다ìŒì€ 본격ì 으로 í”„ë¡œê·¸ëž¨ì„ ì§œëŠ”ê²ƒì„ ë°°ìš°ê² ë‹¤.^^ * [ì´ì¤€ì˜] - 오늘 ì‹¬ë³¼ë¦ ìƒìˆ˜ë¥¼ ë°°ì› ìŠµë‹ˆë‹¤. constëž‘ defineì„ ë°°ì› ì–´ìš”. 먼지는 ëª¨ë¥´ê² ì§€ë§Œ ë‚˜ì¤‘ì— ì•”ê¸°í•˜ë„ë¡ í•˜ê² ìŠµë‹ˆë‹¤. ê·¸ë¦¬ê³ ìžë£Œí˜•ì˜ 실수형/ì •ìˆ˜í˜• ë“±ë“±ì˜ í‘œí˜„ë²•ì„ ë°°ì› ìŠµë‹ˆë‹¤. í‰ì†Œ ì·¨ì•½í•˜ë˜ ë¶€ë¶„ì´ì—ˆëŠ”ë° ì˜¤ëŠ˜ í•´ê²°ë 수 있었습니다. ë³€ìˆ˜ì˜ ì„ ì–¸ê³¼ 초기화시 ìœ ì˜í• ì ë„ ì•Œ 수 있어서 ìœ ìµí–ˆìŠµë‹ˆë‹¤. 무엇보다 앞으로 ìžì£¼ ì“°ì´ëŠ” ìžë£Œí˜•ì¸ char, int, float, doubleì˜ ì„œì‹ë¬¸ìžë¥¼ 암기하ë„ë¡ ë…¸ë ¥í•˜ê² ìŠµë‹ˆë‹¤. * [강소현] - 1시간 늦췄지만, í•™êµ ìˆ˜ì—… ì´ì „ì— ìƒˆì‹¹ êµì‹¤ì„ 하는 ê²ƒì´ ë§Žì´ ë¶€ë‹´ì´ ë˜ëŠ” 듯 합니다. ë‚´ì¼ ì˜¤í›„ì— ìˆ˜ì—…ì„ í•˜ë©´ì„œ 다시 ì‹œê°„ì„ ì •í• ê³„íšìž…니다. 오늘 ë°°ìš´ ì „ì²˜ë¦¬ê¸°ì™€ 변수, ë°ì´í„° íƒ€ìž…ì„ ë으로 ì´ë¡ ìœ„ì£¼ì˜ ìˆ˜ì—…ì€ ê±°ì˜ ì—†ì„ ê±°ì—ìš”! 앞으로 ê·¸ ë™ì•ˆ ë°°ì› ë˜ ê¸°ë³¸ì ì¸ ê²ƒì„ í™œìš©í•˜ì—¬ 열심히 ì‹¤ìŠµì„ í•´ë´…ì‹œë‹¤ã…‹ã…‹ == 4회차(3/31) == * 수업시간 - 18:00 ~ 19:00 === 수업내용 === * 반복문 * while {{{ #include <stdio.h> int main() { int i = 1; while(i<=10) { printf("%d번째 ì¶œë ¥\n",i); i++; } return 0; } }}} * do~while {{{ #include <stdio.h> int main() { int i = 1; do { printf("%d번째 ì¶œë ¥\n",i); i++; }while(i<=10); return 0; } }}} * for {{{ #include <stdio.h> int main() { int i; for(i=1; i<=10; i++) { printf("%d번째 ì¶œë ¥\n",i); } return 0; } }}} * 중첩 반복문 * for {{{ #include <stdio.h> int main() { int i, j; for(i=0; i<2; i++) { printf("j for문 실행 ì „ iê°’=%d\n",i); for(j=0; j<3; j++) { printf("여기는 안쪽 for문! j=%d\n",j); } printf("j for문 실행 후 iê°’=%d\n",i); } return 0; } }}} === 후기 === * [박성êµ] - ì˜¤ëŠ˜ì€ printf 를 쓰지 ì•Šê³ for ê³¼ while or do whileì„ ì‚¬ìš©í•˜ì—¬ 어떻게 ë¬¸ìž¥ì„ ë°˜ë³µí•˜ëŠ”ì§€ì— ëŒ€í•˜ì—¬ ìžì„¸ížˆ ë°°ì› ë‹¤. ì´í•´ê°€ 차근차근 잘ë˜ì–´ì„œ ì¢‹ì€ ìˆ˜ì—… ì´ì—ˆë‹¤. * [ì´ì¤€ì˜] - ë°˜ë³µë¬¸ì„ ë°°ì› ìŠµë‹ˆë‹¤. for문과 while, do while ì„ ë°°ì› ëŠ”ë° ë‹¤ 비슷한 문법 같습니다. whileì„ ì¤‘ì²©í•˜ëŠ” ë°©ë²•ë„ ë°°ì› ëŠ”ë° ë§¤ìš° 복잡한것 같습니다. 매우 ìœ ìµí•œ 시간ì´ì—ˆì–´ìš”. ê°ì‚¬í•©ë‹ˆë‹¤. * [강소현] - ë°˜ë³µë¬¸ì€ ê´œì°®ì§€ë§Œ, ì¤‘ì²©ì„ í•˜ë©´ì„œ 안드로메다로 ê°„ 듯 합니다. ë‹¤ìŒ ì‹œê°„ì— ë‹¤ì‹œ ì¤‘ì²©ì„ í•´ë³´ë„ë¡ í•˜ê² ìŠµë‹ˆë‹¤. 좀 ë” ì‰½ê²Œ ì„¤ëª…í• ë°©ë²•ì´ ì—†ì„까 ê³ ë¯¼ë˜ë„¤ìš” @ã…@;; ê·¸ë¦¬ê³ ...준ì˜ì´ê°€ 콩나물 잘 못먹는다는 ì˜ê²¬ì„ ë¬´ì‹œí•˜ê³ ì½©ë¶ˆì„ ë¨¹ìœ¼ëŸ¬ 가서 ì£„ì†¡í•©ë‹ˆë‹¤ã… ã… ì†Œìˆ˜ì˜ ì˜ê²¬ì„ 묵살하지 마세요!í•˜ë©´ì„œë„ ê°€ê¸¸ëž˜ ã…‹ã…‹ ì•„...성êµì´ëŠ” 매운 ê±° 잘 못 먹는 줄 몰ëžê³ ..ì €ëŠ” ë˜ ëŠ¦ê²Œ ë¨¹ì—ˆë‹¤ê³ ì†ì“°ë¦¬ê³ ã…‹ã…‹ã…‹ã…‹ã…‹ã…‹ã…‹ ì´ëž˜ì„œ ì˜ê²¬ì€ 존중해줘야 하는 거였군요!!(?!) 앞으로는 모ë‘ì˜ ì˜ê²¬ì„ 종합하여 í•´ê²°ë´ì•¼ê² ì–´ìš” ã… ã… ã… ã… ã…‹ == 5회차(4/7) == * 수업시간 - 18:30 ~ 20:30 === 수업내용 === * if, else if, else * switch, break, continue * if, switch, while 활용 사례 {{{ #include <stdio.h> #include <stdlib.h> int main() { int choice=0;//int형 변수 ì„ ì–¸ ë° ì´ˆê¸°í™” char day;//char형 변수 ì„ ì–¸ while(1) { printf("아침 기ìƒ\n"); printf("성êµì´ëŠ” 아침으로(1:ë°¥ 2:김치 3:ë‘부 4:삼겹살 0:다먹ìŒ) "); do { scanf("%d",&choice);//ì •ìˆ˜í˜• ìˆ«ìž ìž…ë ¥ ë°›ìŒ switch(choice) { case 1: printf("ë°¥, "); break; case 2: printf("김치, "); break; case 3: printf("ë‘부, "); break; case 4: printf("삼겹살, "); break; case 0: printf("ì„(를) 먹었다.\n"); break; default: printf("물, "); break; } }while(choice != 0); printf("ê·¸ë¦¬ê³ í•™êµì— 갔다.\n"); printf("ìˆ˜ì—…ì„ ëŒ€ì¶© 듣다 ë¹ ì ¸ë‚˜ì™€ì„œ 성êµì´ëŠ”(1:당구장 2:PCë°© 3:ìˆ ì§‘) "); scanf("%d",&choice);//ì •ìˆ˜í˜• 숫ìžë¥¼ ìž…ë ¥ë°›ìŒ switch(choice) { case 1: printf("ë‹¹êµ¬ìž¥ì„ ê°”ë‹¤."); break; case 2: printf("PCë°©ì„ ê°”ë‹¤."); break; case 3: printf("ìˆ ì§‘ì„ ê°”ë‹¤."); break; default: printf("어딜 ê°€ë ¤í•˜ì˜€ìœ¼ë‚˜ 그냥 다시 ìˆ˜ì—…ì„ í•˜ëŸ¬ 갔다."); break; } printf("다 ëë‚˜ê³ í•˜ìˆ™ì§‘ì— ëŒì•„ê°€ ì €ë…ì„ ë¨¹ê³ ìž¤ë‹¤.\n"); printf("ë‹¤ìŒ ë‚ ì´ í‰ì¼ì´ì—ˆë‚˜?(y:yes n:no) "); fflush(stdin);//ìž…ë ¥ë²„í¼ë¥¼ 비워준다. '\n'ë„ ë¬¸ìžë¡œ ì¸ì‹í•˜ë‹ˆê¹Œ. scanf("%c",&day);//'%c'는 문ìžë¥¼ ìž…ë ¥ë°›ìŒ. if(day == 'n') { printf("주ë§ì´ë‹ˆ 집으로 ë‚´ë ¤ê°”ë‹¤.\n"); break; } system("pause");//ì¼ì‹œì •ì§€ system("cls");//clear screen } } }}} * 별ì°ê¸° 예시 {{{ #include <stdio.h> int main() { int i,j,h; for(i=1;i<=10;i++)//10번 ì¶œë ¥ { for(j=1;j<=i;j++)//별 갯수 { printf("*"); } printf("\n"); } return 0; } }}} === ê³¼ì œ === * ë†’ì´ h를 ìž…ë ¥ë°›ì•„ ë³„ì„ ì¶œë ¥í•˜ì„¸ìš”. (ex)h=5ì¼ ë•Œ ì¶œë ¥ 형태. {{{ ***** **** *** ** * }}} * ë†’ì´ h를 ìž…ë ¥ë°›ì•„ Oì„ ì¶œë ¥í•˜ì„¸ìš”. (ex)h=5ì¼ ë•Œ ì¶œë ¥ 형태. {{{ O OO OOO OOOO OOOOO }}} === ê³¼ì œì œì¶œ === * [박성êµ] {{{ #include <stdio.h> int main() { int i,j; for(i=1;i<=5;i++) { for(j=5;i<=j;j--) printf("*"); printf("\n"); } return 0; } }}} {{{ #include<stdio.h> int main() { int i,j,h; scanf("%d",&h); for(i=0;i<h;i++) { for(j=1;h-i>j;j++) printf(" "); for(j=0;i>=j;j++) printf("o"); printf("\n"); } return 0; }//한글 ㅇ를 치니까 피ë¼ë¯¸ë“œê°€ 나오ë˜ë°ìš” ㅇㅅㅇ ì´ê±´ ì–´ë–¤ 현ìƒì¸ì§€ ã…‹? }}} === QnA === * 한글 ㅇ를 치니까 피ë¼ë¯¸ë“œê°€ 나옵니다. * 한글 ㅇ가 칸 수를 ë§Žì´ ì°¨ì§€í•´ì„œ ê·¸ë ‡ìŠµë‹ˆë‹¤. === 후기 === * [박성êµ] - ì˜¤ëŠ˜ì€ if를 활용하는 ë°©ë²•ì— ëŒ€í•´ì„œ ìžì„¸ížˆ ë°°ì› ì–´ìš”^^ ê·¸ë¦¬ê³ if와 비슷한 switch를 ì´ìš©í•˜ì—¬ 다양한 경우를 ì¶œë ¥í•´ 보는것 ë˜í•œ ë°°ì› ì–´ìš”:) * [ì´ì¤€ì˜] - ì´ì œ 본격ì 으로 줄 수가 많아지니 í¥ë¯¸ê°€ ìƒê¹ë‹ˆë‹¤. ifì— ëŒ€í•´ ìžì„¸ížˆ 배울 수 있었습니다. ìœ ìµí•œ 시간ì´ì—ˆìŠµë‹ˆë‹¤. * [강소현] - if,for,while,switch를 ë°°ìš°ê³ , ì‹¤ìŠµì„ ë³‘í–‰í•˜ì˜€ìŠµë‹ˆë‹¤. 구구단ì—ì„œ 홀수만 ì¶œë ¥í•˜ëŠ” 경우 i+=2 를 하거나, continue를 활용하는 ì‚¬ë¡€ë„ ì‹œí–‰í•´ë³´ì•˜ìŠµë‹ˆë‹¤. ë‹¤ìŒ ì£¼ëŠ” 시험 ì¼ì£¼ì¼ ì „ì¸ ê´€ê³„ë¡œ ìˆ˜ì—…ì„ íœ´ê°•í•˜ê² ìŠµë‹ˆë‹¤. 시험 ëë‚˜ê³ ë´ìš”~ã…~ == 6회차(4/27) == * 수업시간 - 10:00 ~ 11:30 === 수업내용 === * rand()를 ì´ìš©í•´ì„œ up-down 게임 만들기 {{{ #include <stdio.h> #include <stdlib.h> //srand, rand #include <time.h> //time int main() { int num, i; srand((unsigned)time(NULL)); printf("%u\n",(unsigned)time(NULL)); for(i=0; i<10;i++){ num=rand()%5; printf("%d ",num); } return 0; } }}} === 실습 === * [ì´ì¤€ì˜] {{{ #include <stdio.h> #include <stdlib.h> //srand, rand #include <time.h> //time int main() { int num,i,min=0,max=99; srand((unsigned)time(NULL)); num=rand()%100; while(1){ scanf("%d",&i); if(num>i){ printf("up\n"); if(min<i){ min=i; } printf("%dì—ì„œ %d 사ì´\n",min,max); }else if(num<i){ printf("down\n"); if(max>i){ max=i; } printf("%dì—ì„œ %d 사ì´\n",min,max); }else break; } return 0; } }}} * [박성êµ] {{{ #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int n,a,min=0,max=99; srand((unsigned)time(NULL)); n = rand()%100; while(1) { scanf("%d",&a); if(a<n){ if(a>min) min=a; printf("up (%d<n<%d)\n",min,max); } else if(a>n){ if(max>a) max=a; printf("down (%d<n<%d)\n",min,max); } else break; } return 0; } }}} === ê³¼ì œ === * ë‘ ê°œì˜ 1~9 사ì´ì˜ ì •ìˆ˜ë¥¼ ìž…ë ¥ë°›ì•„ 구구단 ë¬¸ì œ 푸는 ê²Œìž„ì„ ë§Œë“œì„¸ìš”. * ì¶œë ¥ 예시 {{{ 3 * 5 => // 13 ìž…ë ¥(ë‚´ê°€ ìž…ë ¥í•œ ê°’) í‹€ë ¸ìŠµë‹ˆë‹¤. 3 * 5 => // 15 ìž…ë ¥(ë‚´ê°€ ìž…ë ¥í•œ ê°’) 맞았습니다. ê·¸ë§Œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?(y: yes, n: no) => n 7 * 9 => // 63 ìž…ë ¥(ë‚´ê°€ ìž…ë ¥í•œ ê°’) 맞았습니다. ê·¸ë§Œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?(y: yes, n: no) => y }}} === ê³¼ì œì œì¶œ === * [ì´ì¤€ì˜] {{{ #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int a,b,c,i; srand((unsigned)time(NULL)); while(1){a=(rand()%9)+1; b=(rand()%9)+1; printf("%d*%d=",a,b); while(1){ scanf("%d",&i); if(i==a*b) break; else printf("í‹€ë ¸ìŒ\n"); } printf("잘했어요.\n"); printf("ê·¸ë§Œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?(0:quit 1:continue)\n"); scanf("%d",&c); if(c==0) break; else system("cls"); } return 0; } }}} * [박성êµ] {{{ #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int n,m,a; char d,y='y'; srand((unsigned)time(NULL)); while(1) { n = rand()%9+1; m = rand()%9+1; while(1) { printf("%d*%d=?",n,m); scanf("%d",&a); if(n*m==a) { printf("%d*%d => // %d\n맞았습니다\nê·¸ë§Œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?(y: yes, n: no)",n,m,a); fflush(stdin); scanf("%c",&d); if(d==y) { printf(" => y\n"); exit(0); } else printf(" => n\n"); break; } else { printf("%d*%d => // %d ìž…ë ¥(ë‚´ê°€ ìž…ë ¥í•œ ê°’)\ní‹€ë ¸ìŠµë‹ˆë‹¤.)",n,m,a); } } } return 0; } }}} === 후기 === * [박성êµ] - ^srand 와 rand를 배워 ëžœë¤ê°’ì„ ë§Œë“œëŠ” ë°©ë²•ì„ ë°°ì› ê³ ê·¸ê²ƒìœ¼ë¡œ up down ê²Œìž„ì„ ë§Œë“œëŠ” ìœ ìµí•œ 시간ì´ì—ˆìŠµë‹ˆë‹¤.^ * [ì´ì¤€ì˜] - rand와 srand를 ë°°ìš°ê³ ê·¸ë™ì•ˆ ë°°ì› ë˜ ë°˜ë³µë¬¸ê³¼ ì¡°ê±´ë¬¸ì„ í™œìš©í•´ 간단한 ê²Œìž„ì„ ë§Œë“¤ì–´ë³´ì•˜ìŠµë‹ˆë‹¤. ë¬¸ìž¥ì´ ì¡°ê¸ˆ ê¸¸ì–´ì ¸ì„œ 복잡했어요. * [강소현] - while, if, break, continue 등 ì˜ˆì „ì— ë°°ì› ë˜ ê²ƒë“¤ì„ ê²Œìž„ì„ í†µí•´ ë³µìŠµì„ í•˜ëŠ” ì‹œê°„ì„ ê°€ì¡ŒìŠµë‹ˆë‹¤. == 7회차(5/4) == * 수업시간 - 10:30 ~ 12:30 === 수업내용 === * 함수 * 타입 4 가지 * variable * global, local, static, register *call by value === 후기 === * [박성êµ] - ^ì˜¤ëŠ˜ì€ í•¨ìˆ˜ì— ëŒ€í•´ì„œ ìžì„¸ížˆ ë°°ìš°ê³ ê·¸ì— í•„ìš”í•œ 지ì‹ì¸ 지ì—변수 ì „ì—변수 staticë³€ìˆ˜ì— ëŒ€í•´ ìžì„¸ížˆ ë°°ì› ìŠµë‹ˆë‹¤.^ 하나하나 ë°°ìš°ë©´ì„œ Cì–¸ì–´ì–´ì— ëŒ€í•œ ìžì‹ ê°ì„ 가졌습니다. 특히 Recursive functionì— ëŒ€í•´ ì •í™•í•œ ì´í•´ë¥¼ 통하여 í™œìš©í• ìˆ˜ 있게 ë˜ì—ˆìŠµë‹ˆë‹¤. í•ìƒ ìŠ¤íŽ€ì§€ê°™ì´ ì™ì™ 머리ì†ì— 들어오는 수업 ê°ì‚¬í•©ë‹ˆë‹¤. * [ì´ì¤€ì˜] - ìˆ˜ì—…ì‹œê°„ì— ì œëŒ€ë¡œ ì§‘ì¤‘ì„ ëª»í•´ì„œ 잘 ëª»ë“¤ì€ ë¶€ë¶„ì„ ìžì„¸ížˆ 배울 수 있어서 다행ì´ì—ˆìŠµë‹ˆë‹¤. 재귀함수랑 ë³€ìˆ˜ì˜ ìœ í˜•ì„ ìžì„¸ížˆ ë°°ì› ìŠµë‹ˆë‹¤. ì•žìœ¼ë¡œë„ ë” ë§Žì€ ê±¸ ë°°ìš°ê³ ì‹¶ì–´ìš”. * [강소현] - í•¨ìˆ˜ì˜ í˜•íƒœë¥¼ ë°˜í™˜í˜•ì´ ìžˆëŠ” ì§€ì˜ ì—¬ë¶€ì™€ 매개변수가 있는 ì§€ì˜ ì—¬ë¶€ì— ë”°ë¥¸ 4 가지를 실습하여 ì°¨ì´ë¥¼ 알아보았습니다. ê·¸ë¦¬ê³ ìž¬ê·€í•¨ìˆ˜ì— ëŒ€í•œ 진ë„ë„ ë‚˜ê°”ìœ¼ë‚˜, ì•„ë¬´ëž˜ë„ ê·¸ëƒ¥ 함수 한번 í˜¸ì¶œí•˜ê³ ë낼 때보다 ì´í•´ê°€ 잘 가지 않는 듯 합니다. ë‹¤ìŒ ì‹œê°„ì— í•œë²ˆ ë” ë³µìŠµí• ì˜ˆì •ìž…ë‹ˆë‹¤. 재귀함수로 만드는 factorialì´ë‚˜ gcd ê°™ì€ ê²ƒì„ ì í™”ì‹ì„ ì„¤ëª…í•˜ê³ ë³´ì—¬ì£¼ë©´ 좀 ë” ì´í•´ê°€ 쉽지 ì•Šì„까 싶었습니다. == 8회차(5/11) == * 수업시간 - 11:00 ~ 12:00 === 수업내용 === * 재귀함수 복습 * 봉봉 êµìˆ˜ë‹˜ hw2 ë¬¸ì œ í’€ì´ === 후기 === * [강소현] - í•œ ì‹œê°„ì€ ì •ë§ ê¸ˆë°© 가네요. ê·¼ë° ì™œ í•™êµ ìˆ˜ì—… ë“¤ì„ ë•ŒëŠ” 그리 길었ë˜ê±°ì§€!? 재귀함수를 ì‚¬ìš©í• ê²½ìš° í•ìƒ! ë¹ ì ¸ë‚˜ì˜¬ 수 있는 '''ì¡°ê±´'''ì„ ê±¸ì–´ì•¼ 한다는 ê²ƒì„ ë³µìŠµí–ˆìŠµë‹ˆë‹¤. ë”ê°€ ë„미노 ì›ì¹™ 어쩌구 하긴 했지만 ì •í™•í•œ 게 ì•„ë‹ˆë¼ ë¹„ìŠ·í•˜ë‹¤-ê³ í–ˆë˜ê±°ì—ìš”. ì •í™•í•œ ê±´ 3학년 ì•Œê³ ë¦¬ì¦˜ ì‹œê°„ì— divide&conquerì„ ë°°ìš°ë©´...<< 간단히 설명하ìžë©´ í•œë²ˆì— í’€ê¸° 힘드니까 ë‚˜ëˆ ì„œ í’€ìžëŠ” 내용입니다. * [박성êµ] - * [ì´ì¤€ì˜] - == 9회차(5/18) == * 수업시간 - 10:00 ~ 11:00 === 수업내용 === * Function Call Stack * 함수 호출 ì‹œ, stackì— ëŒì•„올 주소를 넣어ë‘ê³ í•¨ìˆ˜ê°€ 종료ë˜ë©´ stackì—ì„œ 빼와서 ëŒì•„간다. LIFO(Last In First Out)ì˜ ìˆœìœ¼ë¡œ.. * ë°°ì—´ * 둘 ì´ìƒì˜ 변수를 ë™ì‹œì— ì„ ì–¸í•˜ëŠ” 효과 * ë§Žì€ ì–‘ì˜ ë°ì´í„°ë¥¼ ì¼ê´„ì ì²˜ë¦¬í• ë•Œ ìœ ìš©í•˜ë‹¤ * 1ì°¨ì› ë°°ì—´ * ë°°ì—´ 길ì´: ë°°ì—´ì„ êµ¬ì„±í•˜ëŠ” ë³€ìˆ˜ì˜ ê°œìˆ˜ * ë°°ì—´ 요소 ìžë£Œí˜•: ë°°ì—´ì„ êµ¬ì„±í•˜ëŠ” ë³€ìˆ˜ì˜ ìžë£Œí˜• * ë°°ì—´ ì´ë¦„: ë°°ì—´ì— ì ‘ê·¼í• ë•Œ 사용ë˜ëŠ” ì´ë¦„ * 문ìžì—´ 변수 * 문ìžì—´ì€ ë„(null) 문ìžë¥¼ ëì— ì§€ë‹Œë‹¤. * ë„(null) 문ìž: ‘\0’ (아스키코드 값으로 0) * ë„(null) 문ìžë¥¼ 지녀야 하는 ì´ìœ * 문ìžì—´ì˜ ëì„ í‘œí˜„í•˜ê¸° 위해서 * ì“°ë ˆê¸° ê°’ê³¼ ì‹¤ì œ 문ìžì—´ì˜ 경계를 나타내기 위해 * Printf함수는 ë„ ë¬¸ìžë¥¼ 통해서 ì¶œë ¥ì˜ ë²”ìœ„ë¥¼ ê²°ì • 짓는다. === 실습 === *실습(2): 문ìžì—´ì„ ìž…ë ¥ 받는다. ìž…ë ¥ ë°›ì€ ë¬¸ìžì—´ì„ êµ¬ì„±í•˜ê³ ìžˆëŠ” ë¬¸ìž ì¤‘ì—ì„œ 아스키코드 ê°’ì´ ê°€ìž¥ í° ë¬¸ìžë¥¼ 찾아서 ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ êµ¬í˜„í•´ë³´ìž. * [ì´ì¤€ì˜] {{{ #include <stdio.h> int main() { char array[20],max; int i; scanf("%s", &array); max=array[0]; for(i=0;i<20;i++){ if(array[i+1]>array[i]) max=array[i+1]; if(array[i]==NULL) break; } printf("%c", max); return 0; } }}} === 후기 === * [강소현] - ë°°ì—´ì´ ì‰¬ì›Œì„œ 그런가(?) 예ìƒì™¸ë¡œ 금방 ìˆ˜ì—…ì´ ë났습니다. ë‹¤ìŒ ì‹œê°„ì—는 시간 ì¡°ì ˆì„ ë” ìž˜ í•´ì•¼ê² ìŠµë‹ˆë‹¤. * [박성êµ] - * [ì´ì¤€ì˜] - 수업 ì‹œê°„ì— ë°°ì—´ì„ ì œëŒ€ë¡œ ì§‘ì¤‘ì„ ì•ˆí•´ì„œ 몰ëžëŠ”ë° ì˜¤ëŠ˜ ë°°ì—´ì´ ë¬´ì—‡ì¸ì§€ 알게 ë˜ì—ˆìŠµë‹ˆë‹¤. 무엇보다 ì œê°€ 실습2를 ì§ì ‘ 풀어서 ì •ë§ ì˜ë¯¸ìžˆì—ˆë˜ 새싹êµì‹¤ì´ì—ˆìŠµë‹ˆë‹¤. == 10회차(5/25) == * 수업시간 - 10:30 ~ 11:30 === 수업 ë‚´ìš© === * ë‹¤ì°¨ì› ë°°ì—´ === 후기 === * [박성êµ] - ë°°ì—´ì— ëŒ€í•´ í‰ì†Œ ê°œë…ê³¼ ì‹¤ìŠµì´ ì ì—ˆëŠ”ë° ì˜¤ëŠ˜ ê°œë…ë„ ìžì„¸ížˆ ë°°ìš°ê³ ì‹¤ìŠµë„ ì¶©ë¶„ížˆ í•œ 시간ì´ì—ˆì–´ìš”. :) ë˜í•œ ê³¼ì œë„ í•˜ë©´ì„œ ë”ìš± ìžì„¸ížˆ ì´í•´ í• ìˆ˜ 있었습니다.!!! ---- * 위키 ì •ë¦¬ê°€ 매우 알차네요!! ê·¸ëŸ°ë° í•œíŽ¸ìœ¼ë¡ ì´ë ‡ê²Œ ì •ë¦¬í•˜ë ¤ë©´ ìœ„í‚¤ì— ì 는 ê²ƒì´ ìƒˆì‹¹êµì‹¤ ì„ ìƒë‹˜ì—게 너무 부담스럽지 ì•Šì„까 ì‹¶ì€ ê±±ì •ë„ ë“니다. ì¦ê²ê²Œ ì •ë¦¬í•˜ê³ ìžˆë‹¤ë©´ ì •ë§ ì¢‹ì€ ì¼ì´ì§€ë§Œ 혹시 너무 부담스럽다면 ëœ ê¼¼ê¼¼ížˆ ì ì–´ë„ ê´œì°®ì„ ê²ƒ 같아요~ - [김수경] * 네ㅎㅎ ì´ì œ 슬슬 ì‹œí—˜ì´ ë‹¤ê°€ì˜¤ë‹ˆê¹Œ 실습 위주로 나가면서 ì 당히 í•˜ë ¤êµ¬ìš” ã…‹ã…‹ã…‹ - [강소현] ---- [새싹êµì‹¤/2011]