변수 - 화면에 내용 표시하기 (3)
안녕하세요!! 완전 열공이신데요? 벌써 다섯번째 시간이에요.
지난시간에 새로운 출력방법을 또 한가지 배웠어요.
printf하고선 " " 안에 넣으면 출력된다 했었죠.
printf("출력하고 싶은 내용 이곳에 작성");
또 %d 기호 (서식 지정자) 를 쓰게 되면 콤마 이후 값이 전달됐어요.
printf("%d + %d = %d",3,4,3+4);
(결과사진)
이제부터는 변수란 이름의 저장 공간을 알아볼거에요.
화면에 3+4=7 을 표시하는 프로그램이 있어요
printf("3 + 4 = %d", 3+4);
자 여기서 7은 컴퓨터가 3+4를 계산해서 출력해준거였어요. 그죠?
근데 3과 4 는 어때요? 우리가 프로그램 만들때 고정한 값이죠.
이 부분을 사용자한테 입력받게 해볼까요?
이렇게요!
기존 프로그램
입력받는 기능을 추가한 프로그램
3 + 4 = 7
첫번재 수를 입력하세요 : 3
두번째 수를 입력하세요: 4
계산 결과는 : 3+4 = 7
더 좋아졌죠.
이처럼 입력받는 기능을 넣으려면 어떻게 해야 할까요?
프로그램 실행 전, 더할 값이 정해져있던 3 + 4 = 7이 아니라
프로그램 실행 후, 사용자한테 입력받아 더하는 프로그램인거죠.
어떻게하냐?
이걸 하기위해 우린 두가지 개념을 알아야해요
하나는 입력이고 두번째는 입력받은걸 저장할 변수 (저장공간) 에요.
설명해드릴께요.
컴퓨터 프로그램에는 저장공간이라는 개념이 있어요.
자판기에 천원을 넣었더니 넣은 천원을 보관하고 화면에 표시했던 것처럼요.
예를들어 3+4=7를 출력했던 프로그램을 변수라는 개념을 사용해 아래처럼 풀어볼수도 있어요
int a;
int b;
a = 3;
b = 4;
printf("%d + %d = %d", a, b, a+b);
느낌적으로 봐볼까요?
처음보는 int라는 애가 등장했고
printf보니까 a, b, a+b를 %d 자리에 차례대로 넣어 출력하고 있다는 거에요. 그렇죠?
왠지 3 + 4 = 7 이 출력될 느낌이죠.
일단 얘내들이 뭐냐.
int a;
int b;
프로그램이 실행되면, 저장공간을 두개 만들어라 라는 뜻이에요. 그것도 정수(int)를 저장할 수 있는 애로요.
혹시 integer 라는 영어단어 뜻을 알고 계신가요? 찾아보면 '정수' 라는 의미를 가졌죠.
거기서 앞 3글자를 따온 거에요. 그래서 int.
int a; 라고 하면, 정수를 저장할 수 있는 a란 이름의 공간을 하나 생성하겠다
는 뜻이에요.

마치 컴퓨터에 a라 불리는 방이 만들어진거죠.
거기에 a = 3; 이라고 하면!
int a;
a = 3;
a라 불리는 방에 3이 저장된 모습이 되는거에요.
마치 101호라는 공간에 어떤 사람이 살고있는 것처럼요.
그럼, 이 a에 3을 넣는 대신! 입력받게 해주는 명령어를 쓰면 어떻게 될까요?
int a;
scanf("%d", &a);
scanf 라는걸 쓰면 사용자로부터 입력받을 수 있게 되요.
printf는 출력할 때 썼죠? scanf는 입력받을 때 써요.
%d 즉 정수 형태로 입력을 받을건데, 정수 형태로 입력받은걸 a 공간에 저장해라. 라는 뜻이에요.
a 앞에 &붙은거 보이시죠? 이게 주의할 점!!
자 그러면, 사용자한테 입력받는 버전으로 프로그램 완성해볼까요?
int a;
int b;
scanf("%d", &a);
scanf("%d", &b);
printf("%d + %d = %d", a, b, a+b);
굿!! 근데 이렇게만 쓰고 실행해보면, 화면에 깜빡이고만 있지 "첫번째 수 를 입력해주세요 " 라고 나오진 않아요.
좀더 친절한 프로그램을 만들기 위해 조금 바꿔볼까요?
int a;
int b;
printf("첫번째 수를 입력해주세요 : ");
scanf("%d", &a);
printf("두번째 수를 입력해주세요 : ");
scanf("%d", &b);
printf("더한 결과는 ");
printf("%d + %d = %d", a, b, a+b);
printf 를 이용해서 첫번째 수를 입력해달라고 화면에 출력하고, scanf를 통해 입력받은거에요.
어때요! 신기하죠.
다음시간엔 여기서 조금 더 응용해
덧셈외에 곱셈, 나눗셈, 뺄셈도 해볼게요. 그러면서 변수에 대해 구체적으로 살펴볼 예정입니다!
오늘도 고생하셨어요!
Last updated
Was this helpful?