| if ๋ฌธ ์‹œ์ž‘ํ•˜๊ธฐ |

  if (์กฐ๊ฑด) {์กฐ๊ฑด์ด ์ฐธ ์ผ ๋•Œ ์‹คํ–‰ ๋ช…๋ น์–ด};

 

[ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž ] 

== : ์ขŒ๋ณ€๊ณผ ์šฐ๋ณ€์ด ๊ฐ™์Œ

>= : ์ขŒ๋ณ€์ด ์šฐ๋ณ€๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์Œ

>   : ์ขŒ๋ณ€์ด ์šฐ๋ณ€๋ณด๋‹ค ํผ

<= : ์ขŒ๋ณ€์ด ์šฐ๋ณ€๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์Œ

<   : ์ขŒ๋ณ€์ด ์šฐ๋ณ€๋ณด๋‹ค ์ž‘์Œ

!=  : ์ขŒ๋ณ€๊ณผ ์šฐ๋ณ€์ด ๊ฐ™์ง€ ์•Š์Œ

 

โ€ป ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž๋Š” ๊ด€๊ณ„ ์—ฐ์‚ฐ ํ›„ ์ฐธ์ด๋ฉด 1, ๊ฑฐ์ง“์ด๋ฉด 0์„ ๋‚˜ํƒ€๋ƒ„ 

    if (0) ์ด๋ผ ํ•œ๋‹ค๋ฉด ๊ทธ ์ค‘๊ด„ํ˜ธ ์†์˜ ๋‚ด์šฉ์€ ์ ˆ๋Œ€๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ 

    if(1) ์ด๋ผ ํ•œ๋‹ค๋ฉด ๊ทธ ์ค‘๊ด„ํ˜ธ ์†์˜ ๋‚ด์šฉ์€ 100% ์‹คํ–‰

 

โ€ป ์ปดํ“จํ„ฐ์—์„œ 0์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์€ ๊ธˆ์ง€

 

| if - else ๋ฌธ ์‹œ์ž‘ํ•˜๊ธฐ | : else ์ดํ•˜๋Š” ์•ž์˜ if๊ฐ€ ์ฐธ์ด ์•„๋‹ ๋•Œ ์‹คํ–‰ ๋จ

if () {}; else { if() {} }

== if () {}; else if () {};

 

| ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž |

[๋…ผ๋ฆฌ ๊ณฑ ์—ฐ์‚ฐ์ž (Logical AND), && ] : ๋‘ ์กฐ๊ฑด ๋ชจ๋‘ ์ฐธ์ผ ๋•Œ๋งŒ ์ฐธ์„ ๋ฐ˜ํ™˜

 if (a >= 10 && a < 20) {
    printf(" %d ๋Š” 10 ์ด์ƒ, 20 ๋ฏธ๋งŒ์ธ ์ˆ˜ ์ž…๋‹ˆ๋‹ค. \n", a);
  }

           โ””> ๊ด€๊ณ„ ์—ฐ์‚ฐ ๋‘๊ฐ€์ง€ ๋ชจ๋‘๊ฐ€ ์ฐธ(1)์ผ ๋•Œ๋งŒ &&์—ฐ์‚ฐ์— ์˜ํ•ด ์ฐธ(1)์ด ๋„์ถœ ๋จ.

                 → ๋‘ ๊ด€๊ณ„์—ฐ์‚ฐ์ด ๋ชจ๋‘ ์ฐธ์ผ๋•Œ๋งŒ if ( 1 )์ด ๋˜๋ฏ€๋กœ ์ค‘๊ด„ํ˜ธ ์ดํ•˜๊ฐ€ ์‹คํ–‰ ๋จ.

 

 - ' & '๋Š” ๋น„ํŠธ ์—ฐ์‚ฐ์ž ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋…ผ๋ฆฌ ๊ณฑ ์—ฐ์‚ฐ์€ ' && '๋กœ ํ‘œํ˜„ ํ•จ

 

- Short Circuit Evaluation -

if (height >= 180 && weight >= 90) {
}

  ์œ„ ์ฒ˜๋Ÿผ ํ•œ ์กฐ๊ฑด์‹์„ ํ™•์ธํ•˜๊ณ  ์ „์ฒด ๊ฒฐ๊ณผ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ, ๊ตณ์ด ๊ทธ ๋‹ค์Œ ์กฐ๊ฑด์‹์„ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์—†์Œ. ์ด ๊ฒฝ์šฐ ์ปดํ“จํ„ฐ๋Š” ๋’ค์˜ ์กฐ๊ฑด์‹์„ ํ™•์ธํ•˜์ง€ ์•Š์Œ (์“ธ๋ฐ ์—†๋Š” ์—ฐ์‚ฐ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ), ์ด์™€ ๊ฐ™์€ ๋ฐฉ์‹์„ Short Circuit Evaluation ์ด๋ผ๊ณ  ํ•จ.

 

  ๋งŒ์•ฝ์— height >= 180 & weight >= 90 ์ฒ˜๋Ÿผ & ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด & ๋Š” ์ •ํ™•ํ•œ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋’ค์— ์˜ค๋Š” ์‹๋„ ๋ฐ˜๋“œ์‹œ ๊ณ„์‚ฐ์„ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— SCE ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์—†์Œ.

  ํ•˜์ง€๋งŒ && ๋Š” ๋…ผ๋ฆฌ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ์„œ 0 ํ˜น์€ 1 ๋งŒ ๋Œ๋ ค์ฃผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์—๋ฏ€๋กœ SCE ๋ฅผ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Œ.

 

โ˜… ์กฐ๊ฑด์‹ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ !

 

[๋…ผ๋ฆฌ ํ•ฉ ์—ฐ์‚ฐ์ž (Logical OR), || ] : ๋‘ ์กฐ๊ฑด ๋ชจ๋‘ ๊ฑฐ์ง“์ผ ๋•Œ๋งŒ ๊ฑฐ์ง“์„ ๋ฐ˜ํ™˜

           โ””> ๊ด€๊ณ„ ์—ฐ์‚ฐ ๋‘๊ฐ€์ง€ ๋ชจ๋‘๊ฐ€ ๊ฑฐ์ง“(0)์ผ ๋•Œ๋งŒ || ์—ฐ์‚ฐ์— ์˜ํ•ด ๊ฑฐ์ง“(0)์ด ๋„์ถœ ๋จ.

                 → ๋‘ ๊ด€๊ณ„์—ฐ์‚ฐ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ผ ๋•Œ๋Š” if ( 1 )์ด ๋˜๋ฏ€๋กœ ์ค‘๊ด„ํ˜ธ ์ดํ•˜๊ฐ€ ์‹คํ–‰ ๋จ.

 

[ NOT, ! ] : ์ฐธ์„ ๊ฑฐ์ง“์œผ๋กœ, ๊ฑฐ์ง“์„ ์ฐธ์œผ๋กœ ๋ฐ˜์ „ ์‹œํ‚ด

          โ””> !๋Š” 0์ด ์•„๋‹Œ ๊ฐ’์€ 0์œผ๋กœ ๋ณ€ํ™˜ ํ•ด์ค€๋‹ค.

 

- ! ์—ฐ์‚ฐ์ž์˜ ํŠน์„ฑ์„ ์ด์šฉํ•ด์„œ ๋ณดํ†ต ์–ด๋– ํ•œ ๋ณ€์ˆ˜์˜ ๊ฐ’์ด 0 ์ด ์•„๋‹Œ์ง€๋ฅผ ํŒ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๊ธฐ๋„ ํ•จ.

if (!p) {  // p == 0 ๊ณผ ๊ฐ™์€ ์˜๋ฏธ์ด์ง€๋งŒ ๋” ์งง๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค :)
  // p ๊ฐ€ 0 ์ผ ๋•Œ์—๋งŒ ์‹คํ–‰๋œ๋‹ค.
}

https://modoocode.com/10

 

์”น์–ด๋จน๋Š” C ์–ธ์–ด - <6. ๋งŒ์•ฝ์—...(if ๋ฌธ)>

 

modoocode.com

 

๋ฐ˜์‘ํ˜•

์ปดํ“จํ„ฐ๋Š” 0๊ณผ 1๋งŒ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž๋“ค์„ ์ˆซ์ž์— ๋Œ€์‘์‹œํ‚ด

 

๋ฌธ์ž์˜ ๋ณ€์ˆ˜ ์„ ์–ธ์€ char (character ์˜ ์•ฝ์ž)

โ€ป char๋Š” 1๋ฐ”์ดํŠธ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜ ์ด๋ฏ€๋กœ 2๋ฐ”์ดํŠธ์ธ ํ•œ๊ธ€ ์ž…๋ ฅ ์‹œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ (overflow) ์˜ค๋ฅ˜ ๋ฐœ์ƒ ํ•จ.

a = 'a';

* ๋ชจ๋“  ๋ฌธ์ž๋“ค์€ ๋ชจ๋‘ ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์–ด ์ฃผ์–ด์•ผ ํ•จ

* ๋ฌธ์ž๋กœ ์ถœ๋ ฅ ์‹œ %c , 10์ง„๋ฒ• ์ •์ˆ˜๋กœ ์ถœ๋ ฅ ์‹œ %d

 

[ ๋ฌธ์ž ์ˆซ์ž ์ฝ”๋“œ]

 - ์•„์Šคํ‚ค(ASCII, American Standard Code for Information Interchange)  : 8๋น„ํŠธ, 127๊ฐ€์ง€

 - ์•„์Šคํ‚ค ์ฝ”๋“œ(Extended ASCII Code) : 1๋น„ํŠธ ์ถ”๊ฐ€, 256๊ฐ€์ง€

 - ์œ ๋‹ˆ ์ฝ”๋“œ(Unicode) : ํ•œ ๋ฌธ์ž๋ฅผ 1 ์—์„œ 4 ๋ฐ”์ดํŠธ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๊ธธ์ด๋กœ ์ฒ˜๋ฆฌ

 

| sacanf์˜ ๋„์ž… |

ex)

  scanf("%lf", &celsius);  // ์„ญ์”จ ์˜จ๋„๋ฅผ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค.

โ€ป scanf_s ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๋ฉฐ ์ปดํŒŒ์ผ ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์—ฌ๊ธฐ ์— ์†Œ๊ฐœ๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๋‹น ๋ฉ”์„ธ์ง€๋ฅผ ๋Œ ์ˆ˜ ์žˆ์Œ.

          โ”” scanf_s ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๋Š” ์˜๋ฏธ๋Š” scanf ๊ฐ€ ์ž…๋ ฅ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ

scanf_s("%d", &num, sizeof(4)); //scanf_s ์‚ฌ์šฉ ์˜ˆ(์‚ฌ์ด์ฆˆ๋ฅผ ์ง€์ •ํ•ด์คŒ)

 

 

๋ณ€์ˆ˜ ํ˜•์— ๋”ฐ๋ผ ์ž…๋ ฅ๋ฐ›๋Š” ํ˜•์‹ ์ง€์ •

 

https://modoocode.com/9

 

์”น์–ด๋จน๋Š” C ์–ธ์–ด - <5. ๋ฌธ์ž ์ž…๋ ฅ ๋ฐ›๊ธฐ>

 

modoocode.com

 

๋ฐ˜์‘ํ˜•

|์Œ์ˆ˜ ํ‘œํ˜„ ์•„์ด๋””์–ด |

- int : ๋ถ€ํ˜ธ๋น„ํŠธ ์‚ฌ์šฉ X, 2์˜ ๋ณด์ˆ˜ ํ‘œํ˜„๋ฒ• ์‚ฌ์šฉ

- double, float : ๋น„ํŠธ๋กœ ์Œ์ˆ˜ ํ‘œ๊ธฐ(์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•œ ์ฒซ์ž๋ฆฌ๊ฐ€ 0์ด๋ฉด ์–‘์ˆ˜, 1์ด๋ฉด ์Œ์ˆ˜)

 

|2์˜ ๋ณด์ˆ˜(2's complement) ํ‘œํ˜„๋ฒ• |

* ์–ด๋–ค x ์™€ ํ•ด๋‹น ์ˆ˜์˜ ์Œ์ˆ˜ ํ‘œํ˜„์ธ  ๋ฅผ ๋”ํ•˜๋ฉด 0 ์ด ๋‚˜์™€์•ผ ํ•œ๋‹ค.

 

โ€ป๋‘ ๊ฐœ์˜ ์ž๋ฃŒํ˜•์„ ๋”ํ–ˆ์„ ๋•Œ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ๋น„ํŠธ๋Š” ๊ทธ๋ƒฅ ๋ฒ„๋ ค์ง„๋‹ค.

 

 

<2 ์˜ ๋ณด์ˆ˜ ํ‘œํ˜„ ์ฒด๊ณ„ ํ•˜์—์„œ ์–ด๋–ค ์ˆ˜์˜ ๋ถ€ํ˜ธ๋ฅผ ๋ฐ”๊พธ๋ ค๋ฉด>

1 . ๋น„ํŠธ๋ฅผ ๋ฐ˜์ „ ์‹œํ‚ด

2 . ๋’ค์— 1 ์„ ๋”ํ•จ

ex) * ๋ง์…ˆ ์‹œ์— ์ปดํ“จํ„ฐ๊ฐ€ 4 ๋น„ํŠธ๋งŒ ๊ธฐ์–ตํ•œ๋‹ค๊ณ  ๊ฐ€์ •*

      7 : 0111โ‚‚ ์ผ๋•Œ

     -7 : 1000โ‚‚+1โ‚‚ => 1001โ‚‚

 

[์ˆซ์ž์˜ ๋ถ€ํ˜ธ ํŒ๋‹จ]

๋งจ ์•ž์ž๋ฆฌ๊ฐ€ 0 : ์–‘์ˆ˜

๋งจ ์•ž์ž๋ฆฌ๊ฐ€ 1 : ์Œ์ˆ˜

 

์ฆ‰, ์–ด๋–ค ์ˆ˜์˜ ๊ฐ’์„ ์•Œ๊ณ  ์‹ถ์œผ๋ฉด ๋ณด์ˆ˜๋ฅผ ๊ตฌํ•œ ํ›„ -๋ฅผ ๋ถ™์ธ๋‹ค.

 

โ€ป ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ(overflow) : ์ž๋ฃŒํ˜•์˜ ์ตœ๋Œ€ ๋ฒ”์œ„๋ณด๋‹ค ํฐ ์ˆ˜๋ฅผ ๋Œ€์ž…ํ•˜๋ฏ€๋กœ์จ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ, C ์–ธ์–ด ์ฐจ์›์—์„œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๋ ค์ฃผ๋Š” ๋ฐฉ๋ฒ•์€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒํ˜•์˜ ํฌ๊ธฐ๋ฅผ ์‹ ๊ฒฝ ์จ์•ผ ํ•จ!

|์Œ์ˆ˜๊ฐ€ ์—†๋Š” ์ž๋ฃŒํ˜• (unsigned int)|

์ œ์ผ ์•ž์ž๋ฆฌ๊ฐ€ 1์ธ ์ˆ˜๋„ ์–‘์ˆ˜๋กœ ์ฝ์Œ (ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ์ˆ˜์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง: 0~4294967295)

 

โ€ป signed int์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ(overflow)๋ฌธ์ œ  ๋ฐœ์ƒ ์œ„ํ—˜ ์žˆ์Œ.

 

 

https://modoocode.com/308

 

์”น์–ด๋จน๋Š” C ์–ธ์–ด - <4 - 2. ์ปดํ“จํ„ฐ๊ฐ€ ์Œ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• (2์˜ ๋ณด์ˆ˜)>

 

modoocode.com

 

๋ฐ˜์‘ํ˜•

|์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž, ๋Œ€์ž… ์—ฐ์‚ฐ์ž|

- ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž(Arithmetic Operator) : ๏ผ‹, ๏ผ, *, /, %

- ๋Œ€์ž…(์šฐ์ธก์˜ ๊ฐ’์„ ์ขŒ์ธก์— ๋Œ€์ž…ํ•˜๋Š”) ์—ฐ์‚ฐ์ž(Assignment Operator) : =

 

โ€ป ๏ผ‹, ๏ผ, *, / : ์ •์ˆ˜ ์‹ค์ˆ˜ ๋‹ค ์—ฐ์‚ฐ ๊ฐ€๋Šฅ

    % : ์ •์ˆ˜ ๋ฐ์ดํ„ฐ๋งŒ ์—ฐ์‚ฐ ๊ฐ€๋Šฅ

 

- ๋‚˜๋ˆ— ์…ˆ ์‹œ ์ฃผ์˜ : (์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜) (์—ฐ์‚ฐ) (์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜) => ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋Š” ์ •์ˆ˜์ž„.

#include <stdio.h>
int main() {
  int a, b;
  a = 10;
  b = 3;
  printf("a / b ๋Š” : %f \n", a / b);  // ํ•ด์„œ๋Š” ์•ˆ๋  ์ง“
  return 0;
}

- ์‚ฐ์ˆ ๋ณ€ํ™˜ : ์ž๋ฃŒํ˜•์ด ๋‹ค๋ฅธ ๋‘ ๋ณ€์ˆ˜๋ฅผ ์—ฐ์‚ฐ ํ•  ๋•Œ, ์ˆซ์ž์˜ ๋ฒ”์œ„๊ฐ€ ํฐ ์ž๋ฃŒํ˜•์œผ๋กœ ์ž๋ฃŒํ˜•๋“ค์ด ๋ฐ”๊ฟˆ (์ปดํŒŒ์ผ๋Ÿฌ ํ• ๋•Œ)

 

ex) ์•„๋ž˜์˜ ์—ฐ์‚ฐ ์‹œ, ๊ฒฐ๊ณผ ๊ฐ’๋„ doubleํ˜•์ด ๋˜๋ฏ€๋กœ

printf(" a / b ๋Š” : %d \n", a / b);

๋Š” ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊น€ (โˆต %d๋Š” ์ •์ˆ˜ํ˜• ์ถœ๋ ฅ ๋ฐฉ์‹)

 

|๋Œ€์ž… ์—ฐ์‚ฐ์ž|

- '=' ๋Š” ๋Œ€์ž… ์—ฐ์‚ฐ์ž ์ž„.

 

[ ๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ ]

b += x; // b = b + x; ์™€ ๊ฐ™๋‹ค
b -= x; // b = b - x;์™€ ๊ฐ™๋‹ค
b *= x; // b = b * x;์™€ ๊ฐ™๋‹ค
b /= x; // b = b / x;์™€ ๊ฐ™๋‹ค

[ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž ]

++c;
d++;

๋ณ€์ˆ˜ ์•ž์— ++ : ์ „์œ„ํ˜•(prefix) - ๋จผ์ € 1์„ ๋”ํ•ด์ค€ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๋Œ๋ ค ์คŒ

๋ณ€์ˆ˜ ๋’ค์— ++ : ํ›„์œ„ํ˜•(postfix) - ๊ฒฐ๊ณผ๋ฅผ ๋Œ๋ ค ์ค€ ํ›„ 1์„ ๋”ํ•ด ์คŒ

 

|๋น„ํŠธ ์—ฐ์‚ฐ์ž - AND / OR / XOR / ๋ฐ˜์ „ / ์‰ฌํ”„ํŠธ|

 : ๋น„ํŠธ(bit) ํ•˜๋‚˜ ํ•˜๋‚˜์— ๋Œ€ํ•ด ์—ฐ์‚ฐ

 

  [ AND ( & ) ] : ๋‘˜๋‹ค 1์ด์–ด์•ผ 1

 

  [ OR ( | ) ] : ํ•˜๋‚˜๋ผ๋„ 1์ด๋ฉด 1

 

  [ XOR ( ^ ) ] : ๋‘ ์ˆ˜๊ฐ€ ๋‹ฌ๋ผ์•ผ 1

 

  [ ๋ฐ˜์ „ ( ~ ) ] : 0์€ 1๋กœ, 1์€ 0์œผ๋กœ

    โ€ป ๋ณ€์ˆ˜ ํ˜•์— ํฌ๊ธฐ์™€ ์ž๋ฆฌ์ˆ˜๋ฅผ ์ž˜ ๊ณ ๋ ค ํ•ด์•ผ ํ•จ.

      ex) int a = 1010111โ‚‚์ด๋ฉด, int๋Š” 4byte (32 bit)์˜ ์ •์ˆ˜ ์ด๋ฏ€๋กœ

      ์‹ค์ œ๋กœ   a = 0000 0000 0000 0000 0000 0000 0101 0111 

      ๋”ฐ๋ผ์„œ ~a = 1111  1111  1111  1111  1111 1111 1010 1000

 

[ ์‰ฌํ”„ํŠธ ( << ๋˜๋Š” >> ) ] :

<< ์—ฐ์‚ฐ

ex)

โ€ป << ์‰ฌํ”„ํŠธ ์‹œ, ์•ž์— ์‰ฌํ”„ํŠธ๋œ ์ˆซ์ž๊ฐ€ ๊ฐˆ ์ž๋ฆฌ๊ฐ€ ์—†๋‹ค๋ฉด, ๊ทธ ๋ถ€๋ถ„์€ ๋ฒ„๋ ค์ง

                          ๋’ค์—์„œ ์ƒˆ๋กœ ์ฑ„์›Œ์ง€๋Š” ๋ถ€๋ถ„์€ ๋ฌด์กฐ๊ฑด 0 ์œผ๋กœ ์ฑ„์›Œ์ง

ex)

      1 0 1 0 1 1 << 1 => 0 1 0 1 1 0

    1 0 1 0 1 1 0  => ๊ฐˆ ์ž๋ฆฌ ์—†๋Š” ์•ž์˜ ์ˆ˜๋Š” ๋ฒ„๋ ค์ง

                               ๋’ค๋Š” ๋ฌด์กฐ๊ฑด 0์œผ๋กœ ์ฑ„์›Œ์ง

                                            

>> ์—ฐ์‚ฐ

โ€ป >> ์‰ฌํ”„ํŠธ ์‹œ, ์•ž๋ถ€๋ถ„์— ๋งจ ์™ผ์ชฝ์— ์žˆ์—ˆ๋˜ ์ˆ˜๊ฐ€ ์ฑ„์›Œ์ง

                           ๋’ค์— ์ˆซ์ž๊ฐ€ ๊ฐˆ ์ž๋ฆฌ๊ฐ€ ์—†๋‹ค๋ฉด, ๊ทธ ๋ถ€๋ถ„์€ ๋ฒ„๋ ค์ง

ex) 1 1 1 0 0 0 1 0 >> 3 => 1 1 1 1 1 1 0 0

      1 1 1 1 1 1 0 0 0 1 0  => ์•ž์€ ์›๋ž˜ ์ œ์ผ ์™ผ์ชฝ์— ์žˆ๋˜ ์ˆ˜ 1๋กœ ์ฑ„์›Œ์ง

                                             ๊ฐˆ ์ž๋ฆฌ ์—†๋Š” ๋’ค์˜ ์ˆ˜๋Š” ๋ฒ„๋ ค์ง

      0 0 0 1 1 0 0 1 >> 3 => 0 0 0 0 0 0 1 1

      0 0 0 0 0 0 1 1 0 0 1  => ์•ž์€ ์›๋ž˜ ์ œ์ผ ์™ผ์ชฝ์— ์žˆ๋˜ ์ˆ˜ 0์œผ๋กœ ์ฑ„์›Œ์ง

                                             ๊ฐˆ ์ž๋ฆฌ ์—†๋Š” ๋’ค์˜ ์ˆ˜๋Š” ๋ฒ„๋ ค์ง

 

|๋ณต์žกํ•œ ์—ฐ์‚ฐ| 

  [์—ฐ์‚ฐ์˜ ์šฐ์„  ์ˆœ์œ„] :

ex)

a = b = c = d = 3;

๋งŒ์•ฝ ์™ผ์ชฝ ์šฐ์„ ์ด์˜€๋‹ค๋ฉด a = b; b = c; c = d; d = 3 ์˜ ํ˜•์‹์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด a, b, c ์—๋Š” ์•Œ ์ˆ˜ ์—†๋Š” ๊ฐ’

ํ•˜์ง€๋งŒ ์˜ค๋ฅธ์ชฝ์ด ์šฐ์„ ์ด๋ฏ€๋กœ ์œ„ ์‹์€ d = 3, c = d, b = c, a = b ์˜ ํ˜•์‹์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด a,b,c,d ์˜ ๊ฐ’์ด ๋ชจ๋‘ 3

 

 

โ˜…๋ณดํ†ต, ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ž˜๋ชป ๊ณ ๋ คํ•˜์—ฌ ๋‚˜๋Š” ์˜ค๋ฅ˜๋“ค์€ ์ฐพ๊ธฐ๊ฐ€ ๋งค์šฐ ํž˜๋“ค๊ธฐ ๋•Œ๋ฌธ์— 

   ์• ์ดˆ์— ํ—ท๊ฐˆ๋ฆด ๋งŒํ•œ ๋ถ€๋ถ„์€ ๊ด„ํ˜ธ๋ฅผ ํ†ตํ•ด ํ™•์‹คํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

https://modoocode.com/8

 

์”น์–ด๋จน๋Š” C ์–ธ์–ด - <4 - 1. ๊ณ„์‚ฐํ•˜๋ฆฌ>

 

modoocode.com

 

๋ฐ˜์‘ํ˜•

์„ ์ปดํ”Œ๋ผ์ด ํ–ˆ์„ ๋•Œ, ์˜ค๋ฅ˜

printf๋ฅผ fprintf๋กœ ์ž‘์„ฑํ•˜๋ฉด ์˜ค๋ฅ˜ ์—†์–ด์ง.

 

์ฐธ๊ณ :

 https://haruhiism.tistory.com/8

 

 

printf, fprintf, sprintf๋Š” ์–ด๋–ค ์ฐจ์ด์ผ๊นŒ?

C/C++ ์—์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ถœ๋ ฅ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. C์–ธ์–ด์˜ printf๋ถ€ํ„ฐ C++์˜ cin๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜, ๊ฐ์ฒด์™€ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์ง€๋งŒ ๊ทธ ์ค‘ ์„œ์‹ํ™”๋œ ์ถœ๋ ฅ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ•จ์ˆ˜๋ฅผ ์†Œ๊ฐœํ•ด ๋ณด๋ ค

haruhiism.tistory.com

 

C/C++ ์—์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ถœ๋ ฅ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. C์–ธ์–ด์˜ printf๋ถ€ํ„ฐ C++์˜ cin๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜, ๊ฐ์ฒด์™€ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์ง€๋งŒ ๊ทธ ์ค‘ ์„œ์‹ํ™”๋œ ์ถœ๋ ฅ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ•จ์ˆ˜๋ฅผ ์†Œ๊ฐœํ•ด ๋ณด๋ ค ํ•œ๋‹ค.

 

1. printf()

int printf(const char *format-string, argument-list);

์ผ๋ฐ˜์ ์œผ๋กœ printf()๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์Œ๋”ฐ์˜ดํ‘œ(")๋กœ ์‹ธ์ธ ๋ฌธ์ž์—ด๊ณผ ๋ฌธ์ž์—ด์—์„œ %๋กœ ์ง€์ •๋œ ์„œ์‹ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ™์ด ์ „๋‹ฌํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค. ๋˜ํ•œ ์ค„๋ฐ”๊ฟˆ, ์ปค์„œ ์ด๋™ ๋“ฑ์„ ์œ„ํ•ด ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.

 

์ด๋Š” ๊ฐ„๋‹จํ•œ ์„œ์‹์„ ๊ณ ๋ คํ•œ ์ถœ๋ ฅ์— ์‚ฌ์šฉ๋˜๋ฉฐ ๊ฐ€์žฅ ๋งŽ์ด ์ ‘ํ•˜๊ณ  ํ•™์Šต ์ดˆ๊ธฐ์— ์ต์ˆ™ํ•ด์ ธ์•ผ ํ•  ํ•ต์‹ฌ์ ์ธ ํ•จ์ˆ˜๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

#include <stdio.h>

int main()
{
    printf("Hello World!")
}

 

C์–ธ์–ด ๊ด€๋ จ ๋„์„œ๋ฅผ ํ•œ๋ฒˆ๋งŒ์ด๋ผ๋„ ํŽผ์ณ๋ณด์•˜๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์€ Hello World์˜ˆ์ œ๊ฐ€ ๊ธฐ์–ต๋‚  ๊ฒƒ์ด๋‹ค.

์ด๋ ‡๊ฒŒ๋งŒ ๋ณด๋ฉด ๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ํ•จ์ˆ˜๋กœ ๋ณด์ด์ง€๋งŒ, ์•„๋ž˜์˜ ์ถœ์ฒ˜ ๋งํฌ๋งŒ ๋“ค์–ด๊ฐ€ ๋ณด์•„๋„ ์—„์ฒญ๋‚œ ์–‘์˜ ๋งค๋‰ด์–ผ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ฆ‰ ๊ต‰์žฅํžˆ ๋ณต์žกํ•œ ํ•จ์ˆ˜๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ฐ„๋žตํžˆ ์ •๋ฆฌํ•˜๊ณ  ๋“ค์–ด๊ฐ€์ž๋ฉด ์ด printf()๊ฐ€ ํ•˜๋Š” ๊ฒƒ์€ ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด์„ ํ‘œ์ค€ ์ถœ๋ ฅ(Standard Output, stdout)์— ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฐ stdout, stdin, stderr๋“ฑ์€ ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š”๋ฐ ์ด๋Š” ์œ ๋‹‰์Šค ์šด์˜์ฒด์ œ์˜ ์œ ์‚ฐ์œผ๋กœ ์ปดํ“จํ„ฐ์™€ ์‚ฌ์šฉ์ž ์‚ฌ์ด์—์„œ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ง„ํ–‰๋˜๋Š” ์ž…์ถœ๋ ฅ์„ ์ถ”์ƒ์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์„ ์œ„ํ•ด ๋”ฐ๋กœ ์ž‘์—…์„ ํ•  ํ•„์š”๋Š” ์—†์œผ๋ฉฐ <stdio.h> ํ—ค๋” ํŒŒ์ผ์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๊ณณ์„ ์ฐธ๊ณ ํ•˜์ž. 

 

์•„๋ฌดํŠผ ์ด๋Ÿฐ ํ‘œ์ค€ ์ถœ๋ ฅ์— ๋ฌธ์ž์—ด์„ ๋ณด๋‚ธ๋‹ค๋Š” ๊ฒƒ์€ ์ปดํ“จํ„ฐ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅ์žฅ์น˜๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ฝ˜์†” ํ”„๋กœ๊ทธ๋žจ์ด๋ฏ€๋กœ ์œˆ๋„์šฐ์˜ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ, ๋ฆฌ๋ˆ…์Šค์˜ ํ„ฐ๋ฏธ๋„ ๋“ฑ์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

ํ•˜์ง€๋งŒ ์ค‘์š”ํ•œ ๊ฒƒ์€ printf() ์˜ ์„œ์‹ ๊ธฐ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€, ๊ทธ๋ฅผ ์–ด๋–ป๊ฒŒ ์‘์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

ํ•จ์ˆ˜์˜ ์›ํ˜•์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด printf()๋Š” const char* ํ˜• ๋ฌธ์ž์—ด(format-string)๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก(argument-list)๋ฅผ ๋ฐ›๋Š”๋ฐ ์ „์ž์˜ ๊ฒฝ์šฐ const char* ํ˜• ๋ฌธ์ž์—ด์€ ์ฝ”๋”ฉ ๋‹จ๊ณ„์—์„œ๋ถ€ํ„ฐ ํฐ๋”ฐ์˜ดํ‘œ(")๋กœ ๋ฌถ์ธ ๋ฌธ์ž์—ด ์ƒ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ printf()์•ˆ์— "Hello World" ๋“ฑ์„ ์จ ๋„ฃ๋Š” ๊ฒƒ๋„ ๋ฌธ์ž์—ด ์ƒ์ˆ˜๋ฅผ ์„ ์–ธ, ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌํ•œ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋’ค์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์—๋Š” ๋‹น์—ฐํžˆ ์ด ๋ฌธ์ž์—ด ์ƒ์ˆ˜์—์„œ ์ง€์ •๋œ ํ˜•์‹์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์ด ์ˆœ์„œ์— ๋งž๊ฒŒ ๋“ค์–ด๊ฐˆ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ด 'ํ˜•์‹'์ด๋ž€ ๊ฒƒ์€ ๋ฌด์—‡์ผ๊นŒ?

 

๋Œ€๋ถ€๋ถ„์˜ C์–ธ์–ด ๊ต์žฌ์—๋Š” ์ด printf()์— ์‚ฌ์šฉ๋˜๋Š” ํ˜•์‹ ์ง€์ •์ž๋“ค์˜ ๋ชฉ๋ก์ด ๋‚˜์—ด๋˜์–ด ์žˆ๋‹ค.

 

specifierOutputExample

or i Signed decimal integer 392
u Unsigned decimal integer 7235
o Unsigned octal 610
x Unsigned hexadecimal integer 7fa
X Unsigned hexadecimal integer (uppercase) 7FA
f Decimal floating point, lowercase 392.65
F Decimal floating point, uppercase 392.65
e Scientific notation (mantissa/exponent), lowercase 3.9265e+2
E Scientific notation (mantissa/exponent), uppercase 3.9265E+2
g Use the shortest representation: %e or %f 392.65
G Use the shortest representation: %E or %F 392.65
a Hexadecimal floating point, lowercase -0xc.90fep-2
A Hexadecimal floating point, uppercase -0XC.90FEP-2
c Character a
s String of characters sample
p Pointer address b8000000
n Nothing printed.
The corresponding argument must be a pointer to a signed int.
The number of characters written so far is stored in the pointed location.
 
% A % followed by another % character will write a single % to the stream. %

 

ํผ์„ผํŠธ ๊ธฐํ˜ธ(%)์™€ ๊ทธ ๋’ค์— ๋ถ™๋Š” ๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋˜๋Š” ํ˜•์‹ ์ง€์ •์ž๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ์ง€๋งŒ ์ž์ฃผ ์“ฐ์ด๋Š” ๊ฒƒ๋“ค์„ ๋ช‡ ๊ฐœ ์ถ”๋ ค๋ณด์ž๋ฉด

  • %d : ์ •์ˆ˜(int) ์ถœ๋ ฅ
  • %f : ์†Œ์ˆ˜(float) ์ถœ๋ ฅ
  • %lf : ์†Œ์ˆ˜(double) ์ถœ๋ ฅ
  • %c : ๋ฌธ์ž(char) ์ถœ๋ ฅ
  • %s : ๋ฌธ์ž์—ด(char[], char*) ์ถœ๋ ฅ
  • %p : ํฌ์ธํ„ฐ ์ฃผ์†Œ(1a2b3c4d๊ฐ™์€ 16์ง„์ˆ˜) ์ถœ๋ ฅ

๋“ฑ์œผ๋กœ ๊ฐ„์ถ”๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ด๋“ค์€ ํ˜•์‹ ์ง€์ •์ž์™€ ์ด์— ์ƒ์‘ํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ž๋ฃŒํ˜•์ด ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๋Œ€๋ถ€๋ถ„ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋ฐ ์˜๋„์ ์ด๋“  ๋น„์˜๋„์ ์ด๋“  ๊ฐ„์— ์ž๋ฃŒํ˜•์€ ์ผ์น˜์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ž๋ฃŒํ˜•์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์ถœ๋ ฅ๋˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์†Œ์‹ค๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ๋ฌธ์ž 'a'๋ฅผ ์ •์ˆ˜๋กœ ์ถœ๋ ฅ์‹œํ‚จ๋‹ค๋ฉด ASCII ๊ฐ’์ด ๋‚˜์˜ค๊ฑฐ๋‚˜ ์†Œ์ˆ˜(36.5)๋ฅผ ์ •์ˆ˜๋กœ ์ถœ๋ ฅ์‹œํ‚จ๋‹ค๋ฉด 36์œผ๋กœ ์†Œ์ˆ˜๋ถ€๊ฐ€ ์ž˜๋ฆฌ๋Š” ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.1

 

๋˜ํ•œ ์ด๋Ÿฐ ํ˜•์‹ ์ง€์ •์ž๋“ค์€ ๋‹จ์ˆœํžˆ ํผ์„ผํŠธ ๊ธฐํ˜ธ์™€ ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

์ด๋Š” ๋ช‡๊ฐ€์ง€ ์„œ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ ๊ทธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

flags  width  precision  prefix   type

 

  • flags : ๋ถ€ํ˜ธ, ๊ณต๋ฐฑ, ์†Œ์ˆ˜์ , 8์ง„ ๋ฐ 16์ง„ ์ ‘๋‘๋ถ€(0, 0x)์˜ ์ถœ๋ ฅ๊ณผ ์ •๋ ฌ ์„œ์‹ ๋“ฑ์„ ๊ฒฐ์ •ํ•œ๋‹ค. '-'๋Š” ์™ผ์ชฝ ์ •๋ ฌ, '+'๋Š” ๋ถ€ํ˜ธ ์ถœ๋ ฅ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ '0'์˜ ๊ฒฝ์šฐ ๋นˆ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋นˆ์นธ์ด ์•„๋‹Œ 0์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋“ฑ์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๊ณณ ์ฐธ๊ณ 
  • width : ์ถœ๋ ฅ๋  ๋ฌธ์ž์˜ ์ตœ์†Œ ๊ฐฏ์ˆ˜๋ฅผ ์ง€์ •ํ•œ๋‹ค. ์ด๊ณณ ์ฐธ๊ณ 
  • precision : ๋ฌธ์ž์—ด, ์œ ํšจ ์ž๋ฆฟ์ˆ˜ ๋˜๋Š” ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ’์˜ ์†Œ์ˆ˜์  ๋’ท์ž๋ฆฌ์ˆ˜๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ์ตœ๋Œ€ ์ž๋ฆฟ์ˆ˜ ๋˜๋Š” ์ •์ˆ˜ ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š” ์ตœ์†Œ ์ž๋ฆฟ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ์„ ํƒ์  10์ง„์ˆ˜ ์ˆซ์ž๋‹ค. 
  • prefix : ์ธ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•œ๋‹ค. ๋ถ€๋™์†Œ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” float์ด '%f'์ธ๊ฒƒ์— ๋น„ํ•ด double์€ '%lf'์ธ ๊ฒƒ์„ ์˜ˆ๋กœ ๋“ค ์ˆ˜ ์žˆ๋‹ค.
  • type : ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์ž๋ฃŒํ˜•์— ๋”ฐ๋ฅธ ๋ฌธ์ž๊ฐ€ ์œ„์น˜ํ•œ๋‹ค. ์ •์ˆ˜๋ฉด 'd', ๋ฌธ์ž๋ฉด 'c' ๊ฐ™์€ ์‹์ด๋‹ค.
๊ฐ ๋ถ€๋ถ„์˜ ์ด๋ฆ„๊ณผ ๊ธฐ๋Šฅ์€ ์œ„์™€ ๊ฐ™์œผ๋ฉฐ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์˜ ์ถœ์ฒ˜๋‚˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐธ๊ณ ํ•˜์ž.
์ด ์ค‘์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€๋ฅผ ์ถ”๋ ค๋ณด์ž๋ฉด flags์˜ '-', '0' ์ด ์„œ์‹ ์ถœ๋ ฅ์— ์œ ์šฉํ•  ๊ฒƒ์ด๋‹ค.
 
#include 

int main()
{
    int num1 = 100;
    int num2 = 200;

    printf("%05d \n", num1);
    printf("%5d \n", num2);
    printf("%-05d \n", num2);

    return 0;
}
 
์œ„์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.
 

 

๋จผ์ € num1์˜ ๊ฒฝ์šฐ "%05d" ํ˜•์‹ ์ถœ๋ ฅ์„ ํ†ตํ•ด 5๊ธ€์ž ๊ณต๊ฐ„์—์„œ ๋นˆ ๊ณต๊ฐ„์€ 0์œผ๋กœ ์ฑ„์šฐ๋„๋ก ์ถœ๋ ฅ์‹œ์ผฐ๋‹ค.(flags: 0, width: 5)
๊ทธ ๋‹ค์Œ num2๋Š” "5d"๋ฅผ ํ†ตํ•ด ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ์„, ๊ทธ ๋‹ค์Œ์—๋Š” "-5d"๋ฅผ ํ†ตํ•ด ์ผ๋ฐ˜ ์ถœ๋ ฅ๊ณผ ์™ผ์ชฝ ์ •๋ ฌ ์ถœ๋ ฅ์„ ๊ตฌ๋ถ„ํ•˜์˜€๋‹ค.
 
์ด๋Š” ์ดˆ๋ณด์ ์ธ ๋‹จ๊ณ„์—์„œ ์ž์ฃผ ์“ฐ์ผ ์˜ˆ์‹œ๋ฅผ ๋“ค์€ ๊ฒƒ ๋ฟ์ด๊ณ  ์—ฌ๋Ÿฌ ํ”Œ๋ž˜๊ทธ์˜ ์กฐํ•ฉ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.
์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋Š” ๋ ˆํผ๋Ÿฐ์Šค์™€ MSDN์„ ์ฐธ๊ณ ํ•˜๋„๋ก ํ•˜์ž. ํŠนํžˆ ์•„๋ž˜ ์ถœ์ฒ˜์˜ ์ฒซ๋ฒˆ์งธ ๋งํฌ์ธ IBM Knowledge Center์—๋Š” ์˜ˆ์ œ๊ฐ€ ์ œ๊ณต๋˜๋ฏ€๋กœ ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ๋“ค์–ด๊ฐ€ ๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.
 

 

์ถœ์ฒ˜:

https://www.ibm.com/support/knowledgecenter/ko/ssw_ibm_i_73/rtref/printf.htm

https://ko.wikipedia.org/wiki/%ED%91%9C%EC%A4%80_%EC%8A%A4%ED%8A%B8%EB%A6%BC

http://www.cplusplus.com/reference/cstdio/printf/#compatibility

2. fprintf()

int fprintf(FILE *stream, const char *format-string, argument-list);

 

fprintf()๋Š” printf()์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ์•ž์— f๋ผ๋Š” ๊ธ€์ž๊ฐ€ ๋ถ™์–ด ์žˆ๋Š”๋ฐ ์ด๋Š” file์„ ๋œปํ•œ๋‹ค๊ณ  ๋ด๋„ ๋ฌด๋ฐฉํ•˜๋‹ค.

์ฆ‰ ํŒŒ์ผ ์ŠคํŠธ๋ฆผ์— ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ณด๋ฉด FILE *stream ์ด๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Š” ํ˜•์‹ ๋ฌธ์ž์—ด์ด ์ถœ๋ ฅ๋  ํŒŒ์ผ ํฌ์ธํ„ฐ๋ฅผ ์˜๋ฏธํ•˜์ง€๋งŒ ์ถ”๊ฐ€๋กœ ์œ„์—์„œ stdout๊ณผ ๊ด€๋ จํ•ด์„œ ์–ธ๊ธ‰ํ•œ ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ์„ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ฆ‰ fprintf(stdout, "Hello World!")๋Š” printf("Hello World")์™€ ๋™์ผํ•œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.2

 

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ํŒŒ์ผ์— ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด ์ถœ๋ ฅ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ๋ฌธ์ž์—ด ํ˜•์‹์™€ ๊ทธ์— ๋งž๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ๊ธฐ์กด์˜ printf()์˜ ์‚ฌ์šฉ ๋ฐฉ์‹๊ณผ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์— ํฐ ์–ด๋ ค์›€์€ ์—†๋‹ค. ์ด๋Š” ๋น„์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์˜€์„ ๊ฒฝ์šฐ ์ •์ƒ์ ์ผ ๋•Œ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ถœ๋ ฅ๋œ ๋ฐ”์ดํŠธ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์•„๋‹Œ ์Œ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ ์ด๋ฅผ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๊ฒ€์‚ฌํ•˜์—ฌ ํŒŒ์ผ์— ์ œ๋Œ€๋กœ ์ถœ๋ ฅ์ด ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ผ ๊ฒƒ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์ธ ์ถœ๋ ฅ์œผ๋กœ stdout์— ์ถœ๋ ฅํ•˜๋Š” ๊ฒŒ ์•„๋‹Œ ์ด์ƒ, ํŒŒ์ผ ํฌ์ธํ„ฐ๊ฐ€ ์ œ๋Œ€๋กœ ์—ด๋ ธ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•  ๊ฒƒ์ด๋‹ค.

ํ•จ์ˆ˜ ์›ํ˜•์— ๋งž๊ฒŒ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์˜€์„ ๊ฒฝ์šฐ์—๋„ ํŒŒ์ผ์— ์ œ๋Œ€๋กœ ์ถœ๋ ฅ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํŒŒ์ผ ํฌ์ธํ„ฐ๊ฐ€ ์ ์ ˆํ•œ ๋ชจ๋“œ๋กœ ์—ด๋ฆฌ๊ณ  ๋‹ซํ˜”๋Š”์ง€, ๋ฌธ์ž์—ด ์„œ์‹์˜ ํ”Œ๋ž˜๊ทธ๋Š” ๋ชฉ์ ์— ๋งž๊ฒŒ ์‚ฌ์šฉ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋จผ์ € ํ™•์ธํ•˜๋„๋ก ํ•˜์ž.

 

#include 

int main()
{
    int num1;
    char name[20];
    FILE *fp;
    
    fp = fopen("test.txt", "w");
    
    printf("TYPE NAME : ");
    scanf("%s", name);
    
    printf("TYPE AGE : ");
    scanf("%d", &num1);
    
    fprintf(fp, "Hello World. My name is %s and I\'m %d years old.", name, num1);
    
    fclose(fp);
    return 0;
}

 

์œ„์˜ ์˜ˆ์ œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค.

 

 

์ด๋กœ ์ธํ•ด ์ถœ๋ ฅ๋˜๋Š” ํŒŒ์ผ์˜ ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

 

 

    fprintf(fp, "Hello World. My name is %s and I\'m %d years old.", name, num1);

์ด ๊ตฌ๋ฌธ์—์„œ ํ…์ŠคํŠธ ํŒŒ์ผ์— ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•˜์˜€๋‹ค๋Š” ๊ฒƒ์„ ๋ช…์‹ฌํ•˜์ž.

 

 

์ถœ์ฒ˜:

https://modoocode.com/64

https://www.ibm.com/support/knowledgecenter/ko/ssw_ibm_i_73/rtref/fprintf.htm

https://kr.mathworks.com/help/matlab/ref/fprintf.html

 

 

 

3. sprintf()

 

int sprintf(char *buffer, const char *format-string, argument-list);

 

์ด ์—ญ์‹œ printf()์™€ ๋™์ผํ•œ ๋ฌธ์ž์—ด ์„œ์‹ ๋ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐ˜ํ™˜๊ฐ’๋„ ์ถœ๋ ฅํ•œ ๋ฐ”์ดํŠธ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋“ฑ ๋น„์Šทํ•˜์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ์ฒซ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ FILE* ํ˜• ๋ณ€์ˆ˜์˜€๋˜ fprintf()์™€๋Š” ๋‹ฌ๋ฆฌ char* ํ˜• ๋ณ€์ˆ˜๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์„ ๋ณด๋ฉด ๊ฐ์ด ์˜ค๊ฒ ์ง€๋งŒ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒ„ํผ์— ์ผ๋ จ์˜ ์„œ์‹ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•˜๋Š” ํ•จ์ˆ˜๋‹ค. ์ฆ‰ ํŒŒ์ผ์ด๋‚˜ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ณ€์ˆ˜(๋ฒ„ํผ)์— ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ค‘์š”ํ•œ ๊ฒƒ์€ ์—ฌ๊ธฐ์„œ ๋ฒ„ํผ๋Š” ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์ต์ˆ™ํ•œ ์‚ฌ๋žŒ๋“ค์€ ์ž˜ ์•Œ๊ฒ ์ง€๋งŒ String์ด๋ผ๋Š” ๋ฌธ์ž์—ด ์ž๋ฃŒํ˜•์ด ๋”ฐ๋กœ ์žˆ๋Š” C++๊ณผ๋Š” ๋‹ฌ๋ฆฌ C์–ธ์–ด์—์„œ๋Š” char ์ž๋ฃŒํ˜•์„ ํ†ตํ•˜์—ฌ ๋ชจ๋“  ๋ฌธ์ž์—ด์˜ ์ฒ˜๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค. char* ํ˜•์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ฑฐ๋‚˜ char[] ํ˜•์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์ • ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๋ฉฐ ๋Œ€๋ถ€๋ถ„ <string.h> ํ—ค๋”๋ฅผ ํ†ตํ•ด ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด๋•Œ ๋ฌธ์ž์—ด ์ƒ์ˆ˜๋Š” ํ•œ๋ฒˆ ์„ ์–ธ๋˜๋ฉด ์ƒˆ๋กœ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ ๋ง๊ณ ๋Š” ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ฐฐ์—ด๋กœ ์„ ์–ธ๋œ char ์ž๋ฃŒํ˜• ์Šคํƒ€์ผ์˜ ๋ฌธ์ž์—ด์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด ๋ฌธ์ž์—ด์— ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

<string.h>์—์„œ๋„ strcpy๋“ฑ์„ ํ†ตํ•ด ๋ฐฐ์—ด์— ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์„œ์‹ํ™”๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์—ˆ๋Š”๋ฐ ์ด sprintf()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด printf()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋“ฏ์ด ๋ฐฐ์—ด์— ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

#include 

int main()
{
    int num1;
    char name[20];
    char string[200];
    
    printf("TYPE NAME : ");
    scanf("%s", name);
    
    printf("TYPE AGE : ");
    scanf("%d", &num1);
    
    sprintf(string, "Hello World. My name is %s and I\'m %d years old.", name, num1);
    printf("%s", string);

    return 0;
}

 

์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค.

 

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด string ๋ฌธ์ž์—ด ๋ฐฐ์—ด์— ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•˜์˜€๊ธฐ์— ์œ„์ฒ˜๋Ÿผ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์ž.

    sprintf(string, "Hello World. My name is %s and I\'m %d years old.", name, num1);

 

์ถœ์ฒ˜:

https://www.ibm.com/support/knowledgecenter/ko/ssw_ibm_i_73/rtref/sprintf.htm

 

  1. ์ž๋ฐ”(Java)์—์„œ๋Š” ์ด๋ฅผ ์•„์˜ˆ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ์œผ๋กœ์จ ๊ฐ•๊ฑด์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉํ–ฅ์„ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋‹ค. [๋ณธ๋ฌธ์œผ๋กœ]
  2. stdout ๋ฟ ์•„๋‹ˆ๋ผ stderr์— ์ถœ๋ ฅํ•˜์—ฌ ๋””๋ฒ„๊น…์„ ์œ„ํ•œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋ฒ•๋„ ์žˆ๋‹ค. ์ด๋Š” ๊ธฐ์กด์˜ stdout์€ ์ž…๋ ฅ ๋ฒ„ํผ๋ฅผ ํ†ตํ•˜์—ฌ ์ถœ๋ ฅ๋˜๊ธฐ์— ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜ ์‹œ ์ถœ๋ ฅ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ stderr์€ ๋ฐ”๋กœ ์ถœ๋ ฅ๋˜๊ธฐ์— ํ™•์ธ์ด ์šฉ์ดํ•˜๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค. [๋ณธ๋ฌธ์œผ๋กœ]
๋ฐ˜์‘ํ˜•

| ๋ณ€์ˆ˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€? |

| ๋ณ€์ˆ˜ ์„ ์–ธํ•˜๊ธฐ |

[ ๋ณ€์ˆ˜์˜ ํƒ€์ž… ]

- char

- int, long, lon long

- float, double

 

*float type ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ, float ํ˜•์ด๋ผ๋Š” ๊ฒƒ์„ ํ™•์‹คํžˆ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด 'f'๋ฅผ ๋ถ™์ธ๋‹ค.

ex ) float a = 3.141592f;

       double b = 3.141592;

 

[printf ๋ช…๋ น ์‹œ, ]

%o :   8์ง„์ˆ˜์ธ ์ •์ˆ˜๋กœ ์ถœ๋ ฅ

%d : 10์ง„์ˆ˜์ธ ์ •์ˆ˜๋กœ ์ถœ๋ ฅ

%x : 16์ง„์ˆ˜์ธ ์ •์ˆ˜๋กœ ์ถœ๋ ฅ

 

| ์‹ค์ˆ˜ํ˜• ๋ณ€์ˆ˜ |

[printf ๋ช…๋ น ์‹œ, ]

%f : ์‹ค์ˆ˜ํ˜• ๋ณ€์ˆ˜์˜ ์ถœ๋ ฅ

* %f ์ด์šฉ ์‹œ, ์†Œ์ˆ˜์ ์ด ์žˆ๋„๋ก ์ˆซ์ž๋ฅผ ์จ์•ผ ํ•จ

ex ) printf ( "%f", 1 )          X (์˜ค๋ฅ˜๋‚˜๊ฑฐ๋‚˜ ์ด์ƒํ•œ ๊ฐ’์ด ์ถœ๋ ฅ ๋จ)

       printf ( "%f", 1.0 )       O

 

| printf์˜ ๋˜๋‹ค๋ฅธ ํ˜•์‹ |

%.2f : ๋ฌด์กฐ๊ฑด ์†Œ์ˆ˜์  ๋’ค 2์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅํ•˜๋ผ.

%5d : ๋˜๋„๋ก ์ •์ˆ˜๋ฅผ 5์ž๋ฆฌ๋กœ ์ถœ๋ ฅํ•ด๋ผ.( 0์ธ ๋ถ€๋ถ„์€ ๊ณต๋ฐฑ, ๊ฐ’์ด ์ž๋ฆฌ์ˆ˜ ์ดˆ๊ณผ ์‹œ ๋ช…๋ น ๋ฌด์‹œ๋จ)

%6.3f : ๋˜๋„๋ก ์ „์ฒด๋ฅผ 6์ž๋ฆฌ๋กœ ๋งž์ถ”๊ณ , ๋ฌด์กฐ๊ฑด ์†Œ์ˆ˜์  ๋’ค 3์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅํ•ด๋ผ.(์†Œ์ˆ˜์  ์ž์ฒด๋„ 1์ž๋ฆฌ ์ž„)

 

ex )

 

| ๋ณ€์ˆ˜ ์ž‘๋ช…ํ•˜๊ธฐ |

- ์˜›๋‚  ๋ฒ„์ „์˜ C์—์„œ๋Š” ๋ณ€์ˆ˜์„ ์–ธ์ด ์ตœ์ƒ๋‹จ์œผ๋กœ ๊ฐ€์•ผํ•จ, ๊ทผ๋ž˜์—๋Š” ๋ณ€์ˆ˜ ์‚ฌ์šฉ ์ „์—๋งŒ ์„ ์–ธํ•˜๋ฉด ๋จ

- C์–ธ์–ด๋Š” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.

 

[๋ณ€์ˆ˜์ด๋ฆ„์˜ ๊ทœ์น™]

- ์ˆซ์ž๊ฐ€ ์ œ์ผ ์•ž์— ์˜ฌ ์ˆ˜ ์—†์Œ

- ์˜์–ด, ์ˆซ์ž, _ ๋กœ๋งŒ ๊ตฌ์„ฑํ•ด์•ผ ํ•จ

- ๋ณ€์ˆ˜ ์ด๋ฆ„์— ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ์žˆ์œผ๋ฉด ์•ˆ๋จ

- ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด C์–ธ์–ด์˜ ์˜ˆ์•ฝ์–ด์ด๋ฉด ์•ˆ๋จ.

 

[๋ณ€์ˆ˜ ์ž‘๋ช… ์‹œ ๊ณ ๋ ค ์‚ฌํ•ญ]

- ๋ฌด์Šจ ๋ฐ์ดํ„ฐ ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒƒ

- ์˜์–ด๋กœ ์“ธ๊ฒƒ

- '_' ๋˜๋Š” ๋Œ€์†Œ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„ (ex. this_is_some_variable ๋˜๋Š” ThisIsSomeVariable) ์ค‘ํ•œ๊ฐ€์ง€ ์Šคํƒ€์ผ๋กœ ์“ธ๊ฒƒ 

 

 

 

 

 

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•

* ๊ธฐ์ˆ˜๋ฒ• (Numberal system) : ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

| ๋ฐ‘๊ณผ ์ง€์ˆ˜ |

- ๋ฐ‘ (base) , ์ง€์ˆ˜ (exponent)

- (number)^0 = 1 : number์—๋Š” 0์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์ˆ˜๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

 

| ์‹ญ์ง„๋ฒ•, ์ด์ง„๋ฒ•, 16์ง„๋ฒ• |

1. ์‹ญ์ง„๋ฒ• (Decimal)

    7253 = 7 * 10³ + 2 * 10² + 5 * 10¹ + 3 * 10โฐ

 

2. ์ด์ง„๋ฒ• (Binary)

    110โ‚‚ = 1 * 2² + 1 * 2¹+ 0 * 2โฐ

 

3. 16์ง„๋ฒ• (Hexadecimal)

     - ์‚ฌ์šฉ ์ˆซ์ž :

     - ํ‘œํ˜„ :

       123 = 7 X 16¹ + 11 X 16โฐ = 0x7B

                                              โ€ป 0x : 16์ง„๋ฒ•์œผ๋กœ ํ‘œ๊ธฐํ•œ ์ˆ˜์ž„์„ ๋œป ํ•จ.

 

 

4. ์ด์ง„์ˆ˜ ↔ 16์ง„์ˆ˜ ๋ณ€ํ™˜

     [์ด์ง„์ˆ˜ → 16์ง„์ˆ˜]

     ๋’ค์—์„œ๋ถ€ํ„ฐ 4์ž๋ฆฌ์”ฉ ๋Š์–ด์„œ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜  ํ›„ 10์ด์ƒ์€ ABCDEF๋กœ ๋ฐ”๊ฟ”์”€

 

      ex) 1001111001110001110โ‚‚  โ˜ž 0x4F38E

      [16์ง„์ˆ˜ → ์ด์ง„์ˆ˜]

      ํ•œ ์ž๋ฆฌ์”ฉ 10์ง„์ˆ˜๋กœ ์ƒ๊ฐํ•˜์—ฌ ๊ฐ๊ฐ ์ด์ง„์ˆ˜๋กœ ์”€.

      ex) 0x418E โ˜ž 100000110001110โ‚‚

 | ์ปดํ“จํ„ฐ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‹จ์œ„ |

- ๋Œ€ํ‘œ์  ํœ˜๋ฐœ์„ฑ : RAM (Random Access Memory) → ๋ฐ์ดํ„ฐ์— ๋žœ๋คํ•˜๊ฒŒ ์ ‘๊ทผ

- ๋น„ํœ˜๋ฐœ์„ฑ : ROM (Read Only Memory) → ๋ฐ์ดํ„ฐ์— ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผ

 

- 8bit๋กœ 256๊ฐ€์ง€์˜ ์ˆ˜ ํ‘œํ˜„ ๊ฐ€๋Šฅ

๋ ˆ์ง€์Šคํ„ฐ : CPU์—์„œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ž ์‹œ ์จ๋†“๋Š” ๋ถ€๋ถ„( ์ž‘์€ ์ €์žฅ ๊ณต๊ฐ„)

== ์ปดํ“จํ„ฐ ์ƒ์—์„œ ์—ฐ์‚ฐ์ด ์‹คํ–‰๋˜๋Š” ์ตœ์†Œ ๋‹จ์œ„ == ์›Œ๋“œ(Word)

 

ex) 32๋น„ํŠธ ์ปดํ“จํ„ฐ์˜ ์›Œ๋“œ == 32๋น„ํŠธ == 4๋ฐ”์ดํŠธ

      64๋น„ํŠธ ์ปดํ“จํ„ฐ์˜ ์›Œ๋“œ == 64๋น„ํŠธ == 8๋ฐ”์ดํŠธ

 

๋ฐ˜์‘ํ˜•

CASE 1)

a + b + c = 2000

-> ์˜ค๋ฅ˜ 

     why? '='๋Š” ๋Œ€์ž… ์—ฐ์‚ฐ์ž์ž„ 

     ๊ฐ™๋‹ค ํ• ๋ ค๋ฉด '==' ์จ์•ผํ•จ. ==์ˆ˜์ •ํ•ด์„œ ํ•ด๊ฒฐ

๋ฐ˜์‘ํ˜•

+ Recent posts