http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=221 [º¹»ç]
(5) ŸÀÔ Ä³½ºÆÃ
ÀÌÁ¦ ġȯ ¿¬»êÀÚµµ ´Ù ³¡³µ½À´Ï´Ù. ±×·±µ¥ ¹è¿ï°ÍÀÌ Çϳª ´õ Àִµ¥ ±×°É ¹è¿ì±â Àü¿¡ ´ÙÀ½°ú °°Àº
°æ¿ì¸¦ »ý°¢ÇØ º¾½Ã´Ù.
¸¸¾à intÇü°ú unsigned longÇüŸ¦ °°ÀÌ °è»êÇÏ¸é ¾î¶»°Ô µÉ±î¿ä?
ÀÚ·áÇüÀÇ ÇüÅ°¡ ´Ù¸£´Ï À߸øÇϸé À߸øµÈ °á°ú°¡ ³ª¿Ã¼öµµ ÀÖ½À´Ï´Ù.
ÀÌ·²¶§´Â µ¥ÀÌÅÍ ÇüÅÂÀ» ÀϽÃÀûÀ¸·Î º¯°æ½ÃÄÑ ÁÖ¸é µÇ´Âµ¥ ÀÌ·¸°Ô ÀϽÃÀûÀ¸·Î µ¥ÀÌÅÍ ÇüŸ¦ ¹Ù²ãÁÖ´Â °ÍÀ» ŸÀÔij½ºÆÃ(Typecasting) À̶ó°í ÇÕ´Ï´Ù.
C¿¡¼ ŸÀÔij½ºÆÃÀ» ÇÏ·Á¸é ŸÀÔij½ºÆà ¿¬»êÀÚ¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ±×·±µ¥ ŸÀÔij½ºÆà ¿¬»êÀÚ´Â ¾ÆÁÖ °£´ÜÇÕ´Ï´Ù. ŸÀÔ ÇüÅ Ű¿öµåµé Áï int, char, floatµîµîÀÌ Å¸ÀÔij½ºÆà ¿¬»êÀÚ ±â´É±îÁö ÇØ Áֱ⠶§¹®ÀÌÁÒ.
ŸÀÔij½ºÆà ¹æ¹ýÀº (ŸÀÔ)µ¥ÀÌÅÍ ÀÌ·¸°Ô Çϸé ŸÀÔij½ºÆÃÀÌ µÊ´Ï´Ù.
¿©±â¼ ŸÀÔÀº ¹Ù²Ü ÇüÅÂÀÇ Å¸ÀÔij½ºÆà ¿¬»êÀÚ ÀÌ°í µ¥ÀÌÅÍ´Â ÇüŸ¦ ¹Ù²Ü µ¥ÀÌÅÍ Àε¥ º¯¼ö³ª »ó¼ö°¡ ¿Ã¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ ¼ö½ÄÀÌ ¿Íµµ »ó°ü ¾ø½À´Ï´Ù.
¿¹¸¦ µé¾îº¸ÁÒ
int a=10;
unsigned long=b,c;
c=(unsigned long)a+b;
ÀÌ ¼Ò½º´Â intÇüÀÎ a¸¦ unsigned long·Î ŸÀÔij½ºÆà Çؼ unsigned longÇüÅÂÀÎ b¿Í ´õÇØ c¿¡ ³Ö´Â °Í ÀÔ´Ï´Ù.
ÀÌÁ¦ ÀÌÇØ°¡ µÇ¼Ì°ÚÁÒ??
(6) Á¢¹Ì»ç
ÇÑ°¡Áö ¿©±â¼ ¾Ë°í ³Ñ¾î°¥ °ÍÀÌ Àִµ¥ (»ç½Ç Áö±Ý ¼³¸íÇÒ°Ç ¿¬»êÀÚ¿Í´Â »ó°ü ¾ø´Â °ÅÁö¸¸....)
»ó¼öÁß ½ÇÀç°ªÀº Á¤¼öÀÇ °æ¿ì ¹«Á¶°Ç signedÇüÅ·ΠÀνÄÇÏ°í intÇüÅ ¹üÀ§ ³»¿¡ °ªÀ̸é intÇüÀ¸·Î ÀνÄÇÏ¸ç ±×°ÍÀ» ¹þ¾î³ª¸é longÇüÀ¸·Î ÀνÄÇÏ°Ô µË´Ï´Ù. ±×¸®°í ¼Ò¼öÀÇ °æ¿ì´Â ¹«Á¶°Ç double·Î ÀνÄÇÏÁÒ
±×·¯¹Ç·Î »ó¼ö´Â ŸÀÔ Ä³½ºÆÃÀÌ ¸¹ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
¸¸¾à 123À̶õ »ó¼ö°¡ ÀÖ´Ù°í ÇսôÙ.
ÀÌ°Ç intÇüÅ ¹üÀ§ ³»¿¡ ÀÖÀ¸¹Ç·Î signed int·Î ÀνĵʴϴÙ.
±×·±µ¥ ÀÌ°É unsigned long·Î ŸÀÔij½ºÆà ÇÏ·Á¸é
(unsigned long)123
ÀÌ·¸°Ô ÇÏ¸é µÊ´Ï´Ù ÇÏÁö¸¸, ÀÌ ¹æ¹ýº¸´Ù ÆíÇÑ ¹æ¹ýÀÌ Àִµ¥ 123À» ±×³É unsigned longÇüÅ·ΠÀνĽÃÅ°´Â °ÍÀÌÁÒ. ±×·¸°Ô Çϱâ À§Çؼ± Á¢¹Ì»ç¸¦ ¾²¸é µÊ´Ï´Ù.
Á¢¹Ì»ç¿¡´Â L,F,UÀÇ 3°¡Áö°¡ ÀÖ½À´Ï´Ù. ±×¸®°í ´ë¼Ò¹®ÀÚ ±¸º°Àº ¾ø½À´Ï´Ù.
LÀº long¸¦, F´Â float¸¦, U´Â unsigned¸¦ ÀÇ¹Ì ÇÕ´Ï´Ù.
±×·¯¹Ç·Î À§¿¡ °ÍÀ»
123UL
ÀÌ·¸°Ô ¼ ÁÖ¸é ÀÌ 123Àº unsigned long·Î ÀνĵǾî ŸÀÔ Ä³½ºÆÃÀÌ ÇÊ¿ä°¡ ¾ø¾î Áý´Ï´Ù.
Previous:ÀÔÃâ·ÂÇÔ¼ö 2 (¹®ÀÚ¹× ¹®ÀÚ¿ÀÔÃâ·Â)
Next:¿¬»êÀÚ 2 (°ü°è.³í¸®.ºñÆ®.±âŸ ¿¬»êÀÚ)
À̹ø °Á¿¡¼´Â Àú¹ø¿¡ ¹è¿ìÁö ¸øÇÑ ¿¬»êÀÚÀÎ °ü°èÇü ¿¬»êÀÚ, ³í¸® ¿¬»êÀÚ, ºñÆ®º° ¿¬»êÀÚ µî¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
# °ü°èÇü ¿¬»êÀÚ.
°ü°èÇü ¿¬»êÀÚ´Â ..º¸Å¸ Å©´Ù, ..º¸´Ù ÀÛ´Ù, ..¿Í °°´Ù, ..¿Í °°Áö ¾Ê´Ù µîµî.. ¾î¶² µ¥ÀÌÅ͵éÀ» ºñ±³ÇÒ¶§ ¾²ÀÌ´Â ¿¬»êÀÚ ÀÔ´Ï´Ù.
ÁÖ·Î Á¦¾î ±¸Á¶, ƯÈ÷ if¹®¿¡¼ ¾²ÀÌÁö¸¸ ²À ±×·±°ÍÀº ¾Æ´Ô´Ï´Ù.
¿ì¼± °ü°èÇü ¿¬»êÀÚ¿¡´Â ¾î¶²°ÍÀÌ ÀÖ´ÂÁö ¾Ë¾Æº¸ÁÒ.
°ü°èÇü ¿¬»êÀÚ¿¡´Â
------------------------------
== ..¿Í °°´Ù
> ..º¸´Ù Å©´Ù
< ..º¸´Ù ÀÛ´Ù
>= ..º¸´Ù Å©°Å³ª °°´Ù.
<= ..º¸´Ù À۰ųª °°´Ù.
!= ..¿Í ´Ù¸£´Ù.
------------------------------
´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ½À´Ï´Ù.
±×·³ °¢ ¿¬»êÀÚµéÀÇ ÀÌÇظ¦ µ½±â À§ÇØ ´ÙÀ½ Ç¥¸¦ º¸½Ã±â ¹Ù¶ø´Ï´Ù.
-----------------------------------
a == b a¿Í b°¡ °°´Ù
a > b a°¡ bº¸´Ù Å©´Ù
a < b a°¡ bº¸´Ù ÀÛ´Ù
a >= b a°¡ bº¸´Ù Å©°Å³ª °°´Ù.
a <= b a°¡ bº¸´Ù À۰ųª °°´Ù.
a != b a¿Í b°¡ ´Ù¸£´Ù.
-----------------------------------
ÀÌ°É º¸½Ã¸é ÀÌÇØ°¡ µÇ ½Ç°Ì´Ï´Ù. ±×·±µ¥ ´ëºÎºÐÀÇ ¿¬»êÀÚµéÀº ¾î¶² °ªÀ» µ¹·ÁÁÖÁÒ.
¿¹¸¦ µé¾î +¿¬»êÀÚ´Â µÎ°³ÀÇ °ªÀ» ´õÇØ µ¹·Á ÁÖÁÒ.
±×·¯¸é ÀÌ °ü°èÇü ¿¬»êÀÚ´Â ¹«¾ùÀ» µ¹·Á ÁÙ±î¿ä?
µ¹·ÁÁÖ´Â °ªÀº 0°ú 1Áß ÇÑ°¡Áö ÀÔ´Ï´Ù.
°ü°èÇü ¿¬»êÀÚ°¡ ¾²ÀÎ ¼ö½ÄÀ» º¸¸é ¾î¶² Á¶°ÇÀ» ³ªÅ¸³»°í ÀÖÀ½À» ¾Ë°ÔµÇ½Ç °Ì´Ï´Ù.
±× ¼ö½ÄÀÌ ÂüÀ̸é 1À» µ¹·ÁÁÖ°í, °ÅÁþÀ̸é 0À» µ¹·ÁÁÖÁÒ.
¿¹¸¦ µé¾î
a=1==2;
ÀÌ·± ¹®ÀåÀÌ ÀÖ´Ù°í ÇսôÙ. ±×·³ a¿¡´Â ¾î¶² °ªÀÌ µé¾î°¥±î¿ä?
'1°ú 2´Â °°´Ù' <- ÀÌ°Ç °ÅÁþÀ̹ǷΠa¿¡´Â 0ÀÌ µé¾î°¡°ÚÁÒ?
# ³í¸® ¿¬»êÀÚ.
³í¸® ¿¬»êÀÚ´Â ¾Æ±î °ü°è ¿¬»êÀÚÀÇ ¼ö½Ä µÎ°¡Áö¸¦ ³í¸®ÀûÀ¸·Î ¿¬°ü½ÃÅ°´Â ¿¬»êÀÚ ÀÔ´Ï´Ù.
½±°Ô ¸»ÇÏÁö¸é °ü°èÇü ¿¬»êÀÚ·Î Á¶°ÇÀÌ ¸¸µé¾î Áö´Âµ¥ ÀÌ·± Á¶°Ç µÎ°³°¡ µ¿½Ã¿¡ ¸¸Á·ÇؾßÇÒ °æ¿ì°¡ ÀÖ´Ù°í ÇսôÙ. ±×·² °æ¿ì ÀÌ ³í¸® ¿¬»êÀÚ¸¦ ¾²¸é µÊ´Ï´Ù.
³í¸® ¿¬»êÀÚ¿¡´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ½À´Ï´Ù.
--------------
&& AND
|| OR
! NOT
--------------
°¢°¢ÀÇ Àǹ̴ À§¿¡ ¾²¿©Áø ±×´ë·ÎÀε¥
ÀÌ°É º¸¼¼¿ä ±×·±µ¥ ¿©±â¼ a¿Í b´Â °ü°èÇü ¿¬»êÀÚ·Î ¸¸µç Á¶°ÇÀ̶ó°í ÇսôÙ.
----------------------------
a && b a¿Í b¸ðµÎ ÂüÀ϶§
a || b a¶Ç´Â b°¡ ÂüÀ϶§
! a aÀÇ ¹Ý´ë
----------------------------
a && bÀÇ °æ¿ì a¶ó´Â Á¶°Ç°ú b¶ó´Â Á¶°ÇÀÌ ¸ðµÎ ÂüÀ϶§ 1À» µ¹·ÁÁÖ°í. Çϳª¶óµµ °ÅÁþÀ̸é 0À» µ¹·Á ÁÖÁÒ
a || bÀÇ °æ¿ì´Â µÑ Áß Çϳª¸¸ ÂüÀ̸é 1À» ¸ðµÎ °ÅÁþÀ϶§¸¸ 0À» µ¹·ÁÁÖÁÒ.
! aÀÇ °æ¿ì ¹Ý´ë·Î µÇ´Âµ¥
Áï ÂüÀ̸é 0À» °ÅÁþÀ̸é 1À» µ¹·ÁÁÜ´Ï´Ù. ¸¸¾à ´ÙÀ½°ú °°Àº ¹®ÀåÀÌ ÀÖ´Ù°í ÇսôÙ
a=(2>1)&&(3>1);
ÀÌ·²°æ¿ì a¿¡´Â ¾î¶² °ªÀÌ µé¾î°¥±î¿ä? ´ç¿¬È÷ 1ÀÌ µé¾î°¡ÁÒ ÇÏÁö¸¸
a=(1>5)&&(3>1);
ÀÌ·²¶© 0ÀÌ µé¾î°¡°ÚÁÒ??
# ºñÆ®º° ¿¬»êÀÚ
ºñÆ®º° ¿¬»êÀÚ´Â ºñÆ®´ÜÀ§ ¿¬»êÀ» ÇÒ¶§ ¾²ÀÌ´Â ¿¬»êÀÚ ÀÔ´Ï´Ù. ¸ÕÀú ºñÆ®º° ¿¬»êÀÚÀÇ Á¾·ù¸¦ ¾Ë¾Æº¸ÁÒ.
ºñÆ®º° ¿¬»êÀÚ¿¡´Â ´ÙÀ½°ú °°Àº °Í µéÀÌ ÀÖ½À´Ï´Ù.
------------------------------
& AND (ºñÆ®º° ³í¸®°ö)
| OR (ºñÆ®º° ³í¸®ÇÕ)
^ XOR (ºñÆ®º° ¹èŸ ³í¸®ÇÕ)
~ 1ÀÇ º¸¼ö
<< ¿ÞÂÊÀ¸·Î ½¬ÇÁÆ®
>> ¿À¸¥ÂÊÀ¸·Î ½¬ÇÁÆ®
------------------------------
´ÙÀ½°ú °°Àº °ÍµéÀÌ Àִµ¥ Çϳª¾¿ ÀÚ¼¼È÷ ¾Ë¾Æº¸ÁÒ.
(1) ºñÆ®º° ³í¸®°ö
&´Â ºñÆ® ´ÜÀ§·Î AND¿¬»êÀ» ÇÏ´Â °Çµ¥, ¿¬»êÇÏ·Á´Â µÎ °³ÀÇ ºñÆ®°¡ ¸ðµÎ 1À϶§¸¸ °á°ú°¡ 1ÀÌ µÇ°í
Çϳª¶óµµ 0ÀÌ¸é °á°ú´Â 0ÀÌ µÊ´Ï´Ù.
Á¤¸®Çϸé
------------------------------------
ù¹ø° ºñÆ® µÎ¹ø° ºñÆ® °á°ú
------------------------------------
1 & 1 1
1 & 0 0
0 & 1 0
0 & 0 0
-----------------------------------
ÀÌ·¸°Ô µÇÁÒ
ÇÑ°¡Áö ¹®Á¦¸¦ µå¸®ÁÒ
0x0F & 0xFF = ?
¾Ë¾Æ¸ÂÃç º¸¼¼¿ä.
´äÀº 0x0FÁÒ.
0x0F´Â ÀÌÁø¼ö·Î 00001111ÀÔ´Ï´Ù. 0xFF´Â 11111111ÀÌÁÒ.
±×·±µ¥ &¿¬»êÀÚ´Â ¸ðµÎ 1À϶§¸¸ 1À» µ¹·Á ÁÜ´Ï´Ù.
00001111°ú 11111111¿¡¼ ¸ðµÎ 1ÀÎ ºÎºÐÀº µÚÂÊ 4°³ÀÇ ºñÆ®ÁÒ.
±×·¯¹Ç·Î °á°ú´Â 00001111
ÀÌ°É 16Áø¼ö·Î °íÄ¡¸é 0x0F°¡ µÇÁÒ.
´Ù½Ã Á¤¸®Çϸé
-----------------------------
0x0F = 00001111
0xFF = 11111111
---------- (& ¿¬»ê)
00001111 = 0x0F
-----------------------------
ÀÌÇØ°¡ µÇ½ÃÁÒ?
(2) ºñÆ®º° ³í¸®ÇÕ
´ÙÀ½À¸·Î |¿¬»êÀÚ¿¡ ´ëÇØ ÀÚ¼¼È÷ ¾Ë¾Æº¸ÁÒ.
|´Â OR¿¬»êÀ» ÇÏ´Â °ÍÀ¸·Î &¿Í´Â ´Þ¸® µÎ°³ÀÇ ºñÆ®Áß 1°³¶óµµ 1À̸é 1À» µ¹·ÁÁÖ´Â ¿¬»êÀÚ ÀÔ´Ï´Ù.
Áï
------------------------------------
ù¹ø° ºñÆ® µÎ¹ø° ºñÆ® °á°ú
------------------------------------
1 | 1 1
1 | 0 1
0 | 1 1
0 | 0 0
------------------------------------
ÀÌ·± ¿¬»êÀ» ÇÏ´Â ¿¬»êÀÚ ÀÔ´Ï´Ù.
±×·³ À̰͵Π¹®Á¦¸¦ µå¸±±î¿ä?
¾Æ±îó·³ 0x0F¿Í 0xFF¸¦ ¾²µµ·Ï ÇÏÁÒ
±×·±µ¥ ÀÌ µÎ°³¸¦ OR¿¬»ê ÇÏ¸é ¾î¶² °á°ú°¡ ³ª¿Ã±î¿ä?
´ç¿¬È÷ 0xFFÁÒ.
ÀÌÀ¯´Â Çϳª¶óµµ 1À̸é 1À» µ¹·Á ÁֹǷÎ.
-----------------------------
0x0F = 00001111
0xFF = 11111111
---------- (| ¿¬»ê)
11111111 = 0xFF
-----------------------------
ÀÌ·¸°Ô µÇ±â ¶§¹®ÀÌÁÒ.
(3) ºñÆ®º° ¹èŸ ³í¸®ÇÕ
´ÙÀ½À¸·Î ^¿¬»êÀÚ¿¡ ´ëÇØ ¾Ë¾Æº¸ÁÒ.
^´Â ºñÆ®´ÜÀ§ ¹èŸ OR¿¬»ê Áï ºñÆ®´ÜÀ§ XOR¿¬»êÀ» ÇÏ´Â ¿¬»êÀÚ ÀÔ´Ï´Ù.
ÀÌ ¿¬»êÀÚ´Â ORºñ½ÁÇÏÁö¸¸, ´Ù¸¥Á¡Àº µÎ°³ÀÇ ºñÆ®°¡ ¸ðµÎ 1À϶§´Â 0À» µ¹·ÁÁشٴ °ÍÀÌÁÒ.
OR¿¡¼´Â 1À» µ¹·ÁÁÖÁö¸¸
Áï..
------------------------------------
ù¹ø° ºñÆ® µÎ¹ø° ºñÆ® °á°ú
------------------------------------
1 ^ 1 0
1 ^ 0 1
0 ^ 1 1
0 ^ & 0
------------------------------------ ´ÙÀ½°ú °°Àº ¿¬»êÀ» ÇÏ°Ô µÊ´Ï´Ù.
±×·³ À̹ø¿£ 0x0F¿Í 0xFF¸¦ XOR¿¬»ê ÇÏ¸é ¾î¶² °á°ú°¡ ³ª¿Ã±î¿ä?
ÀÌ°Ç
-----------------------------
0x0F = 00001111
0xFF = 11111111
---------- (| ¿¬»ê)
11110000 = 0xF0
-----------------------------
ÀÌ·¸°Ô Çؼ 0xF0ÀÌ ³ª¿À°Ô µÊ´Ï´Ù.
(4) 1ÀÇ º¸¼ö
´ÙÀ½À¸·Î ^¿¬»êÀÚ¿¡ ´ëÇØ ¾Ë¾Æº¸ÁÒ. ^´Â 1ÀÇ º¸¼ö¸¦ ±¸ÇÏ´Â ¿¬»êÀÚ·Î ±×³É ½±°Ô ºñÆ®µéÀ» ¹Ý´ë·Î
Áï 0À̸é 1·Î 1À̸é 0À¸·Î ¹Ù²ã¹ö¸°´Ù°í ¾Ë°í°è½Ã¸é µÊ´Ï´Ù.
-----------------------
ºñÆ® °á°ú
-----------------------
~ 0 1
~ 1 0
-----------------------
ÀÌ·± ¿¬»êÀ» ÇÏ´Â °ÍÀÌÁÒ.
1ÀÇ º¸¼ö ¿¬»êÀ» Àß ¾²¸é ÁÁÀºÁ¡ÀÌ ¸¹ÀÌ ÀÖ½À´Ï´Ù.
¸¸¾à ¿©·¯ºÐÀÌ unsigned long°¡ °¡Áú¼ö ÀÖ´Â °¡Àå Å« °ªÀ» ½á¾ß ÇÒ °æ¿ì ¾î¶»°Ô ÇÒ±î¿ä?
unsigned long´Â 4294967296±îÁö ³ÖÀ»¼ö Àִµ¥ ÀÌ°É Á÷Á¢ ½á¾ß ÇÒ±î¿ä?
±×·¸°Ô Çصµ µÇ°í Á»´õ ½¬¿î ¹æ¹ýÀ¸·Î 0xFFFFFFFF¶ó°í ½áµµ µÇ°ÚÁö¸¸
´õ ½¬¿î ¹æ¹ýÀº ~0À̶ó°í ¾²´Â °Í ÀÔ´Ï´Ù.
0Àº ¸ðµç ºñÆ®°¡ 0Àε¥ ÀÌ°É 1ÀÇ º¸¼ö ¿¬»êÀÚ·Î ~0À̶ó°í ¾²¸é ¸ðµç ºñÆ®°¡ 1ÀÌ µÇ¹Ç·Î °¡Àå Å«°ªÀÌ µÇ´Â °ÍÀÌÁÒ.
(5) ½¬ÇÁÆ®
´ÙÀ½À¸·Î ½¬ÇÁÆ® ¿¬»êÀÚÀÎ <<¿Í >>¿¡ ´ëÇØ ¾Ë¾Æº¸ÁÒ
<<,>>´Â ÁöÁ¤µÈ ¹æÇâÀ¸·Î ÁöÁ¤µÇ ¼ö ¸¸Å ºñÆ®¸¦ À̵¿½ÃÅ°´Â °Í ÀÔ´Ï´Ù.
¿¹¸¦ µé¾î
?? = 0xF0 >> 4;
ÀÌ·¸°Ô Çϸé 0xF0 Áï 11110000À» >>¹æÇâÀ¸·Î 4¸¸Å À̵¿½ÃÅ°´Â °ÍÀÌÁÒ
±×·¡¼ °á°ú´Â 00001111 Áï 0x0F°¡ µÊ´Ï´Ù.
¸¸¾à 1ÀÌ ¿À¸¥ÂÊ ³¡±îÁö °¬´Ù¸é ±×³É ¾ø¾îÁý´Ï´Ù.
±×¸®°í ¿ÞÂÊÀº 0À¸·Î °è¼Ó ä¿öÁö±¸¿ä.
<<µµ ÀÌ°Í°ú ¶È°°À¸³ª ¹æÇ⸸ ´Ù¸¦ »Ó ÀÔ´Ï´Ù.
ÀÌ°ÍÀ¸·Î ºñÆ®º° ¿¬»êÀÚ´Â ¸¶Ä¡µµ·Ï ÇÏÁÒ.
# ±âŸ ¿¬»êÀÚ.
´ÙÀ½À¸·Î ±âŸ ¿¬»êÀÚµéÀ» ¹è¿ö º¸±â·Î ÇÏ°Ú½À´Ï´Ù. ¿©±â¼ ¹è¿ï °Í¿¡´Â Á¶°Ç ¿¬»êÀÚ, Áõ°¨ ¿¬»êÀÚ, ±×¸®°í sizeof¿¬»êÀÚ¿Í, È¥ÇÕ ¿¬»êÀÚ°¡ ÀÖ½À´Ï´Ù.
(1) Á¶°Ç ¿¬»êÀÚ
Á¶°Ç ¿¬»êÀÚ´Â ÁÖ¾îÁø Á¶°Ç¿¡ µû¶ó ¾î¶² ¼ö½ÄÀ» ½ÇÇàÇÏ°í ±× °á°ú¸¦ µ¹·ÁÁÖ´Â ¿¬»êÀÚ ÀÔ´Ï´Ù.
»ç¿ë¹ýÀº
Á¶°Ç ? ¼ö½Ä1 : ¼ö½Ä2 ÀÌ·± ½ÄÀ¸·Î »ç¿ëÇÏÁÒ.
¿©±â¼ Á¶°ÇÀº °ü°èÇü ¿¬»êÀÚ·Î ¸¸µç Á¶°ÇÀÔ´Ï´Ù. ¿©±â¼ ¸¸¾à Á¶°ÇÀÌ ÂüÀÌ¸é ¼ö½Ä1À» ½ÇÇàÇÑ ÈÄ ±× °á°ú¸¦ µ¹·ÁÁÖ°í, °ÅÁþÀÌ¸é ¼ö½Ä2¸¦ ½ÇÇàÇÏ´Â °Í ÀÔ´Ï´Ù.
¿¹¸¦ µé¾î º¸ÁÒ.
a = 1>3 ? 1+3 : 2+6;
¿©±â¼ a¿¡ µé¾î°¡´Â °ªÀº?
1>3À̶õ Á¶°ÇÀº °ÅÁþÀ̹ǷΠµÎ¹ø° ¼ö½ÄÀÎ 2+6ÀÌ ½ÇÇàµÇ°í
°á°ú·Î 8À» µ¹·ÁÁֹǷΠa´Â 8ÀÌ µÇ°ÚÁÒ.
ÀÌ ¹®ÀåÀº
1>3 ? a=1+3 : a=2+6;
ÀÌ·¸°Ô ½áµµ »ó°ü ¾ø½À´Ï´Ù. =ÀÌ µé¾î°¡µµ ¼ö½ÄÀ̹ǷÎ
(2) Áõ°¨ ¿¬»êÀÚ
À̹ø¿£ Áõ°¨ ¿¬»êÀÚ¿¡ ´ëÇØ ¾Ë¾Æº¸ÁÒ. Áõ°¨ ¿¬»êÀÚ´Â ¾î¶° º¯¼ö¿¡ 1À» ´õÇϰųª »© ÁÖ´Â ¿¬»êÀÚÀÌÁÒ
¿¬»êÀÚ¿¡´Â
---------------------
++ 1À» Áõ°¡½ÃÅ´
-- 1À» °¨¼Ò½ÃÅ´
---------------------
ÀÌ·¸°Ô µÎ °¡Áö°¡ ÀÖ½À´Ï´Ù.
ÀÌ µÎ ¿¬»êÀÚ´Â º¯¼ö ¾ÕÀ̳ª µÚ¿¡ ºÙ¿© »ç¿ëÇÏ¸é µÇ´Âµ¥ ¾Õ¿¡ ºÙÀ϶§¿Í µÚ¿¡ ºÙÀ϶§ÀÇ Â÷ÀÌÁ¡Àº ÀÏ´Ü ³ªÁßÀ¸·Î ³Ñ±â°í
¿¹¸¦ µé¾îº¸ÁÒ.
¸¸¾à
a++;
ÀÌ·¸°Ô Çϸé a´Â 1ÀÌ Áõ°¡ÇÏ°Ô µÊ´Ï´Ù.
Áï a=a+1;°¡ µÇ´Â °ÍÀÌÁÒ.
±×¸®°í
a--;
ÀÌ·¸°Ô Çϸé a=a-1;ÀÌ µÇ´Â °Í ÀÌ°í¿ä.
±×·³ ¾Õ¿¡ ºÙÀÌ´À³Ä µÚ¿¡ ºÙÀÌ´À³Ä¿¡ Â÷À̸¦ ¾Ë¾Æº¸ÁÒ. ÀÌ Â÷ÀÌ°¡ ³ª´Â °÷Àº ¹Ù·Î ÀÌ ¿¬»êÀÚ°¡ Çϳª·Î¸¸ ¾²ÀÌÁö ¾Ê°í ¿©·¯°³ÀÇ ¿¬»êÀÚ¿Í °°ÀÌ ¾²¿´À»¶§ Â÷ÀÌ°¡ ³²´Ï´Ù.
ÀÌ ¿¬»êÀÚ¸¦ ¾Õ¿¡ ºÙÀ̸é ÀÌ ¿¬»êÀÌ °¡Àå ¸ÕÀú ¼öÇàµÇ°í ´Ù¸¥ ¿¬»êÀÌ ¼öÇàµÊ´Ï´Ù.
ÇÏÁö¸¸ ÀÌ ¿¬»êÀÚ¸¦ µÚ¿¡ ºÙÀÌ¸é ´Ù¸¥ ¸ðµç ¿¬»êÀ» ¼öÇàÇÏ°í ÀÌ ¿¬»êÀ» ¼öÇàÇÏ°Ô µÇÁÒ.
¿¹¸¦ µé¾î
int a,b=1;
a = 6 - ++b;
ÀÌ·¸°Ô ÇßÀ»¶§´Â ¾Õ¿¡ ºÙ¾úÀ¸¹Ç·Î ¿ì¼± b¸¦ 1 Áõ°¡½ÃÄÑ 2·Î ¸¸µç ÈÄ 6¿¡¼ »© a¿¡´Â 4°¡ µé¾î°¡Áö¸¸
int a,b=1;
a = 6 - b++;
ÀÌ·² °æ¿ì ¿ì¼± ´Ù¸¥ ¿¬»êºÎÅÍ Çؼ a¿¡´Â 5°¡ µé¾î°¡°í ¸¶Áö¸·À¸·Î b°¡ 1ÀÌ Áõ°¡µÇ¾î 2°¡ µÇ°Ô µÊ´Ï´Ù.
(3) sizeof¿¬»êÀÚ
À̹ø¿£ sizeof¿¬»êÀÚ¿¡ ´ëÇØ ¾Ë¾Æº¸ÁÒ. sizeof´Â ¾î¶² µ¥ÀÌÅÍ Å¸ÀÔÀ̳ª º¯¼ö, ¶Ç´Â »ó¼öÀÇ Å©±â¸¦
¹ÙÀÌÆ® ´ÜÀ§·Î ¾Ë¾Æ³»´Â ¿¬»êÀÚ ÀÔ´Ï´Ù.
»ç¿ë¹ýÀº
sizeof(µ¥ÀÌÅÍŸÀÔ) ¶Ç´Â
sizeof(µ¥ÀÌÅÍ)
¿¹¸¦ µé¾î
a=sizeof(char)
ÀÌ·¸°Ô ÇÒ °æ¿ì charÇüÅ´ 1¹ÙÀÌÆ® À̹ǷΠa´Â 1ÀÌ µÊ´Ï´Ù.
±×¸®°í
char c;
a=sizeof(c);
ÀÌ·¸°Ô Çصµ 1ÀÌ µÇÁÒ
a=sizeof(long);
ÀÌ·¸°Ô Çϸé 4¸¦ µ¹·Á ÁÖ°ÚÁÒ? ±×¸®°í ¸¸¾à ¹è¿À̶ó¸é ¹è¿ Å©±â¸¦ ¹ÙÀÌÆ® ¼ö·Î µ¹·ÁÁÜ´Ï´Ù.
¿¹¸¦ µé¾î
int array[10];
a=sizeof(array);
ÀÌ·¸°Ô ÇÒ °æ¿ì int´Â 2¹ÙÀÌÆ® ÀÌ°í 10°³ÀÇ ¹è¿À̹ǷΠ2*10=20À̹ǷΠ20À» µ¹·ÁÁÜ´Ï´Ù.
(4) È¥ÇÕ ¿¬»êÀÚ.
È¥ÇÕ ¿¬»êÀÚ´Â ¸» ±×´ë·Î µÎ°³ÀÇ ¿¬»êÀÚ¸¦ È¥ÇÕÇÑ °Í ÀÔ´Ï´Ù. ÇÁ·Î±×·¥À» ¸¸µé´Ù º¸¸é
a=a+3;
a=a-2;
a=a*3;
a=a/2;
a=a|0x0F;
a=a&0x0A;
a=a>>4;
ÀÌ·± ¼ö½Äó·³ ÇÑ°³ÀÇ µ¥ÀÌÅÍ ¿©±â¼± a°¡ °ãÄ¡´Â ¼ö½ÄÀ» ¾µ ¶§°¡ ÀÖ½À´Ï´Ù. ÀÌ·²¶§ ´õ °£´ÜÈ÷ ¾µ ¼ö°¡ ÀÖ½À´Ï´Ù. ¹Ù·Î È¥ÇÕ ¿¬»êÀÚ¸¦ ¾²¸é µÇ´Âµ¥ È¥ÇÕ ¿¬»êÀÚÀÇ Á¾·ù¿¡´Â
+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
ÀÌ·± °ÍµéÀÌ ÀÖ½À´Ï´Ù.
°¢°¢ÀÇ ±â´ÉÀ» »ìÆ캸¸é
------------------------------
a += b -> a = a + b
a -= b -> a = a - b
a *= b -> a = a * b
a /= b -> a = a / b
a %= b -> a = a % b
a &= b -> a = a & b
a |= b -> a = a | b
a ^= b -> a = a ^ b
a <<= b -> a = a << b
a >>= b -> a = a >> b
------------------------------
ÀÌ·± ±â´ÉÀ» ÇÕ´Ï´Ù. ÀÌ·¸°Ô È¥ÇÕ ¿¬»êÀÚ¸¦ Àß ¾²¸é ¼ö½ÄÀ» ´õ °£´ÜÈ÷ ¾µ¼ö ÀÖÁÒ.
Previous:¿¬»êÀÚ 1 (±âº» ¿¬»êÀÚ)
Next:if ¹®
À̹ø °Á¿¡¼´Â ÇÁ·Î±×·¥ È帧Á¦¾î¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
ÇÁ·Î±×·¥ È帧 Á¦¾î¶õ ½ÇÁ¦ ÇÁ·Î±×·¥¿¡¼ °¡Àå Áß¿äÇÑ ºÎºÐÀ¸·Î ¾î¶² Á¶°ÇÀÌ ¸¸Á·µÉ¶§ ¾î¶² ºÎºÐÀ» ½ÇÇàÇϰųª ¾î¶² ƯÁ¤ ºÎºÐÀ» ¹Ýº¹ÇÏ´Â ±â´ÉÀ» ¼öÇàÇϵµ·Ï ÇÁ·Î±×·¥ÀÇ È帧À» Á¦¾îÇÏ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù.
C¿¡¼´Â ÇÁ·Î±×·¥ È帧 Á¦¾î¸¦ À§ÇØ ¸¹Àº ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.
±×·³ ±×°ÍµéÀ» Çϳª¾¿ ¾Ë¾Æº¸ÁÒ.
- if¹®
ÇÁ·Î±×·¥À» ¸¸µé´Ù º¸¸é ¾î¶² Á¶°ÇÀÌ ¸¸Á·µÇ¸é ƯÁ¤ ºÎºÐÀ» ½ÇÇàÇÏ°í ±×·¸Áö ¾ÊÀ¸¸é ¶Ç´Ù¸¥ ƯÁ¤ ºÎºÐÀ» ½ÇÇàÇØ¾ß ÇÏ´Â µîÀÇ ±¸Á¶°¡ ÇÊ¿äÇÒ¶§°¡ ÀÖ½À´Ï´Ù. À̶§´Â if¹®À» »ç¿ëÇÏ¸é µÊ´Ï´Ù.
if¹®Àº ¾î¶² Á¶°ÇÀÌ ¸¸Á· µÇ¸é ƯÁ¤ ºÎºÐÀ» ½ÇÇàÇÏ´Â ±â´ÉÀ» ÇÕ´Ï´Ù.
±×·³ ÀÚ¼¼È÷ ¾Ë¾Æº¸ÁÒ.
(1) C¾ð¾î ¿¡¼ Âü°ú °ÅÁþ
if¹®À» ¹è¿ì±â Àü¿¡ ÇÑ°¡Áö ¾Ë¾Æ µÑ °ÍÀÌ ÀÖ½À´Ï´Ù. C¿¡¼ Âü°ú °ÅÁþÀÇ ±¸ºÐÀ» ¾î¶»°Ô ÇÏ´ÂÁö ¾Ë¾Æ¾ß Çϰŵç¿ä. Àú¹ø °ü°èÇü ¿¬»êÀÚ¿¡¼ ÂüÀº 1 °ÅÁþÀº 0À» µ¹·ÁÁشٰí Çß½À´Ï´Ù.
±×·³ Âü°ú °ÅÁþÀº 1°ú 0À¸·Î¸¸ ±¸ºÐÇÒ±î¿ä? ±×·¸Áö ¾Ê½À´Ï´Ù. C¿¡¼ 0ÀÌ ¾Æ´Ñ ¸ðµç °ªÀº ÂüÀ¸·Î ÀνÄÇÏ°í, 0¸¸ °ÅÁþÀ¸·Î ÀνÄÇÕ´Ï´Ù.
Áö±ÝÀº º°·Î Áß¿äÇÏÁö ¾Ê°Ô º¸¿©µµ if¹®¿¡¼ Á¤¸» Áß¿äÇÑ °Í ÀÔ´Ï´Ù.
(2) if¹®
±×·³ ÀÌÁ¦ if¹®À» ÁøÂ¥·Î °øºÎÇØ º¸ÁÒ. if¹®ÀÇ »ç¿ë¹ýÀº °¡Àå ±âº»ÀûÀÎ ÇüÅ°¡
if(Á¶°Ç)
{
/* Çϳª ÀÌ»óÀÇ C¾ð¾î ¹®Àå */
.
.
}
ÀÌ°Í ÀÔ´Ï´Ù.
¸¸¾à Á¶°ÇÀÌ ¸¸Á·µÇ¸é {}¾ÈÀÇ ¹®ÀåµéÀ» ½ÇÇàÇÏ´Â °ÍÀÌÁÒ.
¿©±â¼ Á¶°ÇÀº °ü°èÇü ¿¬»çÀÚ¿¡ ÀÇÇØ ¸¸µé¾îÁø Á¶°ÇÀ̾ µÇ°í Âü°ú °ÅÁþÀ» ³ªÅ¸³»´Â °ªÀ̾ µÊ´Ï´Ù. Áï Á¶°Ç¿¡ ¾î¶² º¯¼ö¸¦ ³Ö¾îµµ µÇ´Âµ¥, ±×·²¶§´Â º¯¼ö°¡ 0ÀÌ¸é °ÅÁþÀ¸·Î ÀνÄÇÏ°í 0ÀÌ ¾Æ´Ï¸é ÂüÀ¸·Î ÀνÄÇÕ´Ï´Ù.
¿¹Á¦¸¦ º¸ÁÒ.
/* ÆÄÀÏ À̸§ : C7-1.C
ÇÁ·Î±×·¥ ³»¿ë : if¹® ¿¹Á¦.. */
#include <stdio.h>
void main()
{
int a=10;
if(a==10)
{
printf("A = 10\n");
}
if(a)
{
printf("A = True\n");
}
if(!a)
{
printf("A = False\n");
}
}
´ÙÀ½ ÇÁ·Î±×·¥ÀÇ °á°ú´Â ¾î¶»°Ô ³ª¿Ã±î¿ä?
´ç¿¬È÷ "A = 10"À̶ó´Â ¹®ÀåÀÌ Ãâ·ÂµÇ°ÚÁÒ?
±×¸®°í "A = True"¶õ ¹®Àåµµ ÀÌÀ¯´Â a°¡ 10À̹ǷÎ
a==10À̶ó´Â Á¶°ÇÀº ÂüÀÌ µÊ´Ï´Ù.
±×·¯¹Ç·Î ±× ¾È¿¡ ¹®ÀåÀ» ½ÇÇà½ÃÅ°°Ô µÇ´Â °ÍÀÌÁÒ.
µÎ¹ø°ÀÇ if¹®¿¡¼ a´Â 0ÀÌ ¾Æ´Ï¹Ç·Î ±×°Íµµ ¿ª½Ã ÂüÀÌ µÊ´Ï´Ù.
ÇÏÁö¸¸ ¼¼¹ø° if¹®¿¡¼± !a¶ó´Â Á¶°ÇÀ» ÁÖ¾ú´Âµ¥ !¿¬»êÀÚ´Â NOT¿¬»êÀÚ·Î ÂüÀ» °ÅÁþÀ¸·Î °ÅÁþÀ» ÂüÀ¸·Î ¹Ù²Ù´Â ¿¬»êÀÚ¶ó°í ¹è¿ö½À´Ï´Ù.
a´Â ÂüÀε¥ !¸¦ ºÙÀÌ¸é °ÅÁþÀÌ µÇ¹Ç·Î ±× ¾È¿¡ ¹®ÀåÀº ½ÇÇàµÇÁö ¾ÊÁÒ.
ÀÌ ¿¹Á¦¿¡¼ ó·³ {}¾È¿¡ ¹®ÀåÀÌ Çϳª¹Û¿¡ ¾øÀ»¶§´Â {}·Î ¹Áö ¾Ê¾Æµµ µÊ´Ï´Ù. ±×·¯´Ï±î
if(a==10)
printf("A = 10\n");
ÀÌ·¸°Ô ½áµµ µÈ´Ù´Â °ÍÀÌÁÒ.
(3) if-else¹®
if¹®Àº À§¿Í °°ÀÌ ¾î¶² Á¶°ÇÀÌ ¸¸Á·µÇ¸é ƯÁ¤ ºÎºÐÀ» ½ÇÇàÇÕ´Ï´Ù.
±×·±µ¥ ±× Á¶°ÇÀÌ ¸¸Á·µÇÁö ¾ÊÀ»¶§µµ ƯÁ¤ ºÎºÐÀ» ½ÇÇàÇØ ÁÙ¼ö´Â ¾øÀ»±î¿ä?
´ç¿¬È÷ ÇÒ¼ö ÀÖÁÒ. C·Î´Â ¸øÇÏ´Â°Ô ¾øÀ¸´Ï.. ±×¶§´Â else¶ó´Â °É ¾¹´Ï´Ù.
À̶§´Â
if(Á¶°Ç)
{
/* AºÎºÐ */
.
.
}
else
{
/* elseºÎºÐ */
.
.
}
ÀÌ·± ±¸Á¶¸¦ °®ÁÒ.
¿©±â¼ Á¶°ÇÀÌ ÂüÀ̸é AºÎºÐÀ» ½ÇÇàÇÏ°í, ±×·¸Áö ¾ÊÀ¸¸é elseºÎºÐÀ» ½ÇÇàÇÕ´Ï´Ù.
¿¹Á¦¸¦ º¸ÁÒ
/* ÆÄÀÏ À̸§ : C7-2.C
ÇÁ·Î±×·¥ ³»¿ë : if-else ¹® ¿¹Á¦.. */
#include <stdio.h>
void main()
{
int a=0;
if(a)
{
printf("True\n");
}
else
{
printf("False\n");
}
}
ÀÌ ¿¹Á¦¿¡¼µµ ifÀÇ {}¾È¿¡ ¹®ÀåÀÌ ÇÑ°³À̹ǷÎ
{}¸¦ »ý·«Çؼ
/* ÆÄÀÏ À̸§ : C7-3.C
ÇÁ·Î±×·¥ ³»¿ë : if-else ¹® ¿¹Á¦.. */
#include <stdio.h>
void main()
{
int a=0;
if(a)
printf("True\n");
else
printf("False\n");
}
ÀÌ·¸°Ô ½áµµ µÊ´Ï´Ù.
±×·³ ÀÌ ÇÁ·Î±×·¥ÀÇ °á°ú´Â ¾î¶»°Ô ³ª¿Ã±î¿ä? False°¡ Ãâ·Â µÇ°ÚÁÒ?
ÀÌÀ¯´Â a°¡ ÂüÀÌ ¾Æ´Ï¹Ç·Î ±×·¸°Ô µÇ´Â °ÍÀÌÁÒ.
(4) if-else if-else¹®
¸¸¾à ¿©·¯ Á¶°Çº°·Î ½ÇÇàÀ» ´Ù¸£°Ô ÇÏ·Á¸é ¾î¶»°Ô ÇÒ±î¿ä? Áï A¶ó´Â Á¶°ÇÀÌ ¸¸Á·Çϸé AºÎºÐÀ» B¶ó´Â Á¶°ÇÀÌ ¸¸Á·Çϸé BºÎºÐÀ».... ÀÌ·¸°Ô ¿©·¯°¡Áö Á¶°Ç º°·Î ¸»ÀÔ´Ï´Ù. ÀÌ·²¶© else if¸¦ ¾¸´Ï´Ù.
»ç¿ë¹ýÀº
if(Á¶°ÇA)
{
/* AºÎºÐ */
.
.
}
else if(Á¶°ÇB)
{
/* BºÎºÐ */
.
.
}
.
.
else
{
/* elseºÎºÐ */
}
ÀÌ·± ½ÄÀ¸·Î »ç¿ëÇÏÁÒ. ¿©±â¼ Á¶°ÇA°¡ ÂüÀ̸é AºÎºÐÀ», Á¶°ÇB°¡ ÂüÀ̸é BºÎºÐÀ»..
ÀÌ·¸°Ô °è¼Ó ³ª°¡´Ù°¡, ¾î¶² Á¶°Ç¿¡µµ ¸¸Á·ÇÏÁö ¾ÊÀ¸¸é, elseºÎºÐÀ» ½ÇÇàÇÕ´Ï´Ù.
À̶§ elseºÎºÐÀº »ý·«Çصµ µÊ´Ï´Ù. ±×¶§´Â ¾î¶² Á¶°Ç¿¡µµ ¸¸Á·ÇÏÁö ¾ÊÀ¸¸é, ¾Æ¹«°Íµµ ½ÇÇàÇÏÁö ¾Ê°Ô
µÊ´Ï´Ù.
±×·³ ¿¹Á¦¸¦
/* ÆÄÀÏ À̸§ : C7-4.C
ÇÁ·Î±×·¥ ³»¿ë : if-else if-else¹® ¿¹Á¦.. */
#include <stdio.h>
void main()
{
int a=2;
if(a==1)
printf("A = 1\n");
else if(a==2)
printf("A = 2\n");
else if(a==3)
printf("A = 3\n");
else
printf("Error!\n");
}
ÀÌ°É ½ÇÇàÇϸé. °á°ú´Â ¹«¾ùÀϱî¿ä?
A = 2°¡ ³ª¿À°ÚÁÒ? ¿Ö ±×·±Áö´Â ´Ù ¾Æ½ÃÁÒ? ±¸Áö ¼³¸íÇÒ ÇÊ¿ä ¾ø´Â°Í °°±º¿ä.
±×·³ ¿¹Á¦ Çϳª ´õ.. À̹ø¿£ else¸¦ »ý·«ÇÑ °É·Î
/* ÆÄÀÏ À̸§ : C7-5.C
ÇÁ·Î±×·¥ ³»¿ë : if-else if¹® ¿¹Á¦.. */
#include <stdio.h>
void main()
{
int a=4;
if(a==1)
printf("A = 1\n");
else if(a==2)
printf("A = 2\n");
else if(a==3)
printf("A = 3\n");
}
ÀÌ°ÅÀÇ ½ÇÇà °á°ú´Â ¾Æ¹«°Íµµ Ãâ·ÂµÇÁö ¾Ê½À´Ï´Ù..
ÂüÀÌ µÇ´Â Á¶°ÇÀÌ ¾ø±â ¶§¹®ÀÌÁÒ.
ÀÌ°ÍÀ¸·Î if¹®¿¡ ´ëÇÑ ¼³¸íÀº ¸¶Ä¡µµ·Ï ÇÏÁÒ.
Previous:¿¬»êÀÚ 2 (°ü°è.³í¸®.ºñÆ®.±âŸ ¿¬»êÀÚ)
Next:switch ¹®, for ¹®
- switch¹®
À̹ø¿£ switch¹®¿¡ ´ëÇØ ¾Ë¾Æ º¸ÁÒ.
switch¹®Àº ¾î¶² ƯÁ¤ÇÑ º¯¼ö ¶Ç´Â ½ÄÀÇ °ª¿¡ µû¶ó ƯÁ¤ ºÎºÐÀ» ½ÇÇàÇÏ´Â °Í ÀÔ´Ï´Ù.
±âº»ÀûÀÎ »ç¿ë¹ýÀº
switch(½Ä)
{
case °ªA:
.
.
break;
case °ªB:
.
.
break;
.
.
}
ÀÌ·¸½À´Ï´Ù.
¿©±â¼ ½Ä¿¡´Â »ó¼ö, º¯¼ö, ¼ö½Ä ¾î´À°Íµµ ´Ù µé¾î°¥¼ö ÀÖ½À´Ï´Ù.
¸¸¾à ½ÄÀÇ °ªÀÌ °ªAÀ̸é case °ªA:¿¡¼ break°¡ ³ª¿Ã¶§±îÁö ½ÇÇàÇÏ°í ½ÄÀÇ °ªÀÌ °ªBÀ̸é case °ªB:¿¡¼ break°¡ ³ª¿Ã¶§±îÁö ½ÇÇàÇÕ´Ï´Ù.
¿¹¸¦ µé¾î º¸ÁÒ
/* ÆÄÀÏ À̸§ : C7-6.C
ÇÁ·Î±×·¥ ³»¿ë : switch¹® ¿¹Á¦.. */
#include <stdio.h>
void main()
{
int a=1;
switch(a)
{
case 1:
printf("A = 1\n");
break;
case 2:
printf("A = 2\n");
break;
}
}
ÀÌ°É ½ÇÇàÇϸé A = 1ÀÌ Ãâ·ÂµÊ´Ï´Ù.
ÀÌÀ¯´Â a°¡ 1À̱⠶§¹®¿¡ case 1:ºÎÅÍ break°¡ ³ª¿Ã¶§ ±îÁö ½ÇÇàÇÏ¸é ±×°Ô Ãâ·ÂµÇ±â ¶§¹®ÀÌÁÒ.
¿©±â¼ break´Â Áß¿äÇÕ´Ï´Ù. ¸¸¾à case 1:¿¡ break°¡ ¾ø´Ù¸é
/* ÆÄÀÏ À̸§ : C7-7.C
ÇÁ·Î±×·¥ ³»¿ë : switch¹® ¿¹Á¦.. */
#include <stdio.h>
void main()
{
int a=1;
switch(a)
{
case 1:
printf("A = 1\n");
case 2:
printf("A = 2\n");
break;
}
}
ÀÌ·¸°Ô µÇ¾î ÀÖ´Ù¸é °á°ú´Â ¾î¶»°Ô µÉ±î¿ä? break°¡ °¡Àå ¹Ø¿¡ ÀÖÀ¸¹Ç·Î. °Å±â±îÁö ½ÇÇàÇؼ A = 2±îÁö Ãâ·ÂÀÌ µÇ°Ô µÊ´Ï´Ù. ¸¸¾à break°¡ Çϳªµµ ¾ø´Ù¸é switch¹®ÀÌ ³¡³¯¶§±îÁöÀÇ ¸ðµç ¹®ÀåÀ» ½ÇÇàÇÕ´Ï´Ù. ±×·¯¹Ç·Î break¸¦ »©¸ÔÀ¸¸é Àý´ë·Î ¾ÊµÇÁÒ. ¾î¶² if¹®Àº switch¹®À¸·Î ¾²¸é ´õ °£°áÇØ Áö´Âµ¥
¿¹¸¦ µé¾î ´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥.
/* ÆÄÀÏ À̸§ : C7-8.C
ÇÁ·Î±×·¥ ³»¿ë : if¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
int a=4;
if(a==1)
printf("One\n");
else if(a==2)
printf("Two\n");
else if(a==3)
printf("Three\n");
else if(a==4)
printf("Four\n");
else if(a==5)
printf("Five\n");
}
ÀÌ·± ÇÁ·Î±×·¥Àº switch¹®À¸·Î °íÄ¡´Â°Ô º¸±â¿¡ ½±½À´Ï´Ù. switch¹®À¸·Î °íÄ¡¸é
/* ÆÄÀÏ À̸§ : C7-9.C
ÇÁ·Î±×·¥ ³»¿ë : switch¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
int a=4;
switch(a)
{
case 1:
printf("One\n"); break;
case 2:
printf("Two\n"); break;
case 3:
printf("Three\n"); break;
case 4:
printf("Four\n"); break;
case 5:
printf("Five\n"); break;
}
}
º¸±â°¡ Á» ½±¿öÁ³ÁÒ? Áï ÇϳªÀÇ º¯¼ö¸¦ °ª º°·Î ƯÁ¤ ¹®ÀåÀ» ½ÇÇàÇÒ¶© if¹®º¸´Ù switch¹®ÀÌ ´õ ÁÁ´Ù´Â °ÍÀÌÁÒ. ÀÌ·¸°Ô switch¹®Àº if¹®À» ´ë½ÅÇÒ¼öµµ Àִµ¥, if¹®ÀÇ else¹®..Áï.. ¾Æ¹«°Í¿¡µµ ÇØ´çÇÏÁö ¾ÊÀ»¶§
½ÇÇàÇÏ´Â ºÎºÐÀº ¾î¶»°Ô ¸¸µé±î¿ä?
ÀÌ°Ç default¶ó´Â °É »ç¿ëÇØ ¸¸µë´Ï´Ù.
»ç¿ë¹ýÀº
switch(½Ä)
{
case °ªA:
.
.
break;
case °ªB:
.
.
break;
.
.
default:
.
.
break;
}
ÀÌ·± ½ÄÀ¸·Î ¾¸´Ï´Ù.¸¸¾à ½ÄÀÌ ¾î¶² °ª¿¡µµ ÇØ´çÇÏÁö ¾ÊÀ¸¸é default¾Æ·¡¿¡ ³ª¿À´Â °ÍµéÀ» ½ÇÇàÇØ ÁÖÁÒ..
¿¹Á¦¸¦ º¾½Ã´Ù.
/* ÆÄÀÏ À̸§ : C7-10.C
ÇÁ·Î±×·¥ ³»¿ë : switch¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
int a=4;
switch(a)
{
case 1:
printf("One\n"); break;
case 2:
printf("Two\n"); break;
case 3:
printf("Three\n"); break;
default:
printf("Another value\n"); break;
}
}
ÀÌ ÇÁ·Î±×·¥ÀÇ °á°ú·Î´Â Another value °¡ Ãâ·ÂµÇ°ÚÁÒ?
a°¡ ¾î¶² °ª¿¡µµ ÇØ´çÇÏÁö ¾ÊÀ¸´Ï.. ÀÌÁ¤µµ·Î switch¹®ÀÇ ¼³¸íµµ ¸¶Ä¡µµ·Ï ÇÏÁÒ.
- for¹®
for¹®Àº ¾î¶² ƯÁ¤ ºÎºÐÀ» ¹Ýº¹Çؼ ½ÇÇàÇÒ¶§ »ç¿ëÇÕ´Ï´Ù.
for¹®ÀÇ »ç¿ë¹ýÀº
for(¼ö½Ä1;Á¶°Ç;¼ö½Ä2)
{
¹®Àåµé..
}
ÀÌ·± ±¸Á¶ ÀÔ´Ï´Ù.
¼ö½Ä1Àº for¹®ÀÏ ½ÃÀÛÇϱâ Àü Çѹø ½ÇÇàÇÏ´Â °ÍÀ¸·Î º¸Åë Ä«¿îÅÍ º¯¼ö¸¦ ÃʱâÈ ÇÒ¶§ ¾¹´Ï´Ù.
±×¸®°í ¼ö½Ä2´Â for¹® ³»ÀÇ ¹®ÀåµéÀ» ¹Ýº¹Çؼ ½ÇÇàÇÒ¶§¸¶´Ù Çѹø¾¿ ½ÇÇàÇØ ÁÖ´Â ¼ö½ÄÀ¸·Î º¸Åë Ä«¿îÅ͸¦ Áõ°¡ ½ÃÅ°°Å³ª °¨¼Ò ½Ãų¶§ »ç¿ëÇÕ´Ï´Ù.
for¹®Àº Á¶°ÇÀÌ ¸¸Á·ÇÒ¶§ ±îÁö¸¸ {}¾ÈÀÇ ¹®ÀåÀ» ¹Ýº¹ÇØ ½ÇÇàÇØ ÁÜ´Ï´Ù. ±×³É º¸¸é Àú°É·Î ¾î¶»°Ô ¹Ýº¹¹®À» ¸¸µé¼ö ÀÖ´ÂÁö ÀÌÇØ°¡ Àß ¾È °¡½Ç °ÅÁö¸¸ ¿¹Á¦¸¦ º¸½Ã¸é ÀÌÇØ°¡ µÇ½Ç °Ì´Ï´Ù.
/* ÆÄÀÏ À̸§ : C7-11.C
ÇÁ·Î±×·¥ ³»¿ë : for¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
int i;
for(i=1;i<=100;i++)
printf("%d ",i);
}
¾ÆÁÖ °£´ÜÇÑ ¿¹Á¦ ÀÌÁö¸¸ ÀÌ°É ½ÇÇàÇϸé 1ºÎÅÍ 100±îÁö Ãâ·ÂÀÌ µÊ´Ï´Ù. ÇÁ·Î±×·¥À» Àß »ìÆ캸¸ç ¾î¶»°Ô ¹Ýº¹ÀÌ µÇ´ÂÁö ¾Ë¾Æº¸ÁÒ. ¿ì¼± Ä«¿îÅÍ·Î ¾µ º¯¼ö i¸¦ Á¤ÀÇ Çß½À´Ï´Ù. ±×¸®°í for¹®ÀÌ Àִµ¥,
óÀ½¿¡ Çѹø¸¸ ½ÇÇàµÇ´Â ¼ö½ÄÀ¸·Î i¿¡ 1À» ³Ö¾î ÃʱâÈ Çß½À´Ï´Ù. ±×¸®°í ³ª¼ i<=100ÀÎÁö È®ÀÎÇÏÁÒ. ±×·±µ¥ ÀÌ°Ç ÂüÀ̹ǷΠfor¹® ´ÙÀ½¿¡ ´Ù¿À´Â {}¾ÈÀÇ ¹®ÀåµéÀ» ½ÇÇàÇÕ´Ï´Ù.
for¹® ¿ª½Ã ¹Ýº¹½ÇÇàÇÒ ¹®ÀåÀÌ ÇϳªÀ̸é {}¸¦ »ý·«Çصµ µÊ´Ï´Ù. ±×·¡¼ ¿©±â¼± »ý·«Çß½À´Ï´Ù. ÀÌ ¹®ÀåÀº i¸¦ Ãâ·ÂÇÏ°í ÀÖÁÒ. ±×·¯¹Ç·Î óÀ½¿£ 1ÀÌ Ãâ·ÂµÊ´Ï´Ù.
ÀÌ ¹®Àå ½ÇÇà ÈÄ i++¸¦ ½ÇÇàÇÕ´Ï´Ù. ±×·¡¼ i°¡ 2°¡ µÇÁÒ. ±×¸®°í ³ª¼ i<=100ÀÎÁö °Ë»çÇØ ´ÙÀ½¿¡ ³ª¿Ã ¹®ÀåÀ» ½ÇÇàÇÏÁÒ ¶Ç ÂüÀ̹ǷΠi¸¦ Ãâ·ÂÇØ À̹ø¿¡ 2°¡ Ãâ·ÂµÇÁÒ.
ÀÌ·± ½ÄÀ¸·Î °è¼Ó ¹Ýº¹ÇØ i°¡ 101ÀÌ µÇ¸é for¹®ÀÌ ³¡³ª°Ô µÇÁÒ..
À̹ø ¹æ¹ýÀ¸·Î for¹®À» ÅëÇØ ¹Ýº¹¹®À» ¸¸µë´Ï´Ù. ±×¸®°í for¹® ¾È¿¡ for¹®ÀÌ µé¾î°¡µµ »ó°ü ¾ø½À´Ï´Ù.
for¹® ¾È¿¡¼ ¾µ¼ö ÀÖ´Â Å°¿öµå°¡ µÎ°¡Áö Àִµ¥ continue¿Í breakÀÔ´Ï´Ù.
continue´Â continue´ÙÀ½¿¡ ³ª¿À´Â ¹®ÀåµéÀº ´Ù ¹«½ÃÇÏ°í ´Ù½Ã for¹®ÀÇ Ã³À½À¸·Î µ¹¾Æ°¡ ½ÇÇàÀ» °è¼ÓÇÏ´Â °ÍÀÌÁÒ.
¿¹¸¦ µé¾î º¸ÁÒ..
/* ÆÄÀÏ À̸§ : C7-12.C
ÇÁ·Î±×·¥ ³»¿ë : for¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
int i;
for(i=1;i<=100;i++)
{
if(i%2==0) continue;
printf("%d ",i);
}
}
¿ì¼± ÀÌ°É ÀÚ¼¼È÷ º¸¸é i%2==0À϶§ continue°¡ ½ÇÇàµÇ´Â °ÍÀ» ¾Ë¼ö ÀÖ½À´Ï´Ù. i%2°¡ 0À϶§´Â i°¡ 2ÀÇ ¹è¼öÀÏ ¶§ Àε¥.. ±×¶§ continue¸¦ ÇÏ¸é ¹Ø¿¡ i¸¦ Ãâ·ÂÇÏ´Â ¹®ÀåÀº ¹«½ÃµÇ°í ±×³É ³Ñ¾î°¡±â µÊ´Ï´Ù.
±×·¯¹Ç·Î ÀÌ ¿¹Á¦¸¦ ½ÇÇàÇϸé 1ºÎÅÍ 100±îÁö Áß 2ÀÇ ¹è¼ö°¡ ¾Æ´Ñ ¼ö¸¸ Ãâ·ÂÇÏ°Ô µÇÁÒ.
break´Â for¹®À» ºüÁ® ³ª¿À´Â ±â´ÉÀ» ÇÕ´Ï´Ù. À̰͵Π¿¹¸¦À» º¸¸é ½±°Ô ÀÌÇØ°¡ µÇ½Ç °Ì´Ï´Ù.
/* ÆÄÀÏ À̸§ : C7-13.C
ÇÁ·Î±×·¥ ³»¿ë : for¹® ¿¹Á¦. */
#include <stdio.h>
void main()
{
int i;
for(i=1;i<=100;i++)
{
if(i==51) break;
printf("%d ",i);
}
}
ÀÌ ÇÁ·Î±×·¥À» º¸¸é i°¡ 51À϶§ break¸¦ Çߴµ¥ ±×·¯¸é for¹®À» ¹ÙÁ® ³ª¿À¹Ç·Î 1ºÎÅÍ 50±îÁö¸¸ Ãâ·ÂÀÌ µÇ´Ù°¡, for¹®À» ºüÁ® ³ª¿Í ¹ö¸³´Ï´Ù.
Previous:if ¹®
Next:while ¹®, do~while, goto, ÇÔ¼ö·Î °ªÀ» Àü´Þ
¿À´ÃÀº È帧 Á¦¾îÁß ¹Ýº¹¹®¿¡¼ Àú¹ø¿¡ ÇÏÁö¸øÇÑ while¿Í do-while¿¡ ´ëÇØ °øºÎÇÏ°Ú½À´Ï´Ù.
±×¸®°í ³ª¼ ÇÔ¼ö¿¡ °ª Àü´ÞÇÏ´Â ¹æ¹ý°ú ¹è¿¿¡ ´ëÇØ °øºÎÇϵµ·Ï ÇÏÁÒ.
- while¹®
¿ì¼± while¹®¿¡ ´ëÇØ ¾Ë¾Æº¸ÁÒ. while¹®Àº for¹®Ã³·³ ¹Ýº¹¹®ÀÌÁö¸¸ for¹®º¸´Ù »ç¿ë¹ýÀº °£´ÜÇÕ´Ï´Ù.
¿ì¼± »ç¿ë¹ýÀ» ¾Ë¾Æº¸ÁÒ.
while(Á¶°Ç)
{
/* Çϳª ÀÌ»óÀÇ C¾ð¾î ¹®Àå */
.
.
}
ÀÌ·¸°Ô »ç¿ëÇϴµ¥, ¿©±â¼ Á¶°ÇÀÌ ¸¸Á·ÇÏ´Â µ¿¾È¸¸ while¹® ³»ÀÇ ¹®ÀåµéÀ» ½ÇÇàÇÕ´Ï´Ù.
ÀÌ°Å ¿ª½Ã ¹®ÀåÀÌ ÇϳªÀ̸é {}¸¦ »ý·«ÇÒ¼ö ÀÖ½À´Ï´Ù.
±×·³ ¿¹Á¦¸¦ º¼±î¿ä?
/* ÆÄÀÏ À̸§ : C8-1.C
ÇÁ·Î±×·¥ ³»¿ë : while¹® ¿¹Á¦.. */
#include <stdio.h>
void main()
{
int a=1;
int total=0;
while(a<=100)
{
total+=a;
a++;
}
printf("%d\n",total);
}
while¹®À» º¸¸é
a<=100À϶§ ±îÁö¸¸ ¹Ýº¹ÇÏ´Â ¹Ýº¹¹® ÀÔ´Ï´Ù. while¹® ¾È¿¡¸¦ º¸¸é
total+=a¸¦ ÇÏ°í Àִµ¥, ÀÌ°Ç total=total+a¶ó´Â°ÍÀº
¾ðÁ¨°¡ ¼³¸í Çß°í ÀÌ°É ½ÇÇà ÇÑ ÈÄ¿¡ a++·Î a¸¦ 1Áõ°¡½ÃÅ°°í ÀÖ½À´Ï´Ù.
ÀÌ·¸°Ô °è¼Ó µÇ´Ù º¸¸é total=total+1, total=total+2...
ÀÌ·¸°Ô °è¼Ó ½ÇÇàÀÌ µÇ°ÚÁÒ?
±×·¡¼ ³ªÁß¿£ 1ºÎÅÍ 100±îÁöÀÇ ÇÕÀÌ total¿¡ µé¾î°¡°í ±×°ÍÀÌ Ãâ·ÂµÇ°Ô µÇÁÒ. ±×·¯¹Ç·Î 5050ÀÌ Ãâ·ÂµÊ´Ï´Ù.
- do-while¹®
±×·³ À̹ø¿£ do-while¹®¿¡ ´ëÇØ ¾Ë¾Æº¸ÁÒ.
do-while¹®µµ while¹®°ú ºñ½ÁÇÏÁö¸¸. ÀÌ°Ç Á¶°ÇÀÌ ¹Ø¿¡ ÀÖ´Ù´Â °ÍÀÌ ´Ù¸§´Ï´Ù.
¿ì¼± »ç¿ë¹ýÀ» º¸ÁÒ.
do
{
/* Çϳª ÀÌ»óÀÇ C¾ð¾î ¹®Àå */
.
.
} while(Á¶°Ç);
ÀÌ·¸°Ô »ç¿ëÇÕ´Ï´Ù.
ÀÌ°ÍÀº óÀ½¿¡ ¹®ÀåµéÀÌ ½ÇÇà µÈ ÈÄ, Á¶°ÇÀÌ ¸¸Á·ÇÏ¸é ¶Ç ½ÇÇà½ÃÅ°°í ÇÏ´Â ½ÄÀ¸·Î ½ÇÇàµÊ´Ï´Ù.
while¹®¿¡¼´Â óÀ½ºÎÅÍ Á¶°ÇÀÌ ¸¸Á·ÇÏÁö ¾ÊÀ¸¸é Çѹøµµ ½ÇÇàµÇÁö ¾ÊÁö¸¸, do-while¹®Àº óÀ½ºÎÅÍ Á¶°ÇÀÌ ¸¸Á·ÇÏÁö ¾Ê´õ¶óµµ ÃÖ¼ÒÇÑ ÇѹøÀº ½ÇÇàÀÌ µÊ´Ï´Ù.
/* ÆÄÀÏ À̸§ : C8-2.C
ÇÁ·Î±×·¥ ³»¿ë : do-while¹® ¿¹Á¦.. */
#include <stdio.h>
#include <conio.h>
void main()
{
int yn;
do
{
printf("Continue(Y/N)?");
yn=getche();
putchar('\n');
}while(yn!='Y' && yn!='N');
}
ÀÌ ÇÁ·Î±×·¥Àº "Continue(Y/N)?"À̶ó´Â ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°í Y¶Ç´Â NÀÌ ÀԷµǸé Á¾·áµÇ°í ´Ù¸¥ °ÍÀÌ ÀÔ·ÂµÇ¸é °è¼Ó ÀÔ·ÂÀ» ¹Þ´Â °Í ÀÔ´Ï´Ù. Àß ºÐ¼®ÇØ º¸½Ã¸é ¿Ö ±×·¸°Ô µÇ´ÂÁö´Â ½±°Ô ¾Æ½Ç¼ö ÀÖÀ»°Ì´Ï´Ù.
|
Hit : 9222 Date : 2004/07/15 07:27
|