kangsecu's B1og

C언어-연산자 와 변수 본문

Programming/c언어

C언어-연산자 와 변수

Kangsecu 2017. 1. 23. 16:40

[c언어-연산자 와 변수]

이번 시간에는 연산자와 변수에 대하여 공부할 시간이다.

우선 연산자라고 하면 모두 덧셈 연산자인 + 등이 생각이 날 것이다. 맞다 c언어에서도 덧셈이라는 기능을 수행하기 위하여 + 라는 연산자를 사용한다.

일반 수학과 같이 3+2; 라고 입력하면 실제 연산이 되는 것이다.

물론 뺄셈은 - 이고 곱셈은 x가 아닌 * 를 사용하며 나눗셈 또한 / 기호를 사용하고 나눈후에 나머지를 반환하는 기호는 % 이다.

그리고 c언어에서 알아둬야 할 것 중에 a=b 에서 =는 일상에서 사용하는"a 는 b 즉 a와 b 는 같다" 라는 의미가 아니다

a=b에서 =는 c언어 에서는 a를 b에 대입한다는 의미로 사용된다. 그렇다면 같다는 기호는 무엇인가 라고 의문이 들것이다. 같다는 기호는 == 이다

즉 a==b가 "a 와 b는 같다. " 라는 의미 라는 것이다 기억하자.



<c언어 연산자>

덧셈: +          ex) 3 + 4

뺄셈: -           ex) 4 - 3

곱셈 : *          ex) 3 * 2

나눗셈 : /       ex) 6 / 2

나머지: %      ex) 6 % 2

대입: =           ex) a=3
 
같다: ==         ex) a==b




앞으로 매우 많이 나올 것 이니 꼭 기억하도록 하자.



다음은 변수 이다.

먼저 위에서 배운대로 연산자를 이용해서 컴파일러에 3+4; 라고 입력해보자 모두가 알듯이 답은 7 이다.







하지만 실제로 결과는 아래 사진과 같이 아무것도 출력되지 않을 것 이다.







이는 3+4 라는 연산만 했지 그 값을 입력 받아 출력을 하는 코드가 없기 때문이다. 말그대로 덧셈 이라는 과정 만 실행 했을뿐 그 후엔 아무런 명령이 없는 것이다. 그래서 c언어는 이 연산의 값을 어딘가에 저장하고 출력하기 위해 변수 라는 것을 지원한다.



변수란 값을 저장할 수 있는 메모리 공간에 붙은 이름, 혹은 메모리 공간을 의미한다.

따라서 우리는 변수를 하나 선언하여 그 변수에 값을 저장후에 출력을 하거나 다른 명령을 실행 하는등의 과정을 실행 할 수 있다.









이렇게 변수는 int num; 등의 코드로 선언 할 수 있다. 여기서 int 는 정수의 저장이 가능한 메모리 공간이고 num은 그 변수의 이름을 뜻한다.


물론 변수 이름은 자신이 마음대로 선언 가능하다. 또한 변수를 선언만 해두고 값을 입력하지 않는다면 그 변수는 쓰레기 가 된다.
변수에 값을 선언 해주는 것을 초기화 라고 한다. 위에서 선언한 num이라는 변수에 3이란 값을 저장하고 싶으면 아래 그림처럼 int num=3;이라고 해주면 된다.​



이제 변수에 저장된 값을 전에 배운 printf를 이용하여 출력 해보자. 아래 사진에 코드를 입력 하면 된다.





이 코드에서 나오는 %d는 일단은 무시하자 다음강의 에서 설명 할 예정이다. 위 코드와 같이 printf("%d",num); 라는 코드로 위에서 num이라는 변수에 저장한 3 이란 값이 출력 된다. 그럼 이제 처음에 배운 연산자와 변수를 조합하여 연산한 값을 출력 해보자.

아래 사진과 같이 코드를 입력하면 위에서 배운 연산자에 3+4 의 값을 완벽하게 출력 가능하다



ps. 변수의 종류는 크게 정수형과 실수형으로 나뉘는데, 

이는 두개의 종류에 따라 메모리 공간에 저장 및 참조 되는 방식이 다르기 때문이다.

정수형은 char, short, long, int 등이 있고

실수형은 float, double 등이 있다.



모르는 내용은 덧글에 남겨주면 빠르게 답변 해주겠다.


'Programming > c언어' 카테고리의 다른 글

c언어-scanf 와 이스케이프 시퀀스  (0) 2017.01.24
c언어- 여러가지 연산자 와 주석  (0) 2017.01.23
C언어-출력  (0) 2017.01.23
c언어-Hello , World!  (0) 2017.01.22
c언어-intro  (0) 2017.01.22