쓸모있는 프로그램을 만들어보자.
화면에 별 소용도 없는 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개의 숫자를 입력받아
그 합을 계산해서 출력하는 프로그램을 작성하는 과정을 보여주는
동영상입니다.
'C언어프로그래밍' 카테고리의 다른 글
프로그래밍개론 10차시: 변수 선언과 초기화 (0) | 2015.03.14 |
---|---|
프로그래밍개론 9차시: 변수 이름붙이기 (0) | 2015.03.14 |
프로그래밍개론 7차시: printf 함수 (1) | 2015.03.14 |
프로그래밍개론 6차시: Indentation (0) | 2015.03.14 |
프로그래밍개론 5차시: main함수 (0) | 2015.03.14 |