http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1748 [º¹»ç]
ÃâÀú= ¶§¸±²¨¾ß
*----------------------------------------------------------------------------------------------------------*
ÀÌ Ä«Å×°í¸®´Â ±×µ¿¾È ¹è¿ü´ø°ÍÀ̶ó´ø°¡ °øºÎÇÏ¸é¼ ¾Ë°ÔµÈ ³»¿ëµéÀ» Áß½ÉÀ¸·Î Ȥ¿© Âü°í°¡ µÉ ¼ö ÀÖÀ»±î ½ÍÀº ³»¿ëµéÀ»
¸ð¾ÆµÐ °÷ÀÔ´Ï´Ù. µû¶ó¼ ÀÌ ±ÛµéÀ» ´ë»óÀÌ µÇ´Â ºÐµéÀº.. ÇÁ·Î±×·¡¹ÖÀ» °« ½ÃÀÛÇ߰ųª °³³äÀÌ ¸¶±¸¸¶±¸ Èçµé¸®½Ã´Â ºÐµé
Á¤µµ°¡ µÇ°Ú½À´Ï´Ù. ±×·¯´Ï ³Ê¹« ¿åÇÏÁö´Â ¸»¾ÆÁÖ¼¼¿ä =_=;;;
Ȥ½Ã Á¦°¡ À߸ø ¾Ë°í ÀÖ´Â ºÎºÐµéÀ̶ó´ø°¡ ±Ã±ÝÇÑ °ÍÀÌ ÀÖÀ¸¸é ÂÊÁö ³²°ÜÁֽðųª ¸®ÇÃÀ» ´Þ¾ÆÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù.
*----------------------------------------------------------------------------------------------------------*
À̹ø ½ºÅ͵ð ÁÖÁ¦·Î´Â ¾Ë¸é °·ÂÇÑ 3Ç׿¬»êÀÚ¿¡ ´ëÇØ ¾Ë¾Æº¼±î ÇÕ´Ï´Ù.
C Ç¥ÁØ¿¡´Â ²Ï ¸¹Àº ¿¬»êÀÚ°¡ Àִµ¥ º¸Åë ¿ì¸®°¡ ¾²´Â °ÍÀº ÁÖ·Î ÀÌÇ× ¿¬»êÀÚÀÔ´Ï´Ù. ´ÜÇ× ¿¬»êÀÚµµ ¸¹ÀÌ »ç¿ëµÇ±ä ÇÕ´Ï´Ù¸¸, ÀÌÇ× ¿¬»êÀÚ¿¡ ºñÇÏ¸é ±×¸® ¸¹ÀÌ ¾²´Â ÆíÀº ¾Æ´ÏÁö¿ä.
´ëÇ¥ÀûÀÎ ´ÜÇ׿¬»êÀÚ¿¡´Â Áõ°¡(++)¿¬»êÀÚ¿Í °¨¼Ò(--)¿¬»êÀÚ°¡ ÀÖ°í, ´ëÇ¥ÀûÀÎ ÀÌÇ׿¬»êÀÚ¿¡´Â ´ëÀÔ(=)¿¬»êÀÚ¿Í »çÄ¢¿¬»êÀÚ, ºñ±³¿¬»êÀÚ µîÀÌ ÀÖÁö¿ä. ÀÌ·¯ÇÑ ¿¬»êÀÚµéÀº ¸¹ÀÌ »ç¿ëÀ» ÇÏ°í Àֱ⠶§¹®¿¡ µû·Î ¾ð±Þ ÇÒ ÇÊ¿ä´Â ¾øÀ» °Í °°½À´Ï´Ù.
±×·¯³ª 3Ç× ¿¬»êÀÚÀÇ °æ¿ì, ¿ëµµ´Â ¹°·ÐÀÌ°í °³³äÁ¶Â÷ ¸ð¸£´Â ºÐµéÀÌ »ý°¢º¸´Ù ¸¹Àº °ÍÀ¸·Î ¾Ë°í ÀÖ½À´Ï´Ù. ¾È´Ù°í ÇØ ºÁ¾ß C¸¦ óÀ½ ¹è¿ï¶§ ¿¬»êÀÚÀÇ Á¾·ù¿Í ¿ì¼±¼øÀ§¸¦ ¹è¿ì¸é¼ ¿Ü¿ì´Â Á¤µµ¿¡¼ ±×Ä¡´Â ºÐµéÀÌ ´ëºÎºÐÀÌÁö¿ä.
¿Ö ±×·²±î¿ä?
¾Æ¸¶µµ 3Ç× ¿¬»êÀÚ´Â ´ëü °¡´ÉÇÑ Äڵ带 ¸¸µé ¼ö Àֱ⠶§¹®¿¡ ±× ¿ëµµ¸¦ Àß ¸ð¸£°í Áö³ªÄ¡±â ½¬¿î ±î´ßÀÏ°Ì´Ï´Ù.
±×·¸´Ù¸é 3Ç× ¿¬»êÀÚ°¡ ¹«¾ùÀ̳Ä? ±×¸®°í ¿Ö ±×°É ±»ÀÌ ¹è¿ö¾ß ÇÏ´À³Ä?
3Ç׿¬»êÀÚ¶õ ¸» ±×´ë·Î 3°³ÀÇ ÇÇ¿¬»êÀÚ¸¦ ÇÊ¿ä·ÎÇÏ´Â ¿¬»êÀÚÀÔ´Ï´Ù. ±×¸®°í 3Ç× ¿¬»êÀÚ´Â µü ÇÑ°¡Áö¸¸ Á¸ÀçÇÕ´Ï´Ù.
[ ? : ] ·Î ±¸¼ºÀÌ µÈ ¿¬»êÀÚ ÀÌÁö¿ä. ´ë°³ ¾Æ·¡¿Í °°Àº ½ÄÀ¸·Î ¼³¸íÀÌ µÇ°ï ÇÕ´Ï´Ù.
condition ? exp1 : exp2; // conditionÀÌ ÂüÀ϶§ exp1À» ½ÇÇàÇÏ°í °ÅÁþÀ϶§ exp2¸¦ ½ÇÇàÇÑ´Ù.
¼³¸í¸¸À» ³õ°í ºÃÀ»¶© ¸ðµç ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ ±âÃÊ ÁßÀÇ ±âÃÊÀÎ if/else ¹®À» »ç¿ëÇÏ´Â °Í°ú ´Ù¸¥°Ô ¹»±î?¶ó´Â Á¤µµ ¹Û¿¡´Â »ý°¢Çϱâ Èûµì´Ï´Ù.
³× ¸Â½À´Ï´Ù. ±×³É º¸±â¿¡µµ »ïÇ× ¿¬»êÀÚ´Â if/else¹®ÀÇ Ãà¾àÆÇÀÔ´Ï´Ù. ½ÇÁ¦·Îµµ »ïÇ× ¿¬»êÀÚÀÇ ? ´Â if ¸¦ ÀǹÌÇÏÁö¿ä.
À§ ½ÄÀ» if/else·Î Ç®¾î º»´Ù¸é
if( condition )
exp1;
else
epx2;
¿Í ºñ½ÁÇÑ Àǹ̰¡ µË´Ï´Ù.
ÇÏÁö¸¸ ´ÜÁö ±×°Í»ÓÀ̶ó°í ÇÑ´Ù¸é ±»ÀÌ »ïÇ× ¿¬»êÀÚ¸¦ ½á¾ß¸¸ ÇÒ ÇÊ¿ä´Â ¾ø°ÚÁö¿ä. ÁøÁ¤ »ïÇ× ¿¬»êÀÚÀÇ À§·ÂÀÌ ³ªÅ¸³ª´Â °ÍÀº ´Ü¼øÇÑ ½ÇÇàÀÇ Àǹ̷μ°¡ ¾Æ´Ï¶ó, Á¶°Ç¿¡ µû¶ó ƯÁ¤ °ªÀ» ¹ÝȯÇÏ°íÀÚ ÇÒ ¶§ ÀÔ´Ï´Ù.
°¡Àå ´ëÇ¥ÀûÀÎ »ç¿ë ¿¹°¡ µÎ ¼ö¸¦ ºñ±³ÇÏ¿© Å«°ª ¶Ç´Â ÀÛÀº °ªÀ» ±¸ÇÏ´Â °æ¿ìÀÔ´Ï´Ù.
À̸¦ if/else·Î ±¸ÇöÇÒ °æ¿ì¿¡´Â
int max;
if(Num1>Num2)
max = Num1;
else
max = Num2;
°£´ÜÇÏÁö¿ä? if/else ±¸¹®À¸·Î ±¸¼º ÇÒ ¼ö ÀÖ´Â °¡Àå ªÀº ÄÚµåÀÔ´Ï´Ù.
±×·±µ¥ Çѹø »ý°¢ ÇØ º¾½Ã´Ù. ÀÌ·± ½ÄÀ¸·Î ¾µ ¼ö´Â ¾ø´Â°É±î¿ä?
max = if(Num1>Num2)
Num1;
else
Num2;
ÇÏÁö¸¸, ¾Æ½±°Ôµµ Àú·± ¹æ¹ýÀº ºÒ°¡´É ÇÏÁö¿ä. if´Â ´Ü¼øÈ÷ ºÐ±â¸¸À» ÁöÁ¤ÇØ ÁÙ »Ó ¸®ÅÏ°ªÀ» ¹ÝȯÇØ ÁÖÁö ¾Ê±â ¶§¹®Àä, ±×·¯³ª »ïÇ× ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¸é ´õ ªÀº Äڵ尡 °¡´ÉÇÕ´Ï´Ù. ¿Ö³ÄÇÏ¸é »ïÇ× ¿¬»êÀÚ°¡ ¹Ù·Î À§¿Í °°Àº, ¿ì¸®°¡ ¹Ù¶ó´Â ±â´ÉÀ» °®´Â ¿¬»êÀÚÀ̱⠶§¹®ÀÔ´Ï´Ù.
À§ ÄÚµå´Â ÀÌ·¸°Ô ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù
max = Num1>Num2 ? Num1 : Num2
»ïÇ× ¿¬»êÀÚ´Â ¹Ýȯ°ªÀÌ Á¸ÀçÇÑ´Ù´Â ÀÌÀ¯¸¸À¸·Îµµ Á¸Àç °¡Ä¡°¡ ÃæºÐÇØ Áý´Ï´Ù.
¶Ç ÇÑ°¡Áö ¾ÆÁÖ ÁÁÀº ¿¹°¡ ¹Ù·Î ÇǶó¹Ìµå ±×¸®±âÀÔ´Ï´Ù.
¹Ýº¹¹®À» ¹è¿ï¶§ ÁÖ·Î ¿¬½ÀÇÏ°Ô µÇ´Â ¿¹Á¦µéÀÎ ¿©·¯°¡ÁöÀÇ ÇǶó¹Ìµåµé Áß¿¡¼ ¾Æ·¡¿Í °°Àº ¸ð¾çÀ» ¸¸µç´Ù°í ÇßÀ»¶§
*****
*****
*****
*****
*****
º¸ÅëÀº ¾Æ·¡¿Í °°Àº Äڵ带 ÀÛ¼ºÇÏ°Ô µË´Ï´Ù.
for( i=0; i<5; i++ )
{
for( j=0; j<5; j++ )
{
if( j>i )
printf( "*" );
else
printf( " " );
}
printf( "\n" );
}
±²ÀåÈ÷ °£´ÜÇÑ ¿¹Á¦ ÀÌÁö¿ä? Á¶±Ý¸¸ »ý°¢ ÇØ º¸¸é ½±°Ô © ¼ö ÀÖ´Â ÄÚµå ÀÔ´Ï´Ù.
ÀÚ, ±×·³, ¿©±â¼ »ïÇ× ¿¬»êÀÚ´Â ¾îµð¿¡ ¾²±æ·¡ ±×·¯³ª? ¶ó°í ÇϽðÚÁÒ? ¹Ù·Î ½ÇÀü¿¡ µé¾î°©´Ï´Ù.
À§ÀÇ Äڵ忡¼ ¿ì¸®´Â printf( "*" ); ¿Í printf( " " ); ¸¦ »ç¿ëÇؼ º°°ú °ø¹éÀ» Ç¥½ÃÇϵµ·Ï ¸¸µé¾ú´Âµ¥¿ä, ¿©±â¿¡ »ïÇ× ¿¬»êÀÚ¸¦ »ç¿ëÇÏ°Ô µÇ¸é, ¾î¶»°Ô µÉ±î¿ä?
printf( j>i?"*":" " );
°ú¿¬ Àß µ¿ÀÛÀ» ÇÒ±î¿ä? ½ÇÇè ÇØ º¾½Ã´Ù.
----------------------------------------------------------------------------------
for( i=0; i<5; i++ )
{
for( j=0; j<5; j++ )
{
printf( j>i?"*":" " );
}
printf( "\n" );
}
----------------------------------------------------------------------------------
****
***
**
*
----------------------------------------------------------------------------------
¿¡·¯ ¾øÀÌ Àß µ¿ÀÛÀ» ÇÏ°í ÀÖ±º¿ä. ±×¸®°í ÀÌ·±°Íµµ °¡´ÉÇÕ´Ï´Ù.
printf( cls?"[ÃÑÁ¡:%d]":"[Æò±Õ:%d]", cls?total:aver );
À§ ÄÚµå´Â Ŭ·¡½º°¡ true¶ó¸é ÃÑÁ¡À», false¶ó¸é Æò±ÕÀ» Ãâ·ÂÇϵµ·Ï ÇÏ´Â ¿¹Á¦ ÀÔ´Ï´Ù. ±×·¯³ª Á» º¸±â°¡ ÆíÇÏÁö´Â ¾ÊÁÒ?
µµ´ëü ¹¹¿¡ ¸ÂÃá Æ÷¸äÀÎÁöµµ ¸ð¸£°Ú°í, ¾Æ¹«Æ° Àбâ ÆíÇÑ ¹æ¹ýÀº ¾Æ´Õ´Ï´Ù. ±×·¡¼ ÀÌ°É Á¶±Ý Á¤¸® ÇØ º¸°Ú½À´Ï´Ù.
printf( "[%s:%d]", cls?"ÃÑÁ¡":"Æò±Õ", cls?total:aver );
ÀÏ´Ü Æ÷¸äÀº Æ÷¸ä´ë·Î, Ãâ·Â º¯¼öµéÀº º¯¼öµé ´ë·Î µû·Î ¸ð¾Æ µÎ¾ú½À´Ï´Ù.
»ç½Ç À§¿Í °°Àº °æ¿ì¿¡ »ç¿ëÇϱ⿣ ÄÚµå ÁÙ ¼ö¸¦ ÁÙÀÌ´Â °Í ¿Ü¿£ ±×´ÙÁö ¸Þ¸®Æ®°¡ ¾øÀ¸¹Ç·Î ±»ÀÌ ¾µ ÇÊ¿ä´Â ¾ø½À´Ï´Ù¸¸, ¸¸¾à 6~7°³ÀÇ Æ÷¸äÀÌ ÇѲ¨¹ø¿¡ ³ª¿À´Âµ¥ ±× Áß¿¡ °Ü¿ì Çѵΰ¡Áö Á¤µµ¸¸ Á¶°Ç¿¡ µû¶ó ¹Ù²î¾î¾ß ÇÑ´Ù´ø°¡, °Ü¿ì º¯¼ö Çϳª ¶§¹®¿¡ if/else¹®À» ³ª´©¾î¾ß¸¸ ÇÏ´Â °æ¿ì°¡ »ý±æ¶§ µîÀº ¸Å¿ì À¯¿ëÇÕ´Ï´Ù.
¿¹¸¦µé¾î ÁÖ¼Ò·Ï °°Àº ÇÁ·Î±×·¥¿¡¼ ´ÙÀ½°ú °°Àº ¾ç½ÄÀ¸·Î Ãâ·ÂÀ» ÇÑ´Ù°í »ý°¢Çغ¾½Ã´Ù.
| À̸§ | ¼ºº° | ³ªÀÌ | »ýÀÏ | ÀüȹøÈ£ | Çб³/Á÷Àå | ÁÖ¼Ò |
´ëÃæ ¿¹»ó µÇ´Â Æ÷¸äÀº ¾Æ·¡¿Í °°À»°Ì´Ï´Ù.
( "| %s | %s | %d | %d¿ù %dÀÏ | %s | %s | %s |", name, sex, age, birthM, birthD, phone, job, addr );
ÀÌ ¿ä¼Òµé Áß¿¡¼ À̸§°ú ³ªÀÌ, »ýÀÏ, ÀüȹøÈ£, Çб³/Á÷Àå, ÁÖ¼ÒÀÇ °æ¿ì´Â ´Ù °íÀ¯ÇÑ ¼ýÀÚ³ª ¹®ÀÚ·Î ±â·ÏÀ» Çؾ߰ÚÁö¸¸, ¼ºº°ÀÇ °æ¿ì´Â ³²/¿© ´Ü µÎ°¡Áö¹Û¿¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. ´Ù¸¥ ¿ä¼ÒµéÀº ¾î¿ ¼ö ¾øÀÌ ´Ù ¹®ÀÚ³ª ¼ýÀÚ·Î ÀúÀåÀ» ÇØ¾ß ÇÑ´Ù°í Çصµ, ¼ºº°±îÁö ±»ÀÌ ¹®ÀÚ¿(ƯÈ÷ ÇѱÛÀº 2byte¹®ÀÚÀ̱⠶§¹®¿¡ ¹®ÀÚ¿·Î ÀúÀåµÊ)·Î ÀúÀåÇÏ´Â °ÍÀº ±²ÀåÇÑ ¸Þ¸ð¸® ³¶ºñ°¡ µË´Ï´Ù. ±×·¡¼ ÁÖ·Î ¼ºº°À» ÀúÀåÇÒ °æ¿ì¿¡´Â boolen °ªÀ¸·Î ÀúÀåÀ» ÇÏ°Ô µÇ´Âµ¥, À̸¦ Ç¥ÇöÇÏ°íÀÚ ÇÒ¶§°¡ ¹®Á¦°¡ µË´Ï´Ù.
¼ºº°¿¡ µû¶ó (³²ÀÚ¸¦ true¶ó ÇßÀ»¶§)
if( sex )
printf( "| %s | ³² | %d | %d¿ù %dÀÏ | %s | %s | %s |", name, age, birthM, birthD, phone, job, addr );
else
printf( "| %s | ¿© | %d | %d¿ù %dÀÏ | %s | %s | %s |", name, age, birthM, birthD, phone, job, addr );
¶ó°íÇؼ if/else¹®À¸·Î °¡¸£´Â °Ç »ó´çÈ÷ ¼Ò¸ðÀûÀ¸·Î º¸À̱¸¿ä, ±×·¸´Ù°íÇؼ
printf( "| %s |", name );
if( sex )
printf( " ³² |" );
else
printf( " ¿© |" );
printf( " %d | %d¿ù %dÀÏ | %s | %s | %s |", age, birthM, birthD, phone, job, addr );
¶ó°í Á¶°¢³»¼ Ãâ·ÂÇÏÀÚ´Ï, À̰͵µ ÀÌ°Í ³ª¸§´ë·Î ¿ô±é´Ï´Ù.
±×·¡¼ ÀÌ·²¶§ »ïÇ× ¿¬»êÀÚ¸¦ ¾²¸é ¸Å¿ì °£°áÇÏ°Ô Ç¥ÇöÀÌ µË´Ï´Ù.
( "| %s | %s | %d | %d¿ù %dÀÏ | %s | %s | %s |", name, sex?"³²":"¿©", age, birthM, birthD, phone, job, addr );
°£´ÜÈ÷ Á¤¸®°¡ µÇ¾úÁÒ?
¸¶Áö¸·À¸·Î ÇÑ°¡Áö ÀÀ¿ë ÇÑ°¡Áö.
µÎ¼öÀÇ ÃÖ´ë°ªÀ» ±¸ÇÏ´Â ÄÚµå´Â À§¿¡ ¼³¸íÇßÀ¸´Ï ¼¼ ¼ö Áß ÃÖ´ë°ªÀ» ±¸ÇÏ´Â ÄÚµå´Â ¾î¶»°Ô ÀÛ¼º ÇÒ ¼ö ÀÖÀ»±î¿ä?
ÀÌ°Í ¿ª½Ã »ïÇ× ¿¬»êÀÚ¸¦ Áߺ¹½ÃÅ°¸é ±²ÀåÈ÷ °£´ÜÈ÷ ³¡³³´Ï´Ù.
´äÀ» º¸½Ã±â Àü¿¡ ¸ÕÀú if/else¹®À¸·Î ¼¼ ¼öÀÇ ÃÖ´ë°ªÀ» ±¸ÇÏ´Â Äڵ带 ÀÛ¼ºÇØ º¸¼¼¿ä.
±×¸®°í »ïÇ× ¿¬»êÀÚ¸¦ »ç¿ëÇØ ±¸ÇÏ´Â Äڵ带 ÀÛ¼º ÇØ º¸½Å ÈÄ ´ä°ú ºñ±³ ÇØ º¸¼¼¿ä.
max = (Num1>Num2) ? (Num1>Num3)?Num1:Num3 : (Num2>Num3)?Num2:Num3;
½ÇÁ¦·Î °í¼öµéÀÌ Â¥ ³õÀº ÄÚµåµéÀ» º¸¸é, ƯÈ÷ ·çÇÁ°¡ ´Ù¼ö µîÀåÇÏ°í, ¸¹Àº ºñ±³¸¦ ÇÊ¿ä·Î ÇÏ´Â ÄÚµåµéÀ» Àß ´«¿©°Ü º¸½Ã¸é °÷°÷¿¡ »ïÇ× ¿¬»êÀÚ°¡ ¾²¿©ÀÖ´Â °ÍÀ» È®ÀÎ ÇÏ½Ç ¼ö ÀÖÀ»°Ì´Ï´Ù.
ÀÌ·¸°Ô º°°Í ¾Æ´Ñ °Í °°¾Æ º¸ÀÌ´Â ¿¬»êÀÚ Çϳªµµ, ¸ðÀÌ¸é ¾î¸¶¾î¸¶ÇÑ Â÷À̸¦ ³º°Ô µÇ´Â°ÍÀ̶ø´Ï´Ù.
¸¹ÀÌ ½á º¸¼¼¿ä. ±×°ÍÀÌ ¹Ù·Î Ãʺ¸¸¦ ¹þ¾î³ª´Â Áö¸§±æÀÌ µË´Ï´Ù.
»ïÇ× ¿¬»êÀÚ¿¡ ´ëÇÑ ¼Ò°³´Â ¿©±â±îÁö ³¡³»±â·Î ÇÏ°í, ´ÙÀ½À¸·Î´Â ¹Ýº¹¹®¿¡ ´ëÇؼ ¾Ë¾Æº¼±î ÇÕ´Ï´Ù.
±×·³ ´ÙÀ½ ½ºÅ͵𿡼 ºË°Ú½À´Ï´Ù.
|
Hit : 20261 Date : 2011/05/01 11:36
|