= ê³¼ì œ = ì‹œí—˜ë„ ëë‚¬ê² ë‹¤. ì´ë²ˆì£¼ëŠ” 휴강입니다. 강사가 ê°œì¸ì 으로 ì¼ì´ìžˆì–´ì„œ... ê³¼ì œëŠ” 지금까지 ë°°ìš´ ë‚´ìš©ì„ ì •ë¦¬í•´ì„œ 올리는 것입니다. 지금까지 ë°°ìš´ 문법과 함수를 중심으로 ë‚´ìš©ì„ ì •ë¦¬í•´ë´…ì‹œë‹¤. ìžì‹ ì˜ ë°°ìš´ë°”ë¥¼ ë˜ëŒì•„ 보는 ê²ƒë„ ì¤‘ìš”í•˜ê¸° ë•Œë¬¸ì— ëŒ€ì¶©í•˜ì§€ë§ê³ 꼼꼼히 해봅시다. === 박성훈 === {{{#include <stdio.h> : stdio.h í—¤ë” íŒŒì¼ì„ í¬í•¨í•œë‹¤ëŠ” 뜻ì´ë‹¤. int main(), void main()는 함수를 ì •ì˜í•˜ëŠ” 문장ì´ë‹¤. int나 void는 í•¨ìˆ˜ì˜ ì¶œë ¥ 타입 mainì€ í•¨ìˆ˜ì˜ ì´ë¦„ ()사ì´ì— 들어가는 ê²ƒì€ í•¨ìˆ˜ì˜ ìž…ë ¥ 타입ì´ë‹¤. '{'는 í•¨ìˆ˜ì˜ ì‹œìž‘, '}'는 í•¨ìˆ˜ì˜ ëì„ ì˜ë¯¸í•œë‹¤. return 0;는 함수가 ìž‘ì—…ì„ ëë‚´ê³ ê²°ê³¼ë¥¼ ë°˜í™˜í• ë•Œ ì“°ì¸ë‹¤. /* ì›í•˜ëŠ” ë‚´ìš© */ì‹ìœ¼ë¡œ 주ì„ì„ ì‚¬ìš©í• ìˆ˜ 있다. printf("");는 ""사ì´ì— 들어간 ë‚´ìš©ì„ í™”ë©´ì— ì¶œë ¥í•´ì¤€ë‹¤. printf("%d",i);는 위ì—서 ì •ì˜ëœ ì •ìˆ˜ iê°’ì„ í™”ë©´ì— ì¶œë ¥í•´ì¤€ë‹¤. 받는 ë³€ìˆ˜ì˜ ìžë£Œí˜•ì´ ì •ìˆ˜ë©´ '%d' 실수면 '%f' 문ìžë©´ '%c'를 쓴다. scanf("%d",&i);는 위ì—서 ì •ì˜ëœ ì •ìˆ˜ iì— ìž…ë ¥í•œ ì •ìˆ˜ ê°’ì„ ì €ìž¥í•œë‹¤. 받는 ë³€ìˆ˜ì˜ ìžë£Œí˜•ì´ ì •ìˆ˜ë©´ '%d' 실수면 '%f' 문ìžë©´ '%c'를 쓴다. ì—°ì‚°ì˜ ê²½ìš° +,-,*,/는 부호 ì›ëž˜ 뜻처럼 ë§ì…ˆ,뺄셈,곱셈,나눗셈으로 사용ë˜ê³ %ì˜ ê²½ìš° 나눗셈으로 사용ëœë‹¤. X=-10;ì˜ ê²½ìš° x=x-10;ê³¼ ê°™ì€ ëœ»ì´ë‹¤. ++x는 ì—°ì‚°ì„ í•˜ê¸° ì „ì— xì— 1ì„ ë”í•˜ê³ , x++는 ì—°ì‚°ì„ ë낸 후 xì— 1ì„ ë”한다. 관계 ì—°ì‚°ìžì˜ 경우 ==ì€ x와yê°€ ê°™ì„때 1(ì°¸)ì„ ë‹¤ë¥¼ë•Œ 0(ê±°ì§“)ì„ ì¶œë ¥í•˜ê³ , !=는 ==ê³¼ 반대로 ì¶œë ¥í•˜ê³ , x>yì˜ ê²½ìš° xê°€ y보다 í´ë•Œ 1ì„ ê·¸ë ‡ì§€ 않ì„때 0ì„ ì¶œë ¥í•œë‹¤. x<=yì˜ ê²½ìš°ëŠ” yê°€ x보다 í¬ê±°ë‚˜ ê°™ì„때 1ì„ ê·¸ë ‡ì§€ 않ì„때 0ì„ ì¶œë ¥í•œë‹¤. 논리 ì—°ì‚°ìžì˜ 경우는 &&는 and ||는 or !x는 notì„ ì˜ë¯¸í•œë‹¤. ì¡°ê±´ë¬¸ì˜ ê²½ìš° ifë¬¸ì€ if(ì¡°ê±´ì‹) { ì¡°ê±´ì‹ì´ ì°¸ì¸ ê²½ìš°ì—ë§Œ 실행ë˜ëŠ” 문장} elseif(ì¡°ê±´ì‹){ ìœ„ì˜ ì¡°ê±´ì‹ì´ ë§žì§€ ì•Šê³ ì—¬ê¸°ì˜ ì¡°ê±´ì‹ì´ ì°¸ì¸ ê²½ìš°ì—ë§Œ 실행ë˜ëŠ” 문장} else{ ìœ„ì˜ ì¡°ê±´ì‹ì´ ì „ë¶€ 해당 ë˜ì§€ ì•Šì„ ë•Œ 실행ë˜ëŠ” 문장} ì‹ìœ¼ë¡œ 사용ëœë‹¤. switchcaseë¬¸ì€ switchcase(변수){ *여기서 변수는 ì •ìˆ˜ì´ê±°ë‚˜ 문ìžì´ì–´ì•¼ 함 case : íŠ¹ì • ì •ìˆ˜ 변수가 íŠ¹ì • ì •ìˆ˜ì¼ ë•Œ 실행ë˜ëŠ” 문장 break; <-여기서 break;ë¬¸ì„ í•´ì£¼ì§€ 않으면 case만족시 ì•„ëž˜ì˜ ë¬¸ìž¥ì´ ëª¨ë‘ ì‹¤í–‰ë¨ case : 다른 íŠ¹ì • ì •ìˆ˜ 변수가 다른 íŠ¹ì • ì •ìˆ˜ ì¼ë•Œ 실행ë˜ëŠ” 문장 break; default ìœ„ì˜ ê²½ìš°ê°€ ì „ë¶€ 해당ë˜ì§€ 않으면 실행ë˜ëŠ” 문장} ë°˜ë³µë¬¸ì˜ ê²½ìš° whileë¬¸ì€ while(ì¡°ê±´ì‹){ ë°˜ë³µí• ë¬¸ìž¥ } ì‹ìœ¼ë¡œ 사용ë˜ê³ ì¡°ê±´ì´ ë§Œì¡±í•˜ëŠ” ë™ì•ˆ 반복ëœë‹¤. ì¡°ê±´ì‹ì„ 만족시키지 않게 ë˜ëŠ” 경우를 만들지 않으면 ë¬´í•œë£¨í”„ì— ë¹ ì§ˆ 수 있다. forë¬¸ì€ for(초기ì‹;ì¡°ê±´ì‹;ì¦ê°ì‹) { ë°˜ë³µí• ë¬¸ìž¥ } ì‹ìœ¼ë¡œ 사용ë˜ê³ while문처럼 ì¦ê°ì‹ì„ 잘못하면 ë¬´í•œë£¨í”„ì— ë¹ ì§ˆ 수 있다. continueë¬¸ì€ ë°˜ë³µë¬¸ì•ˆì— ìžˆëŠ” ì¡°ê±´ë¬¸ì— ì‚¬ìš©ë˜ë©° ê·¸ ì¡°ê±´ì„ ë§Œì¡±í• ì‹œ ë°˜ë³µë¬¸ì˜ ìœ„ë¡œ ì´ë™í•˜ì—¬ 다시 ë°˜ë³µë¬¸ì„ ì‹¤í–‰í•œë‹¤. }}} === ì •ì°½ë¯¼ === {{{ }}} === ì¡°ì›í¬ === {{{ 변수 ì§€ì •í•˜ëŠ”ë²•: (data type) (variable) = (value); ì½˜ì†”ì°½ì— ë 나타내는거: printf("나타낼거"); ê°’ì„ ìž…ë ¥ë°›ì•„ ë³€ìˆ˜ì— ì €ìž¥í•˜ëŠ”ê±°: scanf("%data type", &variable); 오류 ì•ˆë‚˜ê²Œí•˜ë ¤í•œë‹¤ë©´ ìƒë‹¨ì— 있는 ë¼ì´ë¸ŒëŸ¬ë¦¬ í˜¸ì¶œë¶€ë¶„ì— #pragma warning(disable:4996) ì´ë¼ê³ ì³ì¤˜ì•¼ë¨. ì¦ê°,ê°ì†Œ ì—°ì‚°ìž: int i = 0; i++; //iê°’ 1 ì¦ê°€ i--; //iê°’ 1 ê°ì†Œ 만약 ì–´ë–¤ ì¡°ê±´ì¼ë•Œ ë˜ í•˜ê³ ì‹¶ë‹¤ë©´?! if(ì¡°ê±´1){ì¡°ê±´1ì— ë§žì„때 í•˜ê³ ì‹¶ì€ê±°} else(ì¡°ê±´2){ì¡°ê±´2ì— ë§žì„때 í•˜ê³ ì‹¶ì€ê±°} else if(ì¡°ê±´3){ì¡°ê±´3ì— ë§žì„때 í•˜ê³ ì‹¶ì€ê±°} 만약 ì–´ë–¤ ì¡°ê±´ì¼ë•Œ ê³„ì† ë˜ ë°˜ë³µí•˜ê³ ì‹¶ë‹¤ë©´?! while(ì¡°ê±´){ì¡°ê±´ì— ë§žì„때 í•˜ê³ ì‹¶ì€ê±°} //ì¡°ê±´ì´ ì°¸ì´ë©´ 무한반복, 즉 무한루프가 ë˜ì–´ íƒˆì¶œí• ìˆ˜ 없다! í¬ì•…! switch case문: switch(조건변수 여기서는 int cë¼ê³ 하ìž){ case 1: c=1ì¼ë•Œ í•˜ê³ ì‹¶ì€ê±°; case 2: c=2ì¼ë•Œ í•˜ê³ ì‹¶ì€ê±°; default: cê°€ ìœ„ì— ê°’ì´ ë‹¤ ì•„ë‹ë•Œ í•˜ê³ ì‹¶ì€ê±°!; } break: ì–´ë–¤ 루프를 íƒˆì¶œí•˜ê³ ì‹¶ìœ¼ë©´ ëë¼ê³ ì™¸ì¹ ê¹Œ? ë°”.로. "break; (브뤡)!!!!"ë¼ê³ 외치면 ëœë‹¤. switch case문ì—ì„œë„ case마다 break ë¼ê³ 외ì³ì•¼ ì›í•˜ëŠ” caseì˜ ìœ„ì— ìžˆëŠ” caseë“¤ì´ í˜¸ì¶œë˜ì§€ 않는다. for loop: ì´ê±´ 설명하기 힘들다. ë³´ê³ ì•Œì•„ì„œ 습ë“하ë„ë¡. for(조건변수; ì¡°ê±´; 조건변수 ì¦ê°/ê°ì†Œ){ì¡°ê±´ì— ë§žì„ë–„ í•˜ê³ ì‹¶ì€ê±°} ex) for(int i = 1; i<10; i++){printf("%d", i);} ê²°ê³¼: 123456789 (9번 ì¶œë ¥ì´ ëœë‹¤) 새싹 재밌었어요ㅎㅎ }}} ---- [새싹êµì‹¤/2015] [새싹êµì‹¤/2015/새벽반]