02. 변수, 2001

@codemaru · October 24, 2011 · 6 min read

오늘은 초보C++강좌 2탄으로 변수에 대해서 준비했습니다. 앞으로 강좌를 계속 올릴 예정이니 차근차근 읽고 숙제를 풀다보면 어느새 발전된 자신을 발견할 수 있을 겁니다. 그럼 그날을 위해서 오늘도 힘차게 한번 출발 해보도록 하죠~

지난번 숙제부터 한번 푸러 볼까요?! 자신의 이름과 생을 화면에 출력하는 예제였죠~ 전 이렇게 했습니다.

#include  
using namespace std;
int main() { 
 cout << "이름 : 신영진" << endl; 
 cout << "생일 : 6월 10일" << endl; 

 return 0; 
} 

간단하죠~ 다들 잘 하셨으리라 생각합니다. 그럼 오늘 강좌의 본론인 변수에 대해서 알아보도록 합시다. 변수는 무엇일까요?! 변수는 말그대로, 변(변하는) 수(숫자) 이런 뜻이 아닐까요?! 제 생각이었습니다. 프로그래밍에서 말하는 변수는 프로그램의 실행도중에 변하는 값을 말합니다. 그렇게 변하는 값들을 메모리에 저장시키기 위해서 변수라는 것을 사용하는 것이죠~ 그럼 간단한 예를 한번 보도록 합시다.

#include  
using namespace std;
int main() { 
 int num; 

 cout << "숫자를 한번 입력해 보세요"; 
 cin >> num; 

 cout << "당신이 입력한 숫자는 " << num << "입니다..."; 

 return 0; 
} 

위의 예제는 간단하게 사용자로 부터 숫자를 하나 입력받고 출력하는 예제입니다. 그럼 사용자에게 숫자를 하나를 입력 받아야 하는데, 사용자가 무엇을 입력할 지 알 수 있을까요? 물론 알 수 없겠죠. 사용자가 1을 입력할 수도 있고, 12를 입력할 수도 있고. 이런 식으로 다른 값이 프로그램 실행 도중에 입력되기 때문에 그런것들을 저장시키기 위해서 변수가 필요한 겁니다. 그럼 분석을 한번 해 보도록 할까요?!

int num; 

int형 변수로 num이라는 놈을 만든다는 것 입니다. int는 뭐죠?! 바로 정수형 변수 입니다. 위의 문장이 딱 실행이 되면, 메모리에 정수한넘을 저장할 공간을 만들어서 이름표를 다는데, 뭐라고 다냐면 바로 num이라고 다는 겁니다. 아시겠죠. 그렇게 여러개를 만들고 싶으면, int num1, num2, num3; 이렇게 선언해 줄 수 있습니다. 일종의 우리가 건물을 짓고 각각의 방을 만드러서 방번호를 붙이는 것과 같다고 생각하시면 되겠네요~ 그리고 꼭 변수는 선언과 동시에 초기화 시키는 게 중요합니다. 예를 들면 이렇게 하는 거죠~ int num = 0; 이렇게 하면 0으로 초기화가 되겠죠~ 그런데 여기서 여러분이 유의하셔야 할 개념이 하나 있습니다. 바로 초기화와 대입연산입니다.

int num = 0; // int num(5); 이렇게 써도 됨. 
num = 5; 

위의 예에서 보면 첫번째 문장, int num = 0; 은 num을 0으로 초기화 시킨다는 의미이고, 밑에 있는 문장은 num에다가 5라는 값을 넣는다는 걸 의미하는 겁니다. 그리고 첫번째 문장의 //이후의 글들은 주석이라고 도움말이라고 생각하면 되겠네요. 그러면 초기화와 대입을 왜 구분하냐고 의문을 가지시는 분들이 계실겁니다. 이 부분은 조금 더 배운 후에 설명을 해 주도록 하겠습니다.

그럼 다음줄을 분석해 보도록 합시다.

cin >> num; 

위의 문장은 num이라는 변수에 키보드로부터 숫자하나를 입력받으라는 문장입니다. 모양새를 잘 보면 ">>" 사용되서 cin을 num으로 보내느 것처럼 보이죠. 맞습니다. 그리고 여기서, cin은 표준입력(키보드)가 되는 거죠~

cout << "당신이 입력한 숫자는 " << num << "입니다..."; 

위의 문장은 당신이 입력한 숫자는 xx입니다를 출력하겠죠. 사용자가 입력한게 num에 저장되어 있으니 그걸 모니터로 보내 버리면 출력이 되는 겁니다.

그럼 오늘 끝으로 변수의 종류에 대해서 알아보도록 하겠습니다.

int 정수형 변수입니다.

long 좀 더 큰 정수를 저장할 수 있는 변수입니다..

float 실수를 저장하는 변수입니다.

double 소수점이하 자리가 좀 더 정확한 변수입니다.

char 문자형 변수입니다.

숙제!!

이름과 전화번호를 입력받아서 출력시키는 프로그램을 작성해 보세요~~~!! 그럼 다들 좋은 하루되세요~~~

@codemaru
돌아보니 좋은 날도 있었고, 나쁜 날도 있었다. 그런 나의 모든 소소한 일상과 배움을 기록한다. 여기에 기록된 모든 내용은 한 개인의 관점이고 의견이다. 내가 속한 조직과는 1도 상관이 없다.
(C) 2001 YoungJin Shin, 0일째 운영 중