¿ù°£ Àα⠰Խù°

°Ô½Ã¹° 9°Ç
   
¸®´ª½º ȯ°æ¿¡¼­ÀÇ C ÇÁ·Î±×·¡¹Ö - 4Àå º¯¼ö¿Í ¿¬»êÀÚ
±Û¾´ÀÌ : ÃÖ°í°ü¸®ÀÚ ³¯Â¥ : 2009-11-30 (¿ù) 19:32 Á¶È¸ : 240585
±ÛÁÖ¼Ò :
                          

Ãâó http://teamblog.joinc.co.kr/yundream/189

 

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¹®¹ýÀ» °øºÎÇÏÁø ¸øÇßÁö¸¸, ´ë·« ÀÌÇØÇϴµ¥ ¾î·Á¿òÀÌ ¾øÀ» °ÍÀÌ´Ù.
  1. a = 1 : º¯¼ö a°¡ °¡¸®Å°´Â °÷¿¡ 1À» ÀúÀåÇÏ°í
  2. b = 10 : º¯¼ö b°¡ °¡¸®Å°´Â °÷¿¡ 10À» ÀúÀåÇÑ´Ù.
  3. sum = a+b : º¯¼ö a°¡ °¡¸®Å°´Â °÷ÀÇ °ª 1°ú º¯¼ö b°¡ °¡¸®Å°´Â °÷¿¡ ÀúÀåµÈ °ª 10À» °¡Á®¿Í¼­ ´õÇÏ°í, ±× °á°ú°ªÀÎ 11À» sum¿¡ ÀúÀåÇÑ´Ù.
  4. º¯¼ö sumÀÌ °¡¸®Å°´Â °÷¿¡ ÀúÀåµÈ °ª 11À» °¡Á®¿À°í printf¶ó´Â ÇÔ¼ö¸¦ ÀÌ¿ëÇؼ­ È­¸é¿¡ Ãâ·ÂÇÑ´Ù.

1.2.1 ¸í¸í ±ÔÄ¢

º¯¼ö¸í°ú »ó¼ö¸íÀº ¾ËÆĺª ¿µ¹®ÀÚ¿Í ¼Ò¹®ÀÚ, ¼ýÀÚ,_°¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. ¶ÇÇÑ Ã¹±ÛÀÚ´Â ¹Ýµå½Ã '¿µ¹®¼Ò¹®ÀÚ','´ë¹®ÀÚ', '_'¿©¾ß ÇÑ´Ù.
º¯¼ö¸í Çã¿ë¿©ºÎ ¼³¸í
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>

1.4 »ó¼ö

º¯¼ö´Â ¸»±×´ë·Î º¯ÇÏ´Â ¼öÀÌ°í, »ó¼ö´Â ¸»±×´ë·Î º¯ÇÏÁö ¾Ê´Â ¼öÀÌ´Ù.

»ç¿ëÀÚÀÇ ³ªÀ̸¦ ÀԷ¹޾Ƽ­ ¾î¶² ÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î¾ß ÇÏ´Â °æ¿ì¸¦ »ý°¢Çغ¸ÀÚ. ´ëºÎºÐÀÇ »ç¿ëÀÚ°¡ Á¤»óÀûÀ¸·Î ÀÔ·ÂÇÏ°ÚÁö¸¸, 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 º¯¼öÀÇ ¼±¾ð°ú Á¤ÀÇ

¾ö°ÝÈ÷ ÇÏÀÚ¸é ¼±¾ðÀº À̸§¸¸ ¸¸µå´Â °ÍÀÌ°í, Á¤ÀÇ´Â ¼±¾ðµÈ À̸§¿¡ °ªÀ» ÁÖ´Â ÇàÀ§´Ù.
  1. int i; // intÇü º¯¼ö i¸¦ ¼±¾ðÇÏ´Ù.
  2. 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)

ÀÌ¹Ì ¸î°³ÀÇ ¼ÀÇà ÇÁ·Î±×·¥ÀÇ Äڵ带 (ºñ·Ï ¿ÏÀüÈ÷ ÀÌÇØ ÇÏÁö ¸øÇß°ÚÁö¸¸)º¸¾Æ ¿ÔÀ¸¹Ç·Î, ¾î¶»°Ô º¯¼ö¸¦ ¼±¾ðÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇÑ °¨Àº Àâ°í ÀÖÀ¸¸®¶ó »ý°¢µÈ´Ù. ¸î°³ÀÇ ¿¹¸¦ ´õ µå´Â °ÍÀ¸·Î ¼³¸íÀ» ¸¶Ä¡µµ·Ï ÇÏ°Ú´Ù.
  1. char a : ÇϳªÀÇ ¹®ÀÚ¸¦ ÀúÀåÇϱâ À§ÇÑ ¹®ÀÚÇü º¯¼ö aÀÇ ¼±¾ð
  2. long a : longÇü º¯¼ö aÀÇ ¼±¾ð
  3. 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;

ÀϹÝÀûÀ¸·Î '''='''¸¦ °°´Ù¶ó´Â Àǹ̷Π»ç¿ëÇÏ´Â °æ¿ì°¡ Àִµ¥, C¿¡¼­ '''='''´Â ºñ±³¸¦ À§Çؼ­ »ç¿ëÇÏ´Â ¿¬»êÀÚ°¡ ¾Æ´Ï´Ù. C´Â °°À½À» ºñ±³¸¦ À§Çؼ­ '''=='''¸¦ »ç¿ëÇÑ´Ù. °æÇèÀÖ´Â ÇÁ·Î±×·¡¸Óµµ '''=='''¸¦ ¾µ°÷¿¡ '''='''¸¦ ¾²´Â À߸øÀº ÈçÇÏ°Ô ÇÑ´Ù.

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) )

À̸§ Æнº¿öµå
ºñ¹Ð±Û (üũÇÏ¸é ±Û¾´À̸¸ ³»¿ëÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.)
¿ÞÂÊÀÇ ±ÛÀÚ¸¦ ÀÔ·ÂÇϼ¼¿ä.
   

 



 
»çÀÌÆ®¸í : ¸ðÁö¸®³× | ´ëÇ¥ : ÀÌ°æÇö | °³ÀÎÄ¿¹Â´ÏƼ : ·©Å°´åÄÄ ¿î¿µÃ¼Á¦(OS) | °æ±âµµ ¼º³²½Ã ºÐ´ç±¸ | ÀüÀÚ¿ìÆí : mojily°ñ¹ðÀÌchonnom.com Copyright ¨Ï www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.