brunch

You can make anything
by writing

C.S.Lewis

by 아무나 Mar 20. 2019

C언어를 배워보자 -3. 변수(Variable)

코딩을 하다 보면 맨날 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 << "원 넣으셨군요!" (입력한 값을 여기서 출력해준다.)


하면 아주 작지만 인터렉션이 가능한 코드가 완성된다.


 

나오며...

*사실 여기까지 했을 때, 나는 유료를 지를까 말까 고민을 하기 시작했다.

*왜냐하면, 변수가 뭔지, 뭐가 있는지 알았지만 이걸 어떻게 활용해야 할지 막막했기 때문이다.

*그런데 이 사람들이 연습문제를 유료로 묶어 놓은 것이다.


이럴 땐 어떻게 해야 하나... 지... 지를까?

눈 딱 감고 한 번만...?



매거진의 이전글 C언어를 배워보자 - 2. 컴파일을 해보자
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari