°Ô½Ã¹° 9°Ç
¸®´ª½º ȯ°æ¿¡¼ÀÇ C ÇÁ·Î±×·¡¹Ö - 4Àå º¯¼ö¿Í ¿¬»êÀÚ
±Û¾´ÀÌ :
ÃÖ°í°ü¸®ÀÚ
³¯Â¥ : 2009-11-30 (¿ù) 19:32
Á¶È¸ : 240585
±ÛÁÖ¼Ò :
1 º¯¼ö¿Í ¿¬»êÀÚ
1.1 C¿¡¼ »ç¿ëµÇ´Â ¹®ÀÚµé
Àΰ£ÀÌ ¾²´Â ¾ð¾îÀÇ ¼ýÀÚ¸¸ Çصµ ¾Æ¸¶ 100¿©°³°¡ ³ÑÀ»°Å¶ó°í »ý°¢µÈ´Ù.
C ¾ð¾î´Â
±â°è¾î ¸¦ ´ë½ÅÇؼ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Àΰ£ÀÇ ¾ð¾î·Î ¾²¿©Áø
ÇÁ·Î±×·¡¹Ö ¾ð¾î Àε¥, ±×·¸´Ù¸é Àΰ£ÀÇ ¾ð¾îÁß ¾î¶² ¾ð¾î¸¦ »ç¿ëÇÏ°í ÀÖÀ»±î. ´äÀº
¿µ¾î ´Ù. ÄÄÇ»ÅͶó´Â ±â°è°¡ ¿µ¾î¹®¸í±Ç¿¡¼ ¹ß¸íÀÌ µÇ´Ùº¸´Ï, ÄÄÇ»ÅÍ¿¡¼ ÇÁ·Î±×·¥À» ¸¸µé±â À§ÇØ »ç¿ëÇÑ
C ¾ð¾îµµ ÀÚ¿¬½º·´°Ô ¿µ¾î ¾ËÆĺªÀ» ±âº» ¹®ÀÚ·Î »ç¿ëÇϵµ·Ï ¸¸µé¾î Á³´Ù. - ÇÑ±Û·ÎµÈ ÄÄÇ»ÅÍ ¾ð¾î¸¦ »ç¿ëÇغ¸ÀÚ¶ó°í Çؼ ¾¾¾ÑÀ̶ó´Â Çѱ۷Π»ç¿ë°¡´ÉÇÑ ¾ð¾î°¡ ÀÖ¾ú±â´Â Çß´Ù. ´ç½Ã¿¡´Â ²Ï ÁÖ¸ñÀ» ¹Þ±âµµ Çß¾ú´Âµ¥, ¼Ò¸®¼Ò¹® ¾øÀÌ ÀØÇôÁö°í ¸»¾Ò´Ù. ±×¶§°¡ ³»°¡ ´ëÇÐ 1Çг⠶§Àΰ¡? µÇ¾ú´ø µí ½Í´Ù. -
C¿¡¼ »ç¿ëÇÏ´Â ¹®ÀÚµéÀº ´ÙÀ½°ú °°´Ù.
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! " # % & ' ( ) * + , - . / : ; < = > ? [ \ ] ^ _ { | } ~ space, tab, newline, form feed À§ÀÇ ¹®ÀÚ¼ÂÀº C¾ð¾î »Ó¸¸ ¾Æ´Ï¶ó. ´Ù¸¥ °ÅÀÇ ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼µµ ±âº»À¸·Î »ç¿ëÇÏ°í ÀÖ´Ù.
2¹ÙÀÌÆ® ÀÌ»óÀÇ ¹®ÀÚ´Â ÁÖ¼®¿Ü¿¡´Â »ç¿ëÇÒ ¼ö ¾ø´Â°Ô ÀϹÝÀûÀÌ´Ù.
1.2 º¯¼ö¿Í »ó¼ö
ÄÄÇ»ÅÍ´Â ¿¬»êÀ» ºü¸£°Ô Çϱâ À§ÇÑ ±â°è·Î, ¿¬¼ÓµÈ ¼ö ¸¹Àº ¿¬»êµéÀ» ó¸®ÇØ ³ª°£´Ù. ¿¬»ê¿¡´Â
¿¬»êÀÚ ¿Í
ÇÇ¿¬»êÀÚ °¡ ÇÊ¿äÇÏ´Ù´Â °ÍÀº ´©±¸³ª ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù.
+-------------- ÇÇ¿¬»êÀÚ | +-------+ | | 1 + 2 | +-------------- ¿¬»êÀÚ ÀÌÁ¦ ¿¬¼ÓµÈ ¿¬»ê, ¿¹¸¦µé¾î¼ 1ºÎÅÍ 100±îÁöÀÇ ¼ýÀÚ¸¦ ´õÇÏ´Â ¿¬»êÀ» ÇؾßÇÑ´Ù°í °¡Á¤Çغ¸ÀÚ. ´Ü¼øÇÏ°Ô 1ºÎÅÍ 100±îÁö ´õÇÒ°æ¿ì 100¹øÀÇ µ¡¼ÀÀÌ ÇÊ¿äÇÏ°Ô µÇ´Âµ¥, À̸¦ À§Çؼ´Â °¢°¢ÀÇ ¿¬»ê°á°ú¸¦
¾îµò°¡¿¡ ÀúÀåÀ» ÇØ¾ß ÇÑ´Ù. ÀÌ·±°æ¿ì ¾Ï»ê´É·ÂÀÌ ÁÁÀº »ç¶÷Àº ¸Ó¸®¿¡ ¿¬»ê°á°ú¸¦ ±â¾ïÇÒ °ÍÀÌ°í, ±×·¸Áö ¸øÇÑ »ç¶÷Àº Á¾À̵îÀ» ÀÌ¿ëÇÏ°Ô µÉ °ÍÀÌ´Ù.
ÄÄÇ»ÅÍ´Â ¸Þ¸ð¸®°ø°£À» ÀÌ¿ëÇÑ´Ù. À§ÀÇ 1ºÎÅÍ 100±îÁö ´õÇÏ´Â ¿¬»êÀ» ÇÒ°æ¿ì ¸Å¹ø ¸Þ¸ð¸®ÀÇ ÀúÀåÀå¼Ò¿¡ ¿¬»ê°á°ú¸¦ ³Ö¾ú´Ù »°´ÙÇÏ´Â ÀÏÀ» ÇÑ´Ù. ÀÌ·± ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸® °ø°£¿¡´Â ÀÏ·ÃÀÇ ¼ýÀÚ·ÎµÈ ÁÖ¼Ò°¡ ¸Þ°ÜÁ® ÀÖ´Ù. ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸®°¡ 2
Gigabyte ¶ó¸é, 0ºÎÅÍ 2147483647±îÁöÀÇ ¹øÈ£°¡ ¸Å°ÜÁ® ÀÖ°í, ÀÌÁß »ç¿ëÇÏÁö ¾Ê´Â °÷ÀÇ ÁÖ¼ÒÀÇ ¹øÈ£¸¦ ¾Ë¾Æ³»¾î¼ ±×°÷¿¡ ¿¬»ê°á°ú¸¦ ÀúÀåÇÏ´Â ½ÄÀÌ´Ù.
¿©·¯ºÐÀÌ ¿¬»ê°á°ú¸¦ ÀúÀåÇϱâ À§Çؼ 2184912 ¹ø° ÁÖ¼Ò¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù¶ó°í °¡Á¤Çغ¸ÀÚ. ±â¾ïÇؼ »ç¿ëÇϱⰡ ±×·¸°Ô ¸¸¸¸Ä¡ ¾ÊÀ» °ÍÀÌ´Ù. ±×·¡¼ »ç¿ëÇϱ⠽±°Ô, ¼ýÀÚ´ë½Å ¾ËÆĺª¹®ÀÚ¸¦ »ç¿ëÇؼ ÇØ´ç ÁÖ¼Ò¸¦ ´ë½Å °¡¸®Å°°Ô µÈ´Ù. À̶§ ¿¬»êÀÇ °á°ú·Î ÀúÀåµÇ´Â °ªÀ»
º¯¼ö ¶ó°í ÇÏ°í, º¯¼ö°¡ ÀúÀåµÉ °ø°£À» ½±°Ô »ç¿ëÇϱâ À§Çؼ ¿µ¾î·Î ¸í¸íÇÑ °ÍÀ» º¯¼ö¸í À̶ó°í ÇÑ´Ù.
º¯ÇÏ´Â ¼ö°¡ ÀÖÀ¸¸é º¯Ä¡ ¾Ê´Â ¼ö°¡ ÀÖÀ» °ÍÀÌ´Ù. À̸¦
»ó¼ö ¶ó°í Çϸç, ¸¶Âù°¡Áö·Î
»ó¼ö ¸íÀ» ÀÌ¿ëÇؼ »ó¼ö°¡ ÀúÀåµÉ ¸Þ¸ð¸® °ø°£À» °¡¸®Å°°Ô µÈ´Ù.
+----------<--------- sum = 1+2 | +-----------+---+---------+ | ¸Þ¸ð¸® | | | +-----------+---+---------+ À§ÀÇ ±×¸²¿¡¼
sum ÀÌ º¯¼ö¸íÀÌ µÇ°í, sum¿¡´Â ¿¬»êÀÇ °á°úÀÎ 3ÀÌ ÀúÀåµÈ´Ù.
°£´ÜÇÏ°Ô 1+10À» ´õÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î º¸ÀÚ.
#include <stdio.h> int main () { int a, b; int sum; a = 1; b = 10 sum = a+b; printf("%d\n", sum); }
¾ÆÁ÷ C¹®¹ýÀ» °øºÎÇÏÁø ¸øÇßÁö¸¸, ´ë·« ÀÌÇØÇϴµ¥ ¾î·Á¿òÀÌ ¾øÀ» °ÍÀÌ´Ù.
a = 1 : º¯¼ö a°¡ °¡¸®Å°´Â °÷¿¡ 1 À» ÀúÀåÇÏ°í
b = 10 : º¯¼ö b°¡ °¡¸®Å°´Â °÷¿¡ 10 À» ÀúÀåÇÑ´Ù.
sum = a+b : º¯¼ö a °¡ °¡¸®Å°´Â °÷ÀÇ °ª 1°ú º¯¼ö b °¡ °¡¸®Å°´Â °÷¿¡ ÀúÀåµÈ °ª 10 À» °¡Á®¿Í¼ ´õÇÏ°í, ±× °á°ú°ªÀÎ 11À» sum ¿¡ ÀúÀåÇÑ´Ù.
º¯¼ö sumÀÌ °¡¸®Å°´Â °÷¿¡ ÀúÀåµÈ °ª 11À» °¡Á®¿À°í printf¶ó´Â ÇÔ¼ö¸¦ ÀÌ¿ëÇؼ ȸ鿡 Ãâ·ÂÇÑ´Ù.
º¯¼ö¸í°ú »ó¼ö¸íÀº
¾ËÆĺª ¿µ¹®ÀÚ¿Í ¼Ò¹®ÀÚ ,
¼ýÀÚ ,
_ °¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. ¶ÇÇÑ Ã¹±ÛÀÚ´Â ¹Ýµå½Ã '¿µ¹®¼Ò¹®ÀÚ','´ë¹®ÀÚ', '_'¿©¾ß ÇÑ´Ù.
º¯¼ö¸í
Çã¿ë¿©ºÎ
¼³¸í
sum1
O
Sum_2
O
_sum
O
1sum
X
ù¸Ó¸®¿¡ ¼ýÀÚ°¡ ¿Ô´Ù
sum 1
X
°ø¹éÀÌ Á¸ÀçÇÏ¸é ¾ÈµÈ´Ù
sum!2
X
Ư¼ö¹®ÀÚ´Â »ç¿ëµÉ ¼ö ¾ø´Ù
1.3 µ¥ÀÌÅÍ Çü°ú Å©±â
1.3.1 ±âº» µ¥ÀÌÅÍ Çü
Àΰ£°ú ´Þ¸® »ç¹°À» Ãß»óÈ ½ÃÄѼ »ý°¢ÇÒ ¼ö ÀÖ´Â ´É·ÂÀÌ ¾ø´Â ÄÄÇ»ÅÍÀÌ´Ù º¸´Ï,
µ¥ÀÌÅÍ°¡ ¾î¶² Á¾·ùÀÇ °ÍÀ̸ç (µ¥ÀÌÅÍÇü) ,
¾î´ÀÁ¤µµÀÇ Å©±â (µ¥ÀÌÅÍ Å©±â) ¸¦ °¡Áö°í ÀÖ´ÂÁö¸¦ ¸íÈ®È÷ ¾Ë·ÁÁà¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
Àΰ£Àº "õ¿øÀº Å«µ·ÀÌ´Ù"¿Í "1000+2000=3000" ¿¡¼ ¹®ÀÚ¿ "õ"°ú ¼ýÀÚ "1000"À» ±¸ºÐÇØ ³¾ ¼ö ÀÖÁö¸¸ ÄÄÇ»ÅÍ´Â µµ´ëü ±¸ºÐÇØ ³¾ ¼ö°¡ ¾ø±â ¶§¹®ÀÌ´Ù.
¶§¹®¿¡ ¸ðµç ¾ð¾î´Â °íÀ¯ÀÇ Å©±â¸¦ °¡Áö´Â µ¥ÀÌÅÍ
Çü (Type)À» Á¦°øÇÏ°í ÀÖ´Ù. C¾ð¾î´Â ´ÙÀ½°ú °°Àº Å©±â¸¦ °¡Áö´Â µ¥ÀÌÅÍ ÇüÀÌ ÁغñµÇ¾î ÀÖ´Ù.
µ¥ÀÌÅÍ Çü
Å©±â
¼³¸í
int
4byte
Á¤¼öÇü ¼ýÀÚ
char
1byte
´ÜÀÏ ¹®ÀÚ
float
4byte
½Ç¼ö
double
8byte
½Ç¼ö
¿¹¸¦ µé¾î µ¥ÀÌÅÍŸÀÔÀÌ
int ÀÎ
a ¶ó´Â º¯¼ö°¡ ÀÖ´Ù°í °¡Á¤ÇßÀ» ¶§, ¿©±â¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍÀÇ Å©±â´Â
2^32 ÀÌ´Ï
0 - 4294967296 ÀÌ µÉ°Å¶ó°í »ý°¢ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ½ÇÁ¦·Î´Â À½¼ö¸¦ Ç¥ÇöÇØ¾ß Çϱ⠶§¹®¿¡
-2147483648 - 2147483647 »çÀÌÀÇ °ªÀ» ÀúÀåÇÒ ¼ö ÀÖ´Ù.
char ÇüÀº ÇϳªÀÇ ¹®ÀÚ¸¦ ÀúÀåÇϱâ À§Çؼ »ç¿ëÇϴµ¥,
2^8 ¿¡¼ À½¼ö¸¦ Ç¥ÇöÇØ¾ß ÇϹǷÎ
-127 - 128 ÀÇ °ªÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
float,°ú double ÇüÀº ¼Ò¼ýÁ¡À» °¡Áö´Â ½Ç¼ö¸¦ Ç¥ÇöÇϱâ À§Çؼ »ç¿ëÇÑ´Ù.
1.3.2 signed ¿Í unsignedÇü
Á¤¼ö¿¡´Â À½ÀÇ Á¤¼ö¿Í ¾çÀÇ Á¤¼ö°¡ ÀÖ´Ù. ±×·¸´Ù¸é ÄÄÇ»ÅÍ¿¡¼ ¾î¶»°Ô À½¼ö¿Í ¾ç¼ö°¡ 󸮵ǴÂÁö¿¡ ´ëÇؼ ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. Á¤¼ö¸¦ ÀúÀåÇϱâ À§ÇÑ µ¥ÀÌÅÍÇüÀº 4byteÀÇ Å©±â¸¦ °¡Áö´Â
int ÇüÀÌ´Ù. ÀÌ°ÍÀ» ÄÄÇ»ÅÍ ¸Þ¸ð¸® »ó¿¡¼ º¸ÀÚ¸é ´ÙÀ½°ú °°Àº ¸ð½ÀÀ» ÇÏ°í ÀÖÀ» °ÍÀÌ´Ù.
|<----------- 32 --------->| 31 ... 43210 +--------------- -------+ | ... | +---------------- -------+ intÇü º¯¼ö
a ¿¡ 1À» ÀúÀåÇß´Ù¸é, 0¹ø° ºñÆ®¿¡
1 ÀÌ, 2¸¦ ÀúÀåÇß´Ù¸é 1¹ø° ºñÆ®¿¡
1 , 2¹ø° ºñÆ®¿¡
0 ÀÌ ÀúÀåµÉ °ÍÀÌ´Ù. -1À» ÀúÀåÇÏ°í ½Í´Ù¸é ? ÀÌ·¯ÇÑ À½ÀÇ °ªÀÇ Ç¥½Ã¸¦ À§Çؼ ¸¶Áö¸· ºñÆ®¸¦ µû·Î ³²°Ü µÎ¾ú´Ù. Áï 31¹ø° ºñÆ®¿¡
1 ÀÌ ÀÖÀ¸¸é À½¼ö,
0 ÀÌ ÀÖÀ¸¸é ¾ç¼ö¶ó°í ¾à¼ÓÀ» ÇÑ °ÍÀÌ´Ù. ´ÙÀ½Àº intÇü Á¤¼ö°¡ ¸Þ¸ð¸® »ó¿¡ ¾î¶»°Ô ÀúÀåµÇ´ÂÁö¸¦ ³ªÅ¸³»°í ÀÖ´Ù.
2 : 00000000 0000000 00000000 00000010
1 : 00000000 0000000 00000000 00000001
0 : 00000000 0000000 00000000 00000000 ¿©±â¿¡¼
- °¡ µÇ¸é ¾Æ·¡¿Í °°ÀÌ Ç¥ÇöµÈ´Ù.
-1 : 11111111 11111111 11111111 11111111
-2 : 11111111 11111111 11111111 11111110
-3 : 11111111 11111111 11111111 11111101 ÀÌ·¸°Ô Çغ¸¸é ¾çÀÇ Á¤¼ö·Î °¡ÀåÅ« ¼ö¿Í À½ÀÇ Á¤¼öÁß °¡Àå ÀÛÀº ¼ö´Â ¾Æ·¡¿Í °°À½À» °è»êÇÒ ¼ö ÀÖ´Ù.
°¡Àå Å« ¾çÀÇ Á¤¼ö : 011111111 11111111 11111111 11111111 (2147483647)
°¡Àå ÀÛÀº ¾çÀÇ Á¤¼ö : 100000000 00000000 00000000 00000000 (-2147483648) ¾à°£ È¥¶õ½º·´±â´Â ÇÏ°ÚÁö¸¸, ÀÌÇØÇϴµ¥ Å©°Ô ¾î·Á¿òÀº ¾øÀ» °ÍÀÌ´Ù.
ÀÌ·¸°Ô Çؼ À½ÀÇ ¼ö¸¦ Ç¥ÇöÇϱä Çߴµ¥, ´ë½Å¿¡ ÀúÀå°¡´ÉÇÑ ¼ýÀÚÀÇ Å©±â°¡ 2^32 ¿¡¼ 2^31À¸·Î 2¹è¸¸Å ÁÙ¾îµëÀ» ¾Ë ¼ö ÀÖ´Ù. ±×·¸´Ù¸é À½¼ö¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ¾øÀ» °æ¿ì ±»ÀÌ ¸¶Áö¸· ºñÆ®¸¦ À½¼öÀÎÁö ¾ç¼öÀÎÁö¸¦ ÆÇ´ÜÇϱâ À§Çؼ ³¶ºñÇÒ ÇÊ¿ä°¡ ¾øÀ» °ÍÀÌ´Ù.
À̸¦ À§Çؼ
unsigned °¡ Á¦°øµÈ´Ù.
ºÎÈ£¾ø´Â ¶æÀ¸·Î Çؼ®ÇÏ¸é µÇ¸ç, ±âº» ÀÚ·áÇü¾Õ¿¡ ½áÁֱ⸸ ÇÏ¸é µÈ´Ù.
unsigned int ´Â
ºÎÈ£¾ø´Â Á¤¼ö ¸¦ ÀúÀåÇϱâ À§ÇÑ µ¥ÀÌÅÍÇüÀÌ´Ù. µ¿ÀÏÇÏ°Ô unsigned char, unsigned double µîÀÇ ÀÚ·áÇüÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
unsigned °¡ »ý·«µÉ °æ¿ì
signed °¡ Àû¿ëµÈ´Ù.
100000000 00000000 00000000 00000000 °¡ ÁÖ¾îÁú °æ¿ì
signed int ¿¡¼´Â -2147483648ÀÌ´ø °ÍÀÌ unsigned int ¿¡¼´Â
2147483648 ÀÌ µÇ´Â ½ÄÀÌ´Ù.
´ÙÀ½Àº signed¿Í unsigned¸¦ ÀÌÇØÇϱâ À§ÇÑ °£´ÜÇÑ C ÄÚµå´Ù.
#include <stdio.h> #include <string.h> int main () { int a = -2147483648; printf("%d\n", a); printf("%u\n", a); printf("================\n"); a = a + 1; printf("%d\n", a); printf("%u\n", a); } ¾Æ·¡¿Í °°ÀÌ ÄÄÆÄÀÏ ½ÃÅ°°í °á°ú±îÁö È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ.
# gcc -o signed signed.c # ./signed -2147483648 2147483648 ================ -2147483647 2147483649 printf ÇÔ¼ö´Â °ªÀ» Æ÷¸Ë¿¡ ¸ÂÃß¾î ȸ鿡 Ãâ·Â½ÃÅ°±â À§Çؼ »ç¿ëÇÏ´Â ÇÔ¼ö´Ù.
%d ´Â ÁÖ¾îÁø ÀÎÀÚ¸¦ signed int ÇüÀ¸·Î Ãâ·ÂÇ϶ó´Â Æ÷¸Ë¿É¼ÇÀÌ°í,
%u ´Â
unsigned ÇüÀ¸·Î Ãâ·ÂÇ϶ó´Â Æ÷¸Ë¿É¼ÇÀÌ´Ù.
<scRIPT type=text/javascript> </scRIPT> <scRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> </scRIPT> <IFRAME name=google_ads_frame marginWidth=0 marginHeight=0 src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-0339096251232740&dt=1192669792171&lmt=1192669792&prev_fmts=728x90_as&format=468x60_as&output=html&correlator=1192669792109&channel=8014010384&url=http%3A%2F%2Fteamblog.joinc.co.kr%2Fyundream%2F189&ad_type=text_image&ref=http%3A%2F%2Fteamblog.joinc.co.kr%2Fyundream%2F181&cc=100&ga_vid=377354234.1188889436&ga_sid=1192176615&ga_hid=429111676&ga_fc=true&flash=9&u_h=1024&u_w=1280&u_ah=960&u_aw=1280&u_cd=32&u_tz=540&u_his=1&u_java=true" frameBorder=0 width=468 scrolling=no height=60 allowTransparency></IFRAME>
º¯¼ö´Â ¸»±×´ë·Î º¯ÇÏ´Â ¼öÀÌ°í, »ó¼ö´Â ¸»±×´ë·Î
º¯ÇÏÁö ¾Ê´Â ¼ö ÀÌ´Ù.
»ç¿ëÀÚÀÇ ³ªÀ̸¦ ÀԷ¹޾Ƽ ¾î¶² ÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î¾ß ÇÏ´Â °æ¿ì¸¦ »ý°¢Çغ¸ÀÚ. ´ëºÎºÐÀÇ »ç¿ëÀÚ°¡ Á¤»óÀûÀ¸·Î ÀÔ·ÂÇÏ°ÚÁö¸¸, 900, 28129315 ¿Í °°Àº Å͹«´Ï ¾ø´Â ¼ö¸¦ ÀÔ·ÂÇÏ´Â °æ¿ìµµ ¹ß»ýÇÒ °ÍÀÌ´Ù. ÀÌ·± ¹®Á¦´Â ÀԷ°¡´ÉÇÑ ÃÖ´ë°ªÀ» Á¤Çسõ°í ºñ±³ÇÏ´Â °ÍÀ¸·Î ÇØ°á°¡´É ÇÒ°ÍÀÌ´Ù.
¾Æ·¡´Â ÄÄÆÄÀÏ ÈÄ ½ÇÇà°¡´ÉÇÑ ¿¹Á¦ ÇÁ·Î±×·¥ÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¼ýÀÚ·Î º¯È¯ÇÑ´ÙÀ½
250 À» ÃÊ°úÇÏ´ÂÁö¸¦ °Ë»çÇÑ´Ù.
#include <stdio.h> int main (int argc, char **argv) { int age; // ** º¯¼ö ageÀÇ ¼±¾ð char buf[12]; // »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ÀúÀåÇÒ ¹öÆÛ const int maxage=250; // ** »ó¼ö maxageÀÇ ¼±¾ð age = 0; // ageÀÇ ±âº»°ªÀ¸·Î 0À» ÀÔ·ÂÇÑ´Ù. printf("Your Age is ? "); fgets (buf, 11, stdin); // Ç¥ÁØÀÔ·Â À¸·Î ÀÔ·ÂÀ» ¹Þ¾Æµé¿©¼ buf¿¡ ÀúÀåÇÑ´Ù. age = atoi (buf); // ÀоîµéÀÎ °ªÀ» int Á¤¼öÇüÀ¸·Î º¯È¯ÇÑ´Ù. if (age > maxage) // age¿Í maxage¸¦ ºñ±³ÇÑ´Ù. { printf("Are you crazy ? \n"); printf("Max age is %d\n", maxage); return 1; } printf("OK your age is %d\n", age); return 0; }
»ó¼ö´Â
const Å°¿öµå¸¦
À̸§ ¾Õ¿¡ ºÙÀ̸éµÈ´Ù. ¿¹¸¦ µé¾î ¹®ÀÚ¿ »ó¼ö¸¦ ¼±¾ðÇϱ⸦ ¿øÇÑ´Ù¸é,
const char *name = "yundream" ÇÏ¸é µÈ´Ù. const°¡ ÀÏ´Ü ºÙÀ¸¸é, ¼±¾ðÇÒ¶§¿¡¸¸ °ªÀ» ³Ö¾îÁÙ ¼ö ÀÖÀ¸¸ç, Áß°£¿¡ °ªÀ» º¯°æÇÒ ¼ö ¾ø´Ù.
age= atoi (buf) ´ÙÀ½ÁÙ¿¡
maxage=180 ¸¦ ³Ö¾îº¸±â ¹Ù¶õ´Ù. ½ÇÇàÀº Ä¿³ç ÄÄÆÄÀÏÁ¶Â÷ ¾ÈµÉ °ÍÀÌ´Ù.
# gcc -o input input.c input.c: In function ¡®main¡¯: input.c:13: error: assignment of read-only variable ¡®maxage¡¯
»ó¼ö¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â ¹»±î ? »ó¼ö´Â
±ÇÇÑ À» Á¤ÇÔÀ¸·Î½á, ÇÁ·Î±×·¡¸ÓÀÇ ½Ç¼ö¸¦ ¹Ì¿¬¿¡ ¹æÁöÇÏ°íÀÚ ÇÒ ¶§ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. À§ÀÇ ¿¹¿¡¼¿Í °°ÀÌ
maxage ´Â °íÁ¤µÈ °ªÀ¸·Î ÇÁ·Î±×·¥ ¿©±âÀú±â¿¡¼ »ç¿ëµÉ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¸¸¾à ÀÌ°Ô º¯¼ö¶ó¸é, ÇÁ·Î±×·¡¸Ó°¡ ½Ç¼ö·Î, ÇÑÂÊ¿¡¼´Â 150, ´Ù¸¥ ÇÔ¼ö¿¡¼´Â 100 À¸·Î ÀÔ·ÂÇÏ´Â µîÀÇ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ» °ÍÀÌ°í, ÀÌ´Â ÇÁ·Î±×·¥ÀÇ ½É°¢ÇÑ ³í¸®Àû ¹ö±×°¡ µÉ ¼ö ÀÖ´Ù.
const ¸¦ ÀÌ¿ëÇؼ º¯¼ö¸¦ »ó¼ö·Î ¼±¾ðÇÔÀ¸·Î½á ÀÌ·¯ÇÑ ¹®Á¦¸¦ ¿¹¹æÇÒ ¼ö ÀÖ´Ù.
1.4.1 º¯¼öÀÇ ¼±¾ð°ú Á¤ÀÇ
¾ö°ÝÈ÷ ÇÏÀÚ¸é
¼±¾ð Àº
À̸§ ¸¸ ¸¸µå´Â °ÍÀÌ°í,
Á¤ÀÇ ´Â ¼±¾ðµÈ À̸§¿¡
°ª À» ÁÖ´Â ÇàÀ§´Ù.
int i; // intÇü º¯¼ö i¸¦ ¼±¾ðÇÏ´Ù.
int i=a; // intÇü º¯¼ö i¸¦ Á¤ÀÇÇÏ´Ù. ±×·¯³ª C¿¡¼ º¯¼ö´Â ¼±¾ð°ú µ¿½Ã¿¡ Á¤ÀÇ°¡ ÀÌ·ç¾î Áö¹Ç·Î Â÷ÀÌ°¡ ¾øÀ¸¹Ç·Î,
º¯¼ö x¸¦ ¼±¾ðÇß´Ù ´Â Àǹ̴ º¯¼ö¿¡ ´ëÇÑ ¼±¾ð°ú Á¤ÀDZîÁö¸¦ ÀǹÌÇÑ´Ù. C ÄÄÆÄÀÏ·¯°¡ int i¸¦ ¼±¾ðÇÔ°ú µ¿½Ã¿¡ 4byteÀÇ ¸Þ¸ð¸® °ø°£À» ÇÒ´çÇÏ°í, ±× ¸Þ¸ð¸®¿¡ ÀÖ´ø °ªÀ» »ç¿ëÇÏ°Ô µÇ±â ¶§¹®ÀÌ´Ù.
¸Þ¸ð¸®¿¡ ÀÖ´ø °ªÀÌ ¾î¶² °ªÀε¥? ¹°·Ð ±×°ÍÀº ¾Ë µµ¸®°¡ ¾ø´Ù. ÇÁ·Î±×·¥ÀÇ ½ÇÇà½Ã ÇÒ´çµÈ 4byteÀÇ ¸Þ¸ð¸®¿¡ ¾î¶²°ªÀÌ ÀÖ´À³Ä¿¡ µû¶ó ´Þ¶óÁö±â ¶§¹®ÀÌ´Ù. ¾Æ·¡ÀÇ ÇÁ·Î±×·¥À» ¿¬¼ÓÇؼ ½ÇÇà½ÃÄÑ º¸±â ¹Ù¶õ´Ù.
#include <stdio.h> int main () { int i; printf("%d\n", i); } ½ÇÇàÇÒ ¶§ ¸¶´Ù °ªÀÌ ´Þ¶óÁö´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·¸°Ô º¯¼ö¸¦ ¼±¾ðÇÒ °æ¿ì ¾î¶² °ªÀÌ µé¾î ÀÖÀ»Áö ¾Ë ¼ö ¾øÀ¸¹Ç·Î, ¼±¾ð°ú µ¿½Ã¿¡ °ªÀ» ÀÔ·ÂÇØÁÖ´Â
ÃʱâÈ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù. ÃʱâÈ ÀÛ¾÷À» ÇÏÁö ¾ÊÀ» °æ¿ì ½É°¢ÇÑ ¹®Á¦¸¦ °¡Áø ÇÁ·Î±×·¥ÀÌ ¸¸µé¾î Áú ¼ö Àֱ⠶§¹®ÀÌ´Ù.
¾Æ·¡ÀÇ ¿¹Á¦´Â Á» ´õ ½¬¿î ¿¹Á¦·Î º¯°æÇÒ ÇÊ¿ä°¡ ÀÖÀ½..
#include <stdio.h> int main () { int i = 0; int k; while(k <= 100) { i = i+k; k++; } printf("%d\n", i); } 1ºÎÅÍ 100±îÁöÀÇ ¸ðµç ¼ö¸¦ ´õÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µå´Â°Ô ¸ñÀûÀÌ¿´Áö¸¸, iÀÇ °ªÀ» ÃʱâÈ ÇØÁÖÁö ¾ÊÀº ÀÌÀ¯·Î ÀüÇô ¾û¶×ÇÑ °á°ú°¡ Ãâ·ÂÀÌ µÉ °ÍÀÌ´Ù. ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î ¼±¾ð°ú µ¿½Ã¿¡ ÃʱâÈ Çϰųª ȤÀº »ç¿ëÇϱâ Àü¿¡ ÃʱâÈ ÇØÁÖ´Â ¼¾½º°¡ ÇÊ¿äÇÏ´Ù.
int k = 0; ȤÀº int k; k = 0; while (i< 100)
ÀÌ¹Ì ¸î°³ÀÇ ¼ÀÇà ÇÁ·Î±×·¥ÀÇ Äڵ带 (ºñ·Ï ¿ÏÀüÈ÷ ÀÌÇØ ÇÏÁö ¸øÇß°ÚÁö¸¸)º¸¾Æ ¿ÔÀ¸¹Ç·Î, ¾î¶»°Ô º¯¼ö¸¦ ¼±¾ðÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇÑ °¨Àº Àâ°í ÀÖÀ¸¸®¶ó »ý°¢µÈ´Ù. ¸î°³ÀÇ ¿¹¸¦ ´õ µå´Â °ÍÀ¸·Î ¼³¸íÀ» ¸¶Ä¡µµ·Ï ÇÏ°Ú´Ù.
char a : ÇϳªÀÇ ¹®ÀÚ¸¦ ÀúÀåÇϱâ À§ÇÑ ¹®ÀÚÇü º¯¼ö a ÀÇ ¼±¾ð
long a : longÇü º¯¼ö a ÀÇ ¼±¾ð
char *a : ¸Þ¸ð¸®ÀÇ ÁÖ¼ÒÁ¤º¸¸¦ ÀúÀåÇϱâ À§ÇÑ Æ÷ÀÎÅÍ º¯¼ö a ÀÇ ¼±¾ð
Æ÷ÀÎÅÍ´Â ³ªÁß¿¡ µû·Î ´Ù·ê °ÍÀÌ´Ù.
1.5 ¿¬»êÀÚ
¿¬»êÀÚ´Â
´ÜÀÏ ¹®ÀÚ È¤Àº
´Ü¾î ·Î ³»ºÎÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¿ì¸®´Â ÀÌ¹Ì ¸î°³ÀÇ ¿¹Á¦ ÇÁ·Î±×·¥À» ÅëÇؼ »çÄ¢¿¬»êÀ» À§ÇÑ ¿¬»êÀÚ,
ºñ±³¿¬»êÀÚ ¸¦ »ç¿ëÇß¾ú´Ù. ÀÌ·¯ÇÑ ¿¬»êÀÚ´Â °á°ú¸¦ Ãâ·ÂÇϱâ À§Çؼ ÇϳªÀÌ»óÀÇ ÇÇ¿¬»êÀÚ¸¦ ÇÊ¿ä·Î ÇÑ´Ù. »çÄ¢¿¬»êÀÚ¶ó¸é 2°³ÀÇ ÇÇ¿¬»êÀÚ¸¦ ÇÊ¿ä·Î ÇÒ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î µ¡¼ÀÀ» À§ÇÑ ¿¬»êÀÚÀÎ
+ ¸¦ ÀÌ¿ëÇؼ
4 + 5 ¸¦ Çß´Ù¸é 2°³ÀÇ ÇÇ¿¬»êÀÚ¸¦ ´õÇÑ °á°ú·Î 9¸¦ ¾ò°Ô µÉ °ÍÀÌ´Ù.
C´Â ¸¹Àº ¼öÀÇ ¿¬»êÀÚ¸¦ Á¦°øÇϴµ¥, ´ë·« 3°³ÀÇ Å« Ä«Å×°í¸®·Î ºÐ·ùÇÒ ¼ö ÀÖ´Ù.
´ëÀÔ ¿¬»êÀÚ : º¯¼ö¿¡ °ªÀ» ´ëÀÔÇϱâ À§ÇÑ ¿¬»êÀÚ
»ê¼ú ¿¬»êÀÚ : +, -, *, / ¿Í °°Àº ¼öÄ¡°è»êÀ» À§ÇÑ ¿¬»êÀÚ
ºñ±³ ¿¬»êÀÚ : >, =, < ¿Í °°Àº ºñ±³¸¦ À§ÇÑ ¿¬»êÀÚ
±âŸ ¿¬»êÀÚ : ³í¸® ¿¬»êÀÚ , ºñÆ® ¿¬»êÀÚ , ij½ºÆ® ¿¬»êÀÚ ÀÌµé ¿¬»êÀÚ´Â Ä«Å×°í¸® º°·Î ÀÚ¼¼È÷ »ìÆ캸µµ·Ï ÇÏ°Ú´Ù.
1.5.1 ´ëÀÔ ¿¬»êÀÚ
+,- ȤÀº ÇÔ¼öÀÇ °è»ê¿¡ ÀÇÇؼ ¸¸µé¾îÁø °á°ú´Â
º¯¼ö ¿¡ ÀúÀåÀÌ µÇ¾î¾ß ÇÑ´Ù. ÀÌ·¸°Ô ¾î¶² °á°ú°ªÀ» ´Ù¸¥ º¯¼ö¿¡ ÀúÀåÇϱâ À§ÇØ »ç¿ëÇÏ´Â ¿¬»êÀÚ°¡
´ëÀÔ ¿¬»êÀÚ ÀÌ´Ù. ´ëÀÔ¿¬»êÀÚ´Â
=¸¦ »ç¿ëÇϸç, ÇϳªÀÇ ÇÇ¿¬»êÀÚ¸¸À» °¡Áø´Ù.
¾Æ·¡¿¡ ´ëÀÔ¿¬»êÀÚ¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ³ª¿Ô´Ù.
int eng, kor, math, total; eng = 85; kor = 76; math = 80; total = eng+kor+math; ´ëÀÔ¿¬»êÀÚ´Â
=¸¦ ±âÁØÀ¸·Î ¿À¸¥ÂÊÀÇ °ªÀ» ¿ÞÂÊÀÇ º¯¼ö¿¡ ¹Ð¾î³Ö´Â´Ù. ¿À¸¥ÂÊÀÇ °ªÀ» º¯¼ö¿¡ ÀúÀåÇÑ´Ù°í ÀÌÇØÇÏ¸é µÈ´Ù. À§ Äڵ忡¼ eng º¯¼ö¿¡ 85°¡ ÀúÀåµÇ¾úÀ½À» ¾Ë ¼ö ÀÖ´Ù.
¿ÞÂÊ¿¡´Â ¹Ýµå½Ã º¯¼ö°¡ ¿Í¾ß ÇÑ´Ù. ¾Æ·¡´Â À߸øµÈ ÄÚµå´Ù
5 = 2 + 3;
1.5.2 ÀÏ¹Ý ¼öÄ¡¿¬»êÀÚ
°¡Àå ±âº»ÀûÀÎ ¿¬»êÀ» À§Çؼ »ç¿ëµÈ´Ù. »çÄ¢¿¬»êÀ» À§ÇÑ ¿¬»êÀÚ°¡ ´ëÇ¥ÀûÀÌ´Ù. ´ÙÀ½Àº C¾ð¾î¿¡¼ Áö¿øÇÏ´Â ÀÏ¹Ý ¼öÄ¡¿¬»êÀÚµéÀÌ´Ù. ÀÌµé ¿¬»êÀÚ´Â C»Ó¸¸ ¾Æ´Ñ ´Ù¸¥ ¸ðµç ¾ð¾î¿¡¼ °øÅëÀûÀ¸·Î ã¾Æº¼ ¼ö ÀÖ´Ù.
+ : µ¡¼À
- : »¬¼À
/ : ³ª´°¼À
* : °ö¼À
% : ³ª¸ÓÁö°ª + ¿Í
- ´Â ¿ª¼ö¸¦ ¸¸µé±â À§ÇÑ ¸ñÀûÀ¸·Îµµ »ç¿ëµÈ´Ù.
a = 5; b = -a; // b¿¡´Â -5°¡ ´ëÀԵȴÙ.
1.5.3 ³í¸® ¿¬»êÀÚ
³í¸® ¿¬»êÀÚ´Â
Âü ¶Ç´Â
°ÅÁþ À» ÆǺ°Çϱâ À§Çؼ »ç¿ëµÈ´Ù. C´Â ´ÙÀ½°ú °°Àº ¿¬»êÀÚ¸¦ Áö¿øÇÑ´Ù.
&& : AND (¸ðµÎ ÂüÀÏ ¶§ Âü)
|| : OR (Çϳª¶óµµ ÂüÀ̸é Âü)
! : NOT (ÂüÀÌ¸é °ÅÁþ, °ÅÁþÀ̸é Âü) ¾Æ·¡ÀÇ °æ¿ì
a °¡
b º¸´Ù Å©°í,
b °¡
c º¸´Ù Å« Á¶°ÇÀÌ ¸ðµÎ ¸¸Á·ÇÒ ¶§ ÂüÀÌ µÈ´Ù.
( a > b) && ( b > c)
¾Æ·¡´Â ¾à°£ ´õ º¹ÀâÇÑ °æ¿ì´Ù.
(a > b) || !(a > c) a°¡ bº¸´Ù ´õÅ©°Å³ª ȤÀº a °¡ cº¸´Ù Å©Áö ¾Ê´Ù¸é ÂüÀÌ µÈ´Ù.
1.5.4 Áõ°¨ ¿¬»êÀÚ
C¿¡¼´Â
++ ¿Í
-- ¶ó´Â Ư¼öÇÑ ÇüÅÂÀÇ ¿¬»êÀÚ¸¦ Á¦°øÇÑ´Ù. À̵éÀº °¢°¢
Áõ°¡¿¬»êÀÚ ¿Í
°¨¼Ò ¿¬»êÀÚ ¶ó°í ºÒ¸®¿î´Ù.
++ : º¯¼ö¿¡ 1À» ´õÇÑ´Ù
-- : º¯¼ö¿¡¼ 1À» »«´Ù. Áï
a = a + 1 ˼
a++ ¿Í µ¿ÀÏÇÑ °á°ú¸¦ º¸¿©ÁØ´Ù. ¶ÇÇÑ
++a ¿Íµµ µ¿ÀÏÇÑ´Ù. ÄÚµåÀÇ ¾çÀ» ÁÙ¿©¼ °¡µ¶¼ºÀ» ³ôÀ̱â À§ÇÑ ¸ñÀûÀ¸·Î ÁÖ·Î »ç¿ëµÈ´Ù- Áõ°¨¿¬»êÀÚ¸¦ »ç¿ëÇÑ´Ù°í Çؼ ¹Ýµå½Ã °¡µ¶¼ºÀÌ ÁÁ¾ÆÁö´Â °Ç ¾Æ´Ï±ä ÇÏ´Ù -. À̵é Áõ°¨¿¬»êÀÚ´Â
Æ÷ÀÎÅÍ ÀÇ À§Ä¡¸¦ Áõ°¡Çϰųª °¨¼ÒÇϱâ À§ÇÑ ¸ñÀûÀ¸·Îµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Æ÷ÀÎÅÍ´Â ³ªÁß¿¡ ´Ù·ç°Ô µÉ °ÍÀÌ´Ù.
¾ö°ÝÈ÷ ¸»ÇÏÀÚ¸é
a++ °ú
++a ´Â »ç¿ëµÇ´Â Äڵ忡 µû¶ó¼ ´Ù¸¥ °á°ú¸¦ º¸¿©ÁÙ ¼öµµ Àִµ¥, ÀÌ´Â ³ªÁß¿¡ ¾ð±ÞÇϵµ·Ï ÇÏ°Ú´Ù.
1.5.5 ºñÆ® ¿¬»êÀÚ
ÄÄÇ»ÅÍ´Â 0-9¸¦ »ç¿ëÇÏ´Â Àΰ£°ú ´Þ¸® 0°ú 1·ÎµÈ ºñÆ®¸¦ ÀÌ¿ëÇؼ °è»êÀ» ÇÑ´Ù´Â °ÍÀº ´Ùµé ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù. ±×·¯ÇÏ´Ù º¸´Ï ÄÄÇ»Å͸¦ ÀÌ¿ëÇؼ Á¤º¸¸¦ Á¦´ë·Î ´Ù·ç±â À§Çؼ´Â
ºñÆ® ¸¦ Á¦´ë·Î ÀÌÇØÇÏ°í ´Ù·ç´Â°Ô ¸Å¿ì Áß¿äÇÏ°Ô µÈ´Ù. ºñÆ® ¿¬»êÀÚ´Â ºñÆ®¸¦ ´Ù·ç±â À§ÇÑ ¸ñÀûÀ¸·Î »ç¿ëÇÑ´Ù.
¿ì¸®°¡ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â x86ÄÄÇ»ÅÍÀÇ °æ¿ì byte¸¦ ±âº»´ÜÀ§·Î »ç¿ëÇÏ°Ô µÈ´Ù. ¶§¹®¿¡ ºñÆ®¿¬»êÀÚ¸¦ ÅëÇؼ ºñÆ®¿¬»êÀ» ÇÒ ¶§¿¡µµ byte´ÜÀ§·Î ¿¬»êÇÏ°Ô µÈ´Ù. C´Â ´ÙÀ½°ú °°Àº ºñÆ®¿¬»êÀÚ¸¦ ÁغñÇÏ°í ÀÖ´Ù.
a & b
ºñÆ®´ÜÀ§ AND
AND ¿¬»êÀÚ
a | b
ºñÆ®´ÜÀ§ OR
OR ¿¬»êÀÚ
a ~ b
ºñÆ®´ÜÀ§ exclusive
a << b
¿ÞÂÊÀ¸·Î ºñÆ®¸¦ À̵¿
½¬ÇÁÆ® ¿¬»êÀÚ
a >> b
¿À¸¥ÂÊÀ¸·Î ºñÆ®¸¦ À̵¿
~a
1ÀÇ º¸¼ö
& ¿¬»êÀÚ´Â °£´ÜÇÏ´Ù. ½ÊÁø¼ö 10¿Í 14°¡ ÀÖÀ»°æ¿ì ÀÌ µÎ ¼ö¸¦ & ¿¬»êÇÏ¸é ´ÙÀ½°ú °°Àº °á°ú¸¦ º¸¿©ÁÙ °ÍÀÌ´Ù.
| ¿¬»êÀº ±»ÀÌ ¼³¸íÇÏÁö ¾Êµµ·Ï ÇÏ°Ú´Ù.
10 00000000 00000000 00000000 00001010 14 00000000 00000000 00000000 00001110 -------------------------------------------- 00000000 00000000 00000000 00001010 10
½¬ÇÁÆ® ¿¬»êÀÚ Áß
<< ´Â ºñÆ®¸¦ ¿ÞÂÊÀ¸·Î À̵¿½ÃŲ´Ù. ¿ÞÂÊÀ¸·Î À̵¿½ÃÅ°¸é ¿À¸¥ÂÊÀÌ ³²°Ô µÉ°Çµ¥, ³²Àº ÀÚ¸®´Â
0 À¸·Î ä¿öÁø´Ù.
6 À»
<< 1 Çϸé 12°¡ µÉ°ÍÀÌ´Ù.
00000000 00000000 00000000 00000110 00000000 00000000 00000000 00001100
>> ¿¬»êÀÚ´Â ¿À¸¥ÂÊÀ¸·Î À̵¿½ÃÅ°´Âµ¥, ÁÖÀÇÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ¿À¸¥ÂÊÀ¸·Î À̵¿½ÃÅ°¸é ¿ÞÂÊ ºñÆ®°¡ ³²°Ô µÉ°Çµ¥, À̶§ ³²´Â ºñÆ®´Â ¿À¸¥ÂÊ¿¡ ÀÖ´ø ºñÆ®·Î ä¿öÁö°Ô µÈ´Ù´Â Á¡ÀÌ´Ù. ¾Æ·¡ÀÇ ¿¹¸¦ º¸ÀÚ.
10000000 00000000 00000000 00000000 ÀÌ°ÍÀ» >> 1Çϸé 11000000 00000000 00000000 00000000 ÀÌ·¸°Ô µÈ´Ù.
1.6 ¿¬»êÀÚÀÇ »ç¿ë
´ÙÀ½Àº Áö±Ý±îÁö ¹è¿î ¿¬»êÀÚ¸¦ È°¿ëÇÑ °£´ÜÇÑ ÇÁ·Î±×·¥ÀÌ´Ù.
#include <stdio.h> int main () { int my_int; printf("ÀÏ¹Ý ¼öÄ¡¿¬»ê : \n\n"); my_int = 6; // ´ëÀÔ printf("my_int = %d, -my_int = %d\n", my_int, -my_int); printf("int 1+2 = %d\n", 1 + 2); printf("int 5-1 = %d\n", 5 - 1); printf("int 5*1 = %d\n", 5 * 1); printf("int 5/2 = %d\n", 5 / 2); printf("int 5/2 = %d\n", 5 % 2); printf("double 9/4 = %f\n", 9.0 / 4.0); } ÇÁ·Î±×·¥ÀÇ ½ÇÇà°á°ú°¡ ¾î¶°ÇÒ·±Áö ¿¹»óÇÏ´Â°Ç ¾î·ÆÁö ¾ÊÀ» °ÍÀÌ´Ù. ÄÄÆÄÀÏ ÈÄ ½ÇÇà½ÃÄѼ ¿¹»óÇÑ °á°ú°¡ ³ª¿Ô´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ.
1.7 ¿¬»êÀÚ ¿ì¼±¼øÀ§
¿¬»êÀÚ ¿ì¼±¼øÀ§´Â ¿©·¯°³ÀÇ ¿¬»êÀÚ·Î ÀÌ·ç¾îÁø ¶óÀÎ Äڵ尡 ÀÖÀ» °æ¿ì, ¾î¶² ¼ø¼·Î ó¸®ÇÒ °ÍÀÎÁö¸¦ °áÁ¤Çϱâ À§Çؼ »ç¿ëµÈ´Ù. ´ÙÀ½Àº 2+5*4 ÀÇ ¿¬»ê°á°ú¸¦ Ãâ·ÂÇÏ´Â ÄÚµå´Ù.
#include <stdio.h> int main () { printf("%d\n", 2 + 5 * 4); } ¾ð¶æ »õ°¢Çϱ⿡
28 À̶ó´Â °á°ú°¡ ³ª¿Ã °Å¶ó°í ¿¹»óÇÒ ¼ö ÀÖÁö¸¸, C´Â ³ª¸§´ë·ÎÀÇ ¿¬»êÀÚ ¿ì¼±¼øÀ§¿¡ µû¶ó¼
* ¿¬»êÀ»
+ ¿¬ »êº¸´Ù ¸ÕÀúÇÏ°Ô µÈ´Ù. ±×·¡¼ 22¶ó´Â °á°ú°¡ ³ª¿À°Ô µÈ´Ù. Áï À§ÀÇ ÄÚµåÀÇ °æ¿ì C´Â ((5*4) + 2)·Î Çؼ®Çؼ °è»êÀ» ÇÑ´Ù. ´«Ä¡Ã«°ÚÁö¸¸ ¿¬»ê¼øÀ§¸¦ ¹«½ÃÇϰųª À߸ø ÀÌÇØÇÒ °æ¿ì ÀüÇô ¾û¶×ÇÑ À߸øµÈ ÇÁ·Î±×·¥À» ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù.
´ÙÀ½Àº C¿¡¼ Àû¿ëµÇ´Â ¿¬»êÀÚ ¿ì¼±¼øÀ§´Ù. Âü°í·Î °áÇÕ¼ºÀº ¿ì¼±¼øÀ§°¡ °°Àº ¿¬»êÀÚµéÀÌ ¿©·µÀÖÀ» °æ¿ì ¾î´À¹æÇâÀ¸·Î ó¸®ÇÒ °ÇÁö¸¦ °áÁ¤Çϱâ À§ÇØ »ç¿ëµÈ´Ù. ÁÂ->¿ì´Â ¿ÞÂÊ¿¡¼ ¸ÕÀú, ¿ì->Á´ ¿À¸¥ÂÊ¿¡¼ ¸ÕÀú °è»êÇÑ´Ù´Â °É ÀǹÌÇÑ´Ù.
¼øÀ§
¿¬»êÀÚ
°áÇÕ¼º
1
(), [], ->
ÁÂ-> ¿ì
2
!-, ++, --, +(´ÜÇ×), -(´ÜÇ×), *(Æ÷ÀÎÅÍ), &, sizeof
¿ì->ÁÂ
3
*, /, %
ÁÂ->¿ì
4
+, -
ÁÂ->¿ì
5
<<, >>
ÁÂ->¿ì
6
<, <=, >, >=
ÁÂ->¿ì
7
==, !=
ÁÂ->¿ì
8
&(ºñÆ®¿¬»êÀÚ)
ÁÂ->¿ì
9
~
ÁÂ->¿ì
10
!
ÁÂ->¿ì
11
&&
ÁÂ->¿ì
12
| |
ÁÂ->¿ì
13
?:
ÁÂ->¿ì
14
,
¿ì->ÁÂ
À§ÀÇ ¿ì¼±¼øÀ§¸¦ ÀÌÇØÇß´Ù¸é, ¾Æ·¡ÀÇ Á» º¹ÀâÇØ º¸ÀÌ´Â Äڵ尡 ¾î¶»°Ô °è»êµÉÁö ¿¹»óÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
a=10*3-40/20*12+20%-2 À§ÀÇ ÄÚµå´Â ´ÙÀ½°í °¡ÅÁÀÌ °è»êµÈ´Ù.
a=[(10*3)-{(40/20)*15}]+{20%(-2)}
±×·¯³ª ¿¬»ê¼øÀ§¸¦ ÀÌÇØÇÏ°í ÀÖ´Ù°í ÇÏ´õ¶óµµ ¸¹Àº ¿¬»êÀÌ µé¾î°¡´Â Äڵ带 ÀÛ¼ºÇÏ´Ù º¸¸é ÇÊ¿¬ÀûÀ¸·Î ½Ç¼ö¸¦ ÇÏ°Ô µÈ´Ù. °Ô´Ù°¡ ÄÚµåÀÇ °¡µ¶¼ºµµ ±ØÀûÀ¸·Î ¶³¾îÁø´Ù.
a=10*3-40/20*12+20%-2 °¡ ¹«½¼ÀÏÀ» ÇÏ´ÂÁö ÇÑ´«¿¡ ÀÌÇØÇϱâ¶õ ½¬¿îÀÏÀÌ ¾Æ´Ï´Ù. ±×·¯´Ï ¿¬»ê¼øÀ§°°Àº °Í¿¡ ½Å°æ¾²Áö¸»°í °ýÈ£
() ¸¦ ÀÌ¿ëÇؼ Á÷Á¢ ¿ì¼±¼øÀ§¸¦ Á¤ÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇϵµ·Ï ÇÑ´Ù.
a=10*3-40/20*12+20%-2 ¸¦ °ýÈ£¸¦ ÀÌ¿ëÇÏ¸é ´ÙÀ½°ú °°ÀÌ Àç ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ½Ç¼öµµ ¸·¾ÆÁÙ »Ó´õ·¯, ÀÌÇØÇϱ⵵ ÈξÀ ½±´Ù´Â°É ´À³¥ °ÍÀÌ´Ù.
a = ( (10*3) - ((40/20)*15) ) + ( 20%(-2) )