본문 바로가기

박기완 코딩교육/게임개발을 희망하는 초중고 학생들을 위한 c언어

3장. 변수. HP가 50인 전사가 생성되었습니다.

 잠시 머릿속에 자판기를 떠올려볼까요?

자판기를 보면 동전투입구와 지폐투입구가 있고, 얼마의 돈을 넣었는지가  조그만 창에 표시됩니다.

 

자판기에 오백원을 넣으면  화면에 500이라 표시되고,  천원을 더 투입하면  1500 이라고 표시됩니다.

사실 당연한 부분인데, 잘 생각해보면  신기한 부분이기도 합니다.

 

자판기가 들어온 돈을 기억하고있다가   추가로 들어온 돈을 더해서 표시해준거니까요.

즉, 자판기 내부엔  들어온 동전을 저장하는 공간이 있다 라고  생각해볼 수 있습니다.

 

다른 예를 들어볼까요?

에어컨을 생각해봅시다.

 

에어컨을 키면 현재 온도가 표시되고,  리모콘을 이용해서 목표온도를 설정할 수 있습니다.

 

목표온도를 설정하면,  에어컨이  목표온도 값을 기억하고있는건지   

점차  현재온도가  목표온도를 향해 갑니다. 신기하지 않나요?

어떻게 에어컨이  목표온도를 기억하고 있는걸까요?

 

우리는 자판기와 에어컨을 보고 유추해 볼 수 있습니다.

자판기와 에어컨 내부엔 값을 저장할 수 있는 공간이 존재한다.

라고 말이죠.

 

 

 

실제론 이렇습니다.   

1. 자판기와  에어컨 안에   기계를 제어하는 보드가 들어있습니다.

2. 이 보드에 업로드 되어있는 프로그램이  실행되면서 기계가 동작하고

3. 자판기에 동전을 넣든,   에어컨의 목표온도를 설정하든    프로그램이 값을 기억하고 있다.

자판기 내부 보드 에어컨 내부 보드

 

 

이처럼  값을 기억하는 저장공간을 어떻게 만들 수 있을까요?

우선 C언어에선    값을 저장할 수 있는 공간을   '변수'라고 부릅니다.

변수는 어떻게 만들까요?

 

자료형 변수명; 

이렇게 써서 만듭니다.

 

예를 들어  int num;  이라고 쓰면    num이라는 이름의  저장공간을 만들고 

이 공간엔 정수만 저장된다는 뜻입니다.

c언어는 특이하게도 저장될 내용에 제한을 걸어두었습니다.

 

어떤 공간은 정수만 저장할 수 있고, 어떤 공간은  실수(소수)만 저장 할 수 있습니다.   

이처럼 똑같은 숫자도   정수만 저장 가능하다,  실수만 저장 가능하다해서  자료형 (Data type) 이라 부릅니다.



이 중 int라는 자료형은  정수만 저장가능함을 뜻합니다.

다시말해  int num; 이라고 하면    num이라는 저장공간을 만드는데    정수만 저장 가능한 것이죠.

 

그럼 이제   만든 공간에 값을 넣어볼까요?

int num;
num = 5;
int num = 5;

왼쪽처럼 쓰든, 오른쪽처럼 쓰든  결과는 똑같습니다.

둘다   int num 이라는 단어때문에   num 이름의 공간을 만들고,     = 5라는 단어때문에   num에 5가 대입됩니다.

 

 

수학에서 =은  2+3 = 5 처럼  결과를 표시하는 용도로 쓰인다면,   

c언어에서 =는  '대입' 의 의미로   우측에 있는 데이터가 좌측에 대입됩니다.

 

 

 

그럼   변수를 활용한 예제들을  하나씩 봐볼까요?

 

#include <stdio.h>

int main()
{
	int warrior_hp;
	
	warrior_hp = 50;

	printf("전사키우기 게임에 오신걸 환영합니다.\n");
	printf("hp가 %d 인 전사가 생성되었습니다.\n", warrior_hp);

	return 0;
}


 

warrior_hp 라는 변수를 만들어서  50을 넣었습니다.

그리고선 화면에 출력했습니다.   

 

다른 예제를 좀더 봐볼까요?

#include <stdio.h>

int main()
{
	int appleCost;
	appleCost = 2000;

	int amount;
	amount = 10;


	int result;
	result = appleCost * amount;

	printf("사과 1개의 가격은 %d, 사과를 %d개 산다 했을때 지불할 금액 : %d \n", appleCost, amount, result);

	return 0;
}


 

사과 금액과  구매할 갯수가 주어졌을때,  지불할 금액을 계산하는 프로그램을 만들어봤습니다.

신기하죠?

 

오늘 배운걸 정리해보면 !!

 

프로그램 내부에  값을 저장하는 공간을 만들 수 있다.

그걸 변수라 한다.

변수는   자료형 변수명;  써서 만든다.

 

 

 

hackee.tistory.com/255

 

게임개발을 희망하는 초등학생, 중학생, 고등학생들을 위한 c언어 책

이 글을 보고있다는건 게임개발에 관심있다는 거겠죠? 그렇다면 정말 잘보셨습니다. 읽기 쉽고,  단기간 내에 자기꺼화 할 수 있게 최대한 핵심만 담았습니다. 게임개발에 대해 궁금한게 많아

blog.codingteacher.kr

hackee.tistory.com/256

 

1장. 프로그램 결국 0과 1

프로그램이란 단어를 들어보셨나요? 앞으로 우리가 만들게될 게임들!! 결국 '프로그램' 입니다. 프로그램이란 컴퓨터가 실행하는 파일을 뜻합니다. 스마트폰을 사용하고 계신다면, 자주 접하는

blog.codingteacher.kr

hackee.tistory.com/257

 

2장. 출력. 전사키우기 게임에 오신걸 환영합니다.

 C언어에서 출력이란 화면에 나타나는 모든걸 뜻합니다. 예를들어 지뢰찾기 게임을 켰을때 화면에 나타나는 지뢰들의 이미지. 이런 모든걸 다 '출력'이라 말하죠.  위 사진에서 보이는 모든 내�

blog.codingteacher.kr

 

 

 

초등, 중등, 고등  1:1 원격 c언어 교육문의

010 - 4537 - 7998

 

현재 대치동 학원에서 코딩강사로 활동중에 있습니다

영재고, 과학고 내신 /

초등, 중등, 고등 입문반, 초급, 중급, 정올반 /

앱, 게임 제작반  문의주세요!