코딩을 하다 보면 맨날 Hello world만 띄우고 있을 수 없다
코드로 이것저것 계산도 하고 해야 할 것 아닌가?
그럴 때 필요한 것이 바로 변수(Variable)이다.
그렇다면 변수에는 어떤 것들이 있을까?
1. 변수는 어떻게 사용할까?
변수는 사용하기 전에 두 가지만 선언하면 된다.
1) 어떤 Type의 변수를 사용할지
2) 변수의 이름은 뭘로 할지
아래와 같이 간단하게 선언할 수 있다.
int year;
(int = 타입, year=내가 정한 이름, ; = 끝!)
*참고 : 변수 이름은 (위에서는 year라고 했다) 대/소문자, 숫자, /(찍), _(밑줄) 만 가능하다.
2. 변수 세팅 (초기값 할당이라고나 할까?)
변수를 선언했다면 변수의 기본값을 세팅해보자.
year이라고 이름을 잡았으니 2019로 값을 세팅한다 (이것은 모두 코드카데미의 예제입니다!)
int year; //year 라는 변수 선언
year = 2019; //year 가 무슨 값을 가지는 지 컴퓨터한테 알려줌
*참고 : 코드에서 = 는 같다는 뜻이 아니라 [할당한다]라는 뜻이라고 합니다.
3. 이걸 한 줄에 적어보자!
코드는 짧고 간결할수록 멋지고 예쁘고 좋은 것!
그러니 위에 것을 한 줄로 하면 다음과 같다.
int year = 2019;
4. 산술 연산(Arithmetic operators)
코드로도 계산기 못지않게 계산할 수 있다. 사칙연산은 만국 공통 동일하다
+ : addition - 더하기
- : subtrcation - 빼기
* : multiplication - 곱하기
/ : division - 나누기
% : modulus - 나누고 나머지를 구해줌 (이건 특이하다!)
이걸로 간단한 코드를 짜 본다면
int score = 0; //스코어라는 변수를 정의하고 0으로 셋팅한 다음에
score = 99*1234; //이렇게 곱하기를 넣어주고
std::cout << score << "\n"; //그래서 내가 정의한 스코어 값을 보여줘 (\n 그리고 한 줄 띄워죠)
이렇게 세줄로 짜고 g++ score.cpp (파일명이 score.cpp임) 컴파일해주고 ./a.out해서 실행해주면 계산된 값을 보여주더라!
5. 체인연결 (Chaining)
변수가 많아지면 코드가 자꾸 길어져서 화가 날 수 있다. 그럴 때 체인 <<(요런 꺽쇠 두 번)을 사용해서 코드를 줄줄이 연결해 한 줄로 만들어보자. 이를테면 아래의 문장을 프로그래밍하고 싶다면...
나는 n살이다! (n을 변수로 지정, 예를 들면 90으로 잡아본다)
원래는 아래와 같이 4줄이 필요하다
int age = 90; (예시로 90살이 되어보았다)
std::cout << "나는 "; (스트링을 표현할 때는 "큰따옴표를 쓴다" - "안녕 세상"을 기억하라)
std::cout << age; (정의된 변수를 불러올 때는 ""표 없이 그냥 불러온다)
std::cout << "살이다!"; (띄어쓰기 같은 것도 잘해줘야 한다, ;(땀) 빼먹으면 에러 난다)
코드가 4줄이나 된다. 싫다. 체인<<을 걸어 한 줄로 줄인다
std::cout << "나는 " << age << "살이다!"
6. 코드 쳐 놓은 결과만 지켜보는 것은 지겹다! 프로그램에서 직접 입력하게 해 달라! (input-output)
그래서 가져왔습니다 CIN (즐 아니고, 슬도 아니고...)
여태까지 std::cout을 많이 썼는데 여기서 cout은 Character OUTput(문자를 보여줘!)의 약자였다.
CIN은 Character INput(문자를 입력해!)의 약자.
cout과 cin의 차이점이 있다면 <<<>>>이 체인 거는 방향이 다르다는 것이다.
아웃풋 std::cout은 <<로 했다면
인풋 std::cin은 >> 요런 꺾쇠를 써준다. (>>은 get from이라는 의미를 지닌다고 한다)
이걸로 장난을 쳐보면
int tip = 0;
std::cout << "팁 얼마 넣을 거야?";
stu::cin >> tip; (이제 여기에 입력하는 게 선언한 변수로 지정된다.)
std::cout << "팁을 " << tip << "원 넣으셨군요!" (입력한 값을 여기서 출력해준다.)
하면 아주 작지만 인터렉션이 가능한 코드가 완성된다.
나오며...
*사실 여기까지 했을 때, 나는 유료를 지를까 말까 고민을 하기 시작했다.
*왜냐하면, 변수가 뭔지, 뭐가 있는지 알았지만 이걸 어떻게 활용해야 할지 막막했기 때문이다.
*그런데 이 사람들이 연습문제를 유료로 묶어 놓은 것이다.
이럴 땐 어떻게 해야 하나... 지... 지를까?
눈 딱 감고 한 번만...?