본문 바로가기

Programming/C Language

연산자(Operator) 란?

이번에는 C언어에서 제공하는 다양한 연산자에 대하여 알아보겠다!



 연산자

연산자의 기능 

연산자 오른쪽 값을 연산자 왼쪽에 있는 변수에 대입한다.    ex) num = 20; 

두 피연산자의 값을 더한다.                                          ex) num = 2+3;

왼쪽 피연산자 값에서 오른쪽 피연산자 값을 뺀다.              ex) num = 4-3; 

두 피연산자의 값을 곱한다.                                           ex) num = 4 * 3; 

왼쪽 피연산자 값을 오른쪽 피연산자 값으로 나눈다.           ex) num = 5/1; 

왼쪽 피연산자 값을 오른쪽 피연산자 값으로 나눴을때 얻게되는 나머지를 반환한다.  ex) num = 7%3; 



처음에는 / 연산자와 % 연산자가 햇갈릴수 있다.
이번 예제를 통해 확실히 다잡아보자!


여기서 설명한것이 하나 있다.
7,8,9,10,11행 의 마지막 인자들을 살펴보면 인자위치에 연산식이 왔음을 볼 수 있다.
함수 호출문의 인자전달 위치에는 연산식이 올 수 있다.




위의 예제를 이해해보며 결과값을 꼭 예상해보자


그 후 결과값을 보자


예상했던 결과값이 그대로 출력되지 않았다면 , 연산자의 대해 다시한번 보자!


복합 대입 연산자


복합 대입 연산자 또한 알아놓으면 좋은 연산자로 간단하게 소개하겠다.

a = a +b

a += b 

a = a - b 

a -= b 

a = a * b

a *= b 

a = a / b 

a /= b 

a = a % b 

a %= b 


왼쪽 식과 오른쪽 식은 동일한 연산이다.
a와 b의 덧셈결과를 다시 a에 저장하는 연산식인 a = a + b 는  a+=b와 같이 간략하게 표현하는 것이 가능하다.


증감 연산자

증감연산자는 활용의 빈도가 높으므로 확실히 이해하고 넘어가도록 하자!

 연산자

연산자의 기능 

++num 

num의 값을 1 증가시킨 후 , 문장 나머지 진행 (선 증가 , 후 연산)  

num++ 

문장을 먼저 진행한 후 , num의 값을 1증가 (선 연산 , 후 증가)

--num 

num의 값을 1 감소시킨 후 , 문장 나머지 진행 (선 증가 , 후 연산) 

num-- 

문장을 먼저 진행한 후 , num의 값을 1감소 (선 연산 , 후 증가) 



++연산자와 -- 연산자는 변수의 값을 1씩 증가시키고 감소시킨다 . 
다만 , 연산자의 삽입 위치에 따라 그 의미가 달라진다 . 
예제를 통해 확인해보고 소스코드와 결과값을 자세히 살펴보자.



9행에서는 후위 연산을 진행하였고 , 15행에서는 전위 연산을 진행하였다

소스코드를 이해해보고 결과값을 예상해보자



결과값을 보면서 꼭 이해하고 넘어가자!




다음으로 논리연산자에 대하여 설명하겠다


연산자 

연산자의 기능 

&&       ex) A&&B

A와 B 모두 '참'이면 '참' 반환 (논리 AND)  

||          ex) A||B

A와 B 둘 중 하나라도 '참'이면 '참' 반환 (논리 OR) 

!           ex) !A

A가 '참'이면 '거짓'반환 , '거짓'이면 '참'반환 (논리 NOT)


ps)    C언어에서 0은 거짓을 의미하는 숫자이고 , 0을 제외한 나머지 모든숫자는 참으로 인식한다 , 다만 1을 자주쓴다

'Programming > C Language' 카테고리의 다른 글

기본 자료형 정리  (0) 2017.10.30
scanf 함수?  (0) 2017.10.30
변수의 자료형 (Data Type)  (0) 2017.10.30
변수 (Variable) 란 ?  (0) 2017.10.30
printf 함수 ?  (0) 2017.10.30