C/Fundamentals

C Basics 1/ (์—ดํ˜ˆ Cํ”„๋กœ๊ทธ๋ž˜๋ฐ)

metamong 2023. 6. 25.

๐Ÿ˜ ์ด๋ฒˆ ํฌ์ŠคํŒ…๋ถ€ํ„ฐ ์œค์„ฑ์šฐ <์—ดํ˜ˆ C ํ”„๋กœ๊ทธ๋ž˜๋ฐ>์˜ ๋ชจ๋“  ๋‚ด์šฉ์„ ์ฐจ๋ก€์ฐจ๋ก€ ํฌ์ŠคํŒ…ํ•  ์˜ˆ์ •์ด๋‹ค.

 

๐Ÿ˜ ์ฒ˜์Œ์œผ๋กœ ๋ฐฐ์› ๋˜ C์–ธ์–ด, ์ด์ œ ๋๊นŒ์ง€ ๋ชจ๋“  ๊ฐœ๋…์„ ์ œ๋Œ€๋กœ ์ •๋ฆฝํ•œ๋‹ค๋Š” ์˜๋ฏธ๋กœ ์ง„ํ–‰ํ•ด๋ณด์ž

1. ์ด๊ฒƒ์ด C์–ธ์–ด๋‹ค

โ‘  ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ธ๊ฐ„์ด ์ž‘์„ฑํ•œ C์–ธ์–ด๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค. ์ฆ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ž€ ์‚ฌ๋žŒ๊ณผ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์•ฝ์†๋œ ํ˜•ํƒœ์˜ ์–ธ์–ด

 

Q. What best describes the role of a compiler?

(A) Debug one's code

(B) Run the written program

(C) Distinguish between functions and arguments

(D) Turn source code into machine code

 

โ‘ก C์–ธ์–ด์˜ ํŠน์ง•

์ ˆ์ฐจ์ง€ํ–ฅ์„ฑ) ์ •ํ•ด์ง„ ์ˆœ์„œ์˜ ์‹คํ–‰ํ๋ฆ„์„ ์ค‘์‹œ. ์ธ๊ฐ„์˜ ์ผ๋ฐ˜์ ์ธ ์ƒ๊ฐ๋ฐฉ์‹์— ๊ฐ€๊นŒ์›€

์ด์‹์„ฑ์ด ์ข‹์Œ) C์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์€ CPU์˜ ์ข…๋ฅ˜์— ์ƒ๊ด€์—†์ด ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์šด์˜์ฒด์ œ์˜ ์ฐจ์ด์—๋„ ๋œ ๋ฏผ๊ฐ

์ข‹์€ ์„ฑ๋Šฅ) ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์–‘์ด ์ƒ๋Œ€์ ์œผ๋กœ ์ ๊ณ , ์†๋„๋ฅผ ์ €ํ•˜์‹œํ‚ค๋Š” ์š”์†Œ๋ฅผ ์ตœ์†Œํ™”ํ•œ ์–ธ์–ด

 

→ ๋‹ค๋งŒ, ์ €๊ธ‰์–ธ์–ด(low-level)์˜ ํŠน์ง•์„ ํ•จ๊ป˜ ์ง€๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณ ๊ธ‰์–ธ์–ด์— ๋น„ํ•ด ์ข€ ๋” ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉ

(๊ณ ๊ธ‰์–ธ์–ด์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์–ธ์–ด / ์ €๊ธ‰์–ธ์–ด์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์–ธ์–ด)

2. ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋ณธ๊ตฌ์„ฑ

โ‘ข ํ•จ์ˆ˜์˜ ๊ตฌ์„ฑ - ์ž…๋ ฅ(์ธ์ž)๊ณผ ์ถœ๋ ฅ

→  ์ฆ‰ C์–ธ์–ด๋Š” ์ •ํ•ด์ง„ ์ˆœ์„œ์— ์˜ํ•ด์„œ ์ง„ํ–‰๋˜๋Š” ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์ด ๊ณง C์–ธ์–ด ํ”„๋กœ๊ทธ๋žจ์˜ ํฐ ํ๋ฆ„์ด ๋œ๋‹ค.

 

ex) int main(void)

→ int๋Š” ํ•จ์ˆ˜ ์ถœ๋ ฅ ํ˜•ํƒœ(๋ฐ˜ํ™˜ํ˜• return type)

→ main์€ ํ•จ์ˆ˜ ์ด๋ฆ„

→ void๋Š” ํ•จ์ˆ˜ ์ž…๋ ฅ ํ˜•ํƒœ

int main(void) {
  return 0;
}

 

→ C์–ธ์–ด์—์„œ์˜ ํ•จ์ˆ˜๋Š” ์ค‘๊ด„ํ˜ธ ์•ˆ์— ํ‘œํ˜„์ด ๋œ๋‹ค. 

→ ํ•จ์ˆ˜ ๋‚ด์— ์กด์žฌํ•˜๋Š” ๋ฌธ์žฅ์˜ ๋์—๋Š” ์„ธ๋ฏธ์ฝœ๋ก  ; ์„ ๋ถ™์—ฌ ์ค€๋‹ค. (๋ชจ๋“  ๋ฌธ์žฅ์— ์„ธ๋ฏธ์ฝœ๋ก ์ด ๋ถ™์ง€๋Š” ์•Š๋Š”๋‹ค. ์ดํ›„ ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ๊ณผ ๊ฐ™์€ ์ปจํŠธ๋กค ๋ฌธ์žฅ์—๋Š” ์„ธ๋ฏธ์ฝœ๋ก ์ด ๋ถ™์ง€ ์•Š๋Š”๋‹ค)

 

โ‘ฃ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ printf ํ•จ์ˆ˜

#include <stdio.h>

printf("Hello world!\n");

 

→ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์†Œ๊ด„ํ˜ธ ์•ˆ์— ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์ „๋‹ฌํ•  ์ธ์ž์ •๋ณด ์ €์žฅ

→ ์œ„ printf() ํ•จ์ˆ˜๋Š” ์ง์ ‘ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•œ, ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ํ•จ์ˆ˜. ์ด๋ฅผ 'ํ‘œ์ค€ํ•จ์ˆ˜'๋ผ ํ•˜๊ณ  ํ‘œ์ค€ํ•จ์ˆ˜๋“ค์˜ ๋ชจ์ž„์„ ๊ฐ€๋ฆฌ์ผœ 'ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ'๋ผ๊ณ  ํ•œ๋‹ค.

 

โ‘ค ํ—ค๋”ํŒŒ์ผ

→ ์œ„ printf() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ stdio.h๋ผ๋Š” ํ—ค๋”ํŒŒ์ผ์„ ์„ ์–ธํ•ด์•ผ ํ•˜๊ณ , main ํ•จ์ˆ˜ ์ •์˜ ์ด์ „์— ์™€์•ผ ํ•œ๋‹ค.

→ ์ดํ›„ ํ—ค๋”ํŒŒ์ผ์— ๊ด€๋ จ๋œ ์ž์„ธํ•œ ๊ณต๋ถ€

 

โ‘ฅ return ๋ฌธ

(1) ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ์˜์—ญ์œผ๋กœ ๊ฐ’์„ ์ „๋‹ฌ(๋ฐ˜ํ™˜) + (2) ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ํ•จ์ˆ˜์˜ ์ข…๋ฃŒ

 

(+) main ํ•จ์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๋˜๋ฉด ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜. ํ˜ธ์ถœ์˜ ์ฃผ์ฒด๋Š” ์šด์˜์ฒด์ œ. ์ฆ‰ return ๋’ค์˜ 0์€ ์šด์˜์ฒด์ œ์—๊ฒŒ ์ „๋‹ฌ๋จ. ๊ทธ๋ฆฌ๊ณ  0์ด๋ผ๋Š” ๊ฐ’์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์ข…๋ฃŒ์ƒํƒœ๋ฅผ ์•Œ๋ฆฌ๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋จ. 0์€ ์ •์ƒ์ ์ธ ์ข…๋ฃŒ / 0์ด ์•„๋‹Œ ๊ฐ’์€ ๋น„์ •์ƒ์ ์ธ ์ข…๋ฃŒ ์ƒํ™ฉ

 

ex) ์˜ˆ์ œ

#include <stdio.h>

int main(void) {
  printf("Ryan\nR y a n\nR  y  a  n\n");
  return 0;
}

/*
Ryan
R y a n
R  y  a  n
*/

 

โ‘ฆ ์ฃผ์„

/*
๋ธ”๋ก
๋‹จ์œ„
์ฃผ์„
*/

//ํ–‰ ๋‹จ์œ„ ์ฃผ์„

 

โ‘ง printf ํ•จ์ˆ˜

→ ์•ž์„œ ์ถœ๋ ฅํ•œ ๊ฑด ๋ฌธ์ž์—ด, ๋ฌธ์ž์—ด ์ด์™ธ์˜ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ ๊ฐ€๋Šฅ

#include <stdio.h>

int main(void) {
  printf("%d\n",1234);
  return 0;
}
//1234

 

→ printf() ํ•จ์ˆ˜๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ์ „๋‹ฌ๋œ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค.

→ ๋ฌธ์ž์—ด ์•ˆ์— ์žˆ๋Š” %d๋Š” conversion specifier(์„œ์‹๋ฌธ์ž)๋ผ๊ณ  ํ•˜๋ฉฐ ์ถœ๋ ฅ์˜ ํ˜•ํƒœ๋ฅผ ์ง€์ •ํ•˜๋Š” ์šฉ๋„. 

conversion specifier์˜ ์ถœ๋ ฅ์ด ๋Œ€์ƒ์ด ๋˜๋Š” ๊ฑด ๋‘ ๋ฒˆ์งธ ์ „๋‹ฌ์ธ์ž. %d๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ๋‹ค๋ฉด %d์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋’ค์— ์ธ์ž์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚จ.

→ %d conversion specifier๋Š” ์ฃผ์–ด์ง„ ์ธ์ž๋ฅผ 10์ง„์ˆ˜ ์ •์ˆ˜ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•ด์คŒ

#include <stdio.h>

int main(void) {
  printf("%d + %d = %d\n",1234,1234,1234+1234);
  return 0;
}

//---------------------------------
#include <stdio.h>

int main(void) {
  printf("%d x %d = %d\n",1234,1234,1234*1234);
  return 0;
}

3. ๋ณ€์ˆ˜์™€ ์—ฐ์‚ฐ์ž

โ‘จ ์—ฐ์‚ฐ์ž(operator): ํŠน์ •์—ฐ์‚ฐ์„ ์š”๊ตฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์•ฝ์†๋œ ๊ธฐํ˜ธ

→ ex) ๋ง์…ˆ ์—ฐ์‚ฐ์„ ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋œ ๊ฐ’์„ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค

๋ณ€์ˆ˜(variable)์„ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ
(๋ณ€์ˆ˜๋ž€ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ๋ถ™์€ ์ด๋ฆ„, ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์ž์ฒด)

๋Œ€์ž… ์—ฐ์‚ฐ์ž) =์ด๋ฉฐ ๋Œ€์ž… ์—ฐ์‚ฐ์ž์˜ ์˜ค๋ฅธํŽธ์— ์˜ค๋Š” ๊ฐ’์„ ์™ผํŽธ์— ์˜ค๋Š” ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ

#include <stdio.h>

int main(void) {
  int num1, num2;
  int num3 = 30, num4 = 40;
  printf("num1: %d, num2: %d\n",num1, num2);
  num1 = 10;
  num2 = 20;
  int num5 = 10;
  
  printf("num1: %d, num2: %d\n", num1, num2);
  printf("num3: %d, num4: %d\n", num3, num4);
  printf("num5: %d\n", num5);
  return 0;
}

/*
num1: 10, num2: 20
num1: 10, num2: 20
num3: 30, num4: 40
num5: 10
*/

 

โ‘ฉ ๋ณ€์ˆ˜์˜ ์ด๋ฆ„ ๊ทœ์น™

→ ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์€ ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, ์–ธ๋”๋ฐ”๋กœ ๊ตฌ์„ฑ

→ C์–ธ์–ด๋Š” ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„

→ ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์„ ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๊ณ , ํ‚ค์›Œ๋“œ๋„ ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ

(ํ‚ค์›Œ๋“œ๋ž€ ์ด๋ฏธ ๊ธฐ๋Šฅ์  ์˜๋ฏธ๊ฐ€ ์ •ํ•ด์ง„ ๋‹จ์–ด๋กœ, C์–ธ์–ด์˜ ๋ฌธ๋ฒ•์„ ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ์–ด๋“ค์ด๋‹ค. ํ‚ค์›Œ๋“œ๋Š” ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์˜ ์ด๋ฆ„์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋ฏธ ์šฉ๋„๊ฐ€ ๊ฒฐ์ •๋œ ๋‹จ์–ด๋“ค)

→ ์‚ฌ์ด์— ๊ณต๋ฐฑ ์‚ฝ์ž… ๋ถˆ๊ฐ€๋Šฅ (๋Œ€์‹  ์–ธ๋”๋ฐ”)

 

โ‘ช ๋ณ€์ˆ˜์˜ ์ž๋ฃŒํ˜•

→ ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜: ์ •์ˆ˜์˜ ์ €์žฅ์„ ๋ชฉ์ ์œผ๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜

→ ์‹ค์ˆ˜ํ˜• ๋ณ€์ˆ˜: ์†Œ์ˆ˜์  ์ดํ•˜์˜ ๊ฐ’์„ ์ง€๋‹ˆ๋Š” ์‹ค์ˆ˜์˜ ์ €์žฅ์„ ๋ชฉ์ ์œผ๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜

 

→ ์ •์ˆ˜์ธ์ง€ ์‹ค์ˆ˜์ธ์ง€์— ๋”ฐ๋ผ์„œ ๊ฐ’์ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ ๋ฐ ์ฐธ์กฐ๋˜๋Š” ๋ฐฉ์‹์ด ๋‹ค๋ฆ„. ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜๋Š” ๋ณ€์ˆ˜์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ์„œ charํ˜•, shortํ˜•, intํ˜•, longํ˜• ๋ณ€์ˆ˜๋กœ ๋‚˜๋‰˜๊ณ  / ์‹ค์ˆ˜ํ˜• ๋ณ€์ˆ˜๋„ ํฌ๊ธฐ์— ๋”ฐ๋ผ์„œ floatํ˜•, doubleํ˜• ๋ณ€์ˆ˜๋กœ ๋‚˜๋‰œ๋‹ค.

 

โ‘ซ ์ดํ•ญ์—ฐ์‚ฐ์ž

→ = ๋Œ€์ž… ์—ฐ์‚ฐ์ž / + ๋ง์…ˆ ์—ฐ์‚ฐ์ž / - ๋บ„์…ˆ ์—ฐ์‚ฐ์ž / * ๊ณฑ์…ˆ ์—ฐ์‚ฐ์ž / / ๋ชซ ์—ฐ์‚ฐ์ž / % ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž

 

โ‘ฌ ๋ณตํ•ฉ๋Œ€์ž…์—ฐ์‚ฐ์ž

→ += / *= / %=

 

โ‘ญ ๋‹จํ•ญ์—ฐ์‚ฐ์ž: ์•ž์— ๋ถ€ํ˜ธ๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋Š” ์—ฐ์‚ฐ์ž

→ + / -


โ‘ฎ ์ฆ๊ฐ€ / ๊ฐ์†Œ ์—ฐ์‚ฐ์ž: ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ’์„ 1 ์ฆ๊ฐ€ ๋ฐ ๊ฐ์†Œ์‹œํ‚ค๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋˜๋Š” ์—ฐ์‚ฐ์ž

→ ++num: ๊ฐ’์„ 1์ฆ๊ฐ€ ํ•œ ํ›„, ์†ํ•œ ๋ฌธ์žฅ์˜ ๋‚˜๋จธ์ง€๋ฅผ ์ง„ํ–‰

→ num++: ์†ํ•œ ๋ฌธ์žฅ์„ ๋จผ์ € ์ง„ํ–‰ํ•œ ํ›„, ๊ฐ’์„ 1 ์ฆ๊ฐ€

→ --num: ๊ฐ’์„ 1 ๊ฐ์†Œ ํ›„, ์†ํ•œ ๋ฌธ์žฅ์˜ ๋‚˜๋จธ์ง€ ์ง„ํ–‰

→ num--: ์†ํ•œ ๋ฌธ์žฅ์„ ๋จผ์ € ์ง„ํ–‰ํ•œ ํ›„, ๊ฐ’์„ 1 ๊ฐ์†Œ

#include <stdio.h>

int main(void) {
  int num1 = 12;
  printf("num1: %d\n", num1);
  printf("num1++: %d",num1++);
  printf("--num1: %d\n",--num1);

  int num2 = (num1--)+2;
  int num3 = num1+2;

  printf("num2, num3: %d, %d\n", num2, num3);
  
  return 0;
}

 

โ‘ฏ ๊ด€๊ณ„์—ฐ์‚ฐ์ž(๋น„๊ต์—ฐ์‚ฐ์ž)

<, >, <=, >=, ==, !=

→ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด 1(true), ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด 0(false)์„ ๋ฐ˜ํ™˜

 

โ‘ฐ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

&&(๊ทธ๋ฆฌ๊ณ ), ||(๋˜๋Š”), !(NOT)

0๋งŒ ๊ฑฐ์ง“์ด๊ณ  ๋‚˜๋จธ์ง€ ์ˆซ์ž๋Š” ๋ชจ๋‘ ์ฐธ์œผ๋กœ ์ธ์‹

#include <stdio.h>

int main(void) {
  int num1 = 10, num2 = 12;
  int res1, res2, res3;

  res1 = (num1==10 && num2==12);
  res2 = (num1<12 || num2>12);
  res3 = (!num1);

  printf("res1: %d\n",res1);
  printf("res2: %d\n",res2);
  printf("res3: %d\n",res3);
  
  return 0;
}
/*
res1: 1
res2: 1
res3: 0
*/

 

โ‘ฑ ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„ ์ •๋ฆฌ

โ‘ฒ scanf

ํ‚ค๋ณด๋“œ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ํ•จ์ˆ˜

(1) ๋จผ์ € ํ‚ค๋ณด๋“œ๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์•„ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ณต๊ฐ„ ๋ณ€์ˆ˜ num์„ ์ƒ์„ฑํ•œ๋‹ค

(2) scanf() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ์–ด๋–ค ํ˜•์‹์œผ๋กœ ์ž…๋ ฅ ๋ฐ›์„ ๊ฒƒ์ธ์ง€ conversion specifier๋ฅผ ๋ช…์‹œํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ์ธ์ž๋กœ ์ž…๋ ฅ ๋ฐ›์„ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์„ ๊ณต๊ฐ„์„ ๋ช…์‹œํ•œ๋‹ค.

#include <stdio.h>

int main(void) {
  int num;
  scanf("%d",&num);
  printf("num is %d\n",num);
  
  return 0;
}

 

ํ•œ ๋ฒˆ์˜ scanf๋กœ ๋‘˜ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

→ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•  ๋•Œ scanf ํ•จ์ˆ˜๋Š” ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„(์ŠคํŽ˜์ด์Šค๋ฐ”, ํƒญ ๋˜๋Š” ์—”ํ„ฐ ํ‚ค)

#include <stdio.h>

int main(void) {
  int num1, num2, num3;
  scanf("%d %d %d",&num1, &num2, &num3);
  printf("num1, num2, num3: %d, %d, %d\n",num1, num2, num3);
  
  return 0;
}

 

ex) ์˜ˆ์ œ

#include <stdio.h>

int main(void) {
  int num1, num2, num3;
  scanf("%d %d %d",&num1, &num2, &num3);
  printf("result is %d\n",(num1-num2)*(num2+num3)*(num3%num1));
  
  return 0;
}

/*
10
20
30
result is 0
*/

* ์ถœ์ฒ˜) ์œค์„ฑ์šฐ <์—ดํ˜ˆ Cํ”„๋กœ๊ทธ๋ž˜๋ฐ>

* ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„ ํ‘œ ์ถœ์ฒ˜) https://marinelifeirony.tistory.com/12

 

๋Œ“๊ธ€