본문 바로가기

C언어프로그래밍

프로그래밍개론 8차시: scanf 함수

반응형
SMALL

쓸모있는 프로그램을 만들어보자.

화면에 별 소용도 없는 Hello 같은 인사말을 출력하는

프로그램말고,

요긴하게 쓸 수 있는 프로그램을 만들어 보자.


계산기는 어떨까?

헐,,

목표가 너무 높은거 아냐.

그래서,

아주 간단한 계산기를 만들어보자.

2개의 숫자를 입력하면,

두 숫자의 합을 출력해주는 프로그램을 만들어보자.

C언어로 말이다.


이걸 만들려면,,

2개의 숫자를 입력받는 방법을 알아야 하고,

2개의 숫자를 더하는 방법을 알아야 하고,

합을 출력하는 방법을 알아야 한다.

알아야 할 것 투성이다.


완성 프로그램

하나하나 설명해 가면서 만드는 것도

의미는 있지만,

일단, 다 만들어 놓고,

한 줄 한 줄 설명해보자.

일단, 구현한 계산기 프로그램과 실행결과이다.

 


line 5-7:

계산기는 숫자를 2개 입력받아야 하는데,

이를 저장하기 위한 변수 x와 y.

그리고 두 수의 합 x+y를 저장하기 위한 변수 sum이다.

변수는 무엇인가?

고등학교 수학시간에 배웠지 않았나?

변수 x... 그런거..

그런거다 라고 이해하면 된다.

그러면 

x, y, sum앞에 붙은 int는 무엇인가?

int는 integer, 즉 정수를 말한다.

변수 x, y, sum은 정수를 저장하는 변수라는 뜻이다.


line 9:

콘솔에 친절하게도

'첫 번째 숫자를 입력하세요'라는 메시지를 출력하기 위한 것이다.

사실 이거 안 해도 된다.


line 10:

이게 핵심이다.

scanf.

scanf 는 scan + function이다.

즉, 입력함수이다.

출력함수 printf의 반대이다.

키보드로 입력하는 것들을 읽어들인다.  

%d는 무엇인가?

d는 decimal, 즉 10진수를 말한다.

&x는 무엇인가?

변수 x와 연관있다는 것이다.

이제, scanf("%d", &x); 를 해석하면,

"10진수를 입력받아 변수 x에 넣는다"라는 뜻이 된다.


line 12-13:

두 번째 숫자를 입력받는 과정이다.

scanf("%d", &y);를 해석하면

"10진수를 입력받아 변수y에 넣는다."라는 뜻이 된다.


line 15:

sum = x + y;

이것의 뜻은 절대로 "x+y는 sum과 같다"라는 뜻이 아니다.

C언어에서는,

"x+y를 더한 결과를 변수 sum에 넣는다." 라는 뜻이다.


line 16:

프로그램 이해를 위한, 마지막 고비이다.

낯익은 printf가 보이고,

%d도 보인다.

통밥으로 맞춰보자. 무슨 뜻인지...

혹시 이걸 맞췄다면 당신은 "센스쟁이"

정답은,

"10진수 3개를 출력하는데, 변수 x, y, sum 순서로 출력한다."

라는 뜻이다.


또 다른 계산기를 만들어보자.

두 수를 입력받아,

두 수의 차를 출력하는 계산기 프로그램을 만들어보자.

위 프로그램을 응용해서 말이다.

이건, 너무 쉬우니, 더 이상 설명하지는 않는다.


쓸모있는 깨알팁 하나 투척,,

계산기가 나름 요긴하게 

쓰이긴 하겠지만,

기대 이하였을 것이다.

그래서,

만회할 겸,

생활속의 지혜 하나 드리는 걸로 '' 칩시다.




입력함수인 scanf를 이용하여

2개의 숫자를 입력받아

그 합을 계산해서 출력하는 프로그램을 작성하는 과정을 보여주는

동영상입니다.



반응형
LIST