brunch

You can make anything
by writing

C.S.Lewis

by 스스로 코딩 두셀코 Nov 26. 2017

[실습] 변수와 연산자

지금까지 배운 변수와 연산자로 실습을 해볼까요?

'[실습] 구름 IDE 시작하기'에서 구름 IDE 계정을 만들고 컨테이너(컴퓨터)를 생성하셨다면, 이제 준비는 끝입니다!


본격적으로 배운 내용을 실습해보도록 하겠습니다.


가장 먼저 우리가 무엇을 배웠는지 떠올려보면, 변수에서는


1. 변수의 개념 (변수란 뭐지?)

2. 변수와 데이터 타입 (변수에도 종류가 있다고?)

3. 변수의 선언 


이 세 가지를 배웠습니다.


그리고 연산자에서는 산술 연산자(덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산), 비교 연산자(등호, 부등호, 같지 않다), 논리 연산자(and, or), 대입 연산자(=, 할당한다)다양한 연산자들을 배웠죠. 


얼핏얼핏 기억이 나시나요? 


이 내용을 토대로 하나씩 실습을 해볼거에요. 




1. 변수를 선언해보자. 


일단 따라해보죠! 다음 스크린샷에 있는 내용을 그대로 입력해보세요.



그리고 '빌드'를 누르고 아래 검은 창에 변화가 없으면 '실행' 을 눌러보세요.


아무 일도 일어나지 않으면 성공한거에요!


하지만 만약에 이런 에러가 떴으면 뭔가 오타가 있는거에요! 아래의 경우 'ㅇㄹ' 이라는 오타가 들어가있죠? 



그럼 이 내용들이 무슨 의미인지 하나씩 봐볼까요?


변수를 사용하기 전에 "코코넛봇에게 변수를 위한 공간을 만들어 줘!"라고 말을 했어야 했죠? 


그럼 변수를 어떻게 선언했죠? 네, 맞습니다.


데이터 타입 + 변수 이름 + 세미콜론(;)

이렇게 선언해야한다고 알고 있었습니다.


그럼 첫 번째 초록색으로 되어있는 int, double, char 는 데이터 타입이겠죠? 


1) C 언어에서 데이터 타입의 표현법

- 정수 → int : integer(정수)의 줄임말
- 실수 → double : 왜 double 인지는 심화내용이에요. 일반적으로 double 은 쓴다고 알아두세요 :)
- 문자 → char : character(문자)의 줄임말


2) C 언어에서 변수 이름


그 다음은 변수 이름이네요. 여기에 있는 변수 이름은, number, distance_to_home, _oneLetter 가 있네요. 변수 이름은 아무거나로 막 지을 수 있는게 아니라 몇 가지 제약이 있어요. 


1. 영어 대소문자 또는 _(언더바, underscore) 또는 양의 숫자(0,1,2,3 ...) 로 구성되어 있어야 해요2. 맨 앞글자로는 숫자는 오지 못하지만 영어 대소문자와 _(언더바, underscore)는 올 수 있어요.
3. 의미가 있는 이름으로 지어야 해요. 

(변수 이름의 예)
- 영어대소문자 : myAge
- 숫자 포함 : room1
- _ (언더바, underscore) 포함 : number_of_students
- _ (언더바, underscore) 가 맨 앞글자 : _myAge

(잘못된 변수 이름의 예)
- 123num : 숫자는 맨 앞글에 올 수 없어요
- number*() : 특수문자는 변수 이름에 포함될 수 없어요 (공백도 마찬가지에요) 


변수 이름에 대해서 재미있는 설문조사 결과가 있어요. 프로그래머가 가장 어려워하는 일 중 1위가 이름 짓기라고 하네요. 여기에 변수 이름 짓기도 포함되어있어요 :) 의외죠?

https://twitter.com/channyun/status/513825094024839168 


3) 마지막으로 세미콜론(;)이에요. 문장의 끝을 알려주는 세미콜론(;)을 찍지 않으면 오류가 발생해요!




2. 변수와 연산자를 같이 사용해보자 


이렇게 선언한 변수로 우리가 배운 연산자랑 같이 써볼까요? 


일단 무작정 따라해봐요!

아까 변수의 선언에서 보지 못한 것들이 많이 있네요?


일단 연산을 한 변수(피연산자) number1과 number2 두 개 선언을 하고, 연산한 결과를 넣을 result 라는 이름의 변수를 선언했지요?


그 다음에 number1 과 number2 에 각각 대입 연산자 '=' 을 이용해서 10과 20을 넣어주었어요.


그리고 두 변수 number1 과 number2 를 더해서 result 에 넣어줬어요. 우리가 예전에 본 아래와 같은 상황이겠죠?

딱 위 그림과 같은 상황이겠네요. 


그 다음에 마지막으로 그 결과를 출력해줬어요. 


여기서 printf 는 결과값을 콘솔창(검은창)에 출력해주는 역할을 하고 있어요.

여기서 무엇을 출력할지는 "~" 큰 따옴표 안에 들어가는데, 저번처럼 메시지(Hello, goorm)를 출력할 수 있고, 변수를 출력할 수 있는데, 변수를 출력할 때는 변수의 데이터 형식에 맞는 메시지 형식을 써줘야 해요. 아래를 참고하세요.

- 정수(int)형 변수 : %d
- 실수(double)형 변수 : %lf
- 문자(char)형 변수 : %c

그리고 마지막 '\n' 은 한 줄 띄우기 위한 메시지이니 너무 어렵게 생각하지 말아요 :)


마지막으로 '빌드 > 실행'을 하면 콘솔창(검은창)에 아래와 같은 결과를 볼 수 있습니다!


여기까지 잘 따라오셨습니다 :)


'확인하기' 를 꼭 풀어보세요!




확인하기


Q1. 10과 20을 저장한 변수 number1 과 number2 를 뺀 결과를 result 에 저장하고, result 를 출력하는 프로그램을 만드세요.


Q2. 10과 20을 저장한 변수 number1 과 number2 를 나머지 연산한 결과를 result 에 저장하고, result 를 출력하는 프로그램을 만드세요.


Q3. 10과 20을 저장한 변수 number1 과 number2 를 비교 연산자 > 를 한 결과를 result 에 저장하고, result 를 출력하는 프로그램을 만드세요.







정답

A1. 

코드

결과




A2.

코드

결과




A3. 

코드

결과


왜 0이 나올까요? 그것은 바로 출력을 정수형(%d)으로 해서 그렇습니다! C언어에서는 재밌게도 false 를 정수형으로 출력하면 0 이 나오고, true 를 정수형으로 출력하면 1로 나옵니다.




매거진의 이전글 코딩 기초 개념 이해하기 - 연산자

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari