오늘은 초보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 문자형 변수입니다.
숙제!!
이름과 전화번호를 입력받아서 출력시키는 프로그램을 작성해 보세요~~~!! 그럼 다들 좋은 하루되세요~~~