프로그래밍 언어/C언어

[C언어] 연산자(대입 연산자, 축약 대입 연산자, 증감 연산자)

dev_tina 2024. 10. 5. 15:51

대입연산자(assignment operator)

=

오른쪽 연산식 결과값을 왼쪽 변수에 저장하는 연산자이다

 

  • r-value(right value) : (오른쪽) 연산식
  • l-value(left value) : 왼쪽은 반드시 값을 저장할 수 있는 변수이어야 하며,  하나의 변수만 올 수 있다

 

예시) 

n = 1;
n = n + 1;
n = n + 4 * 5;

 

n = 1;

(1이 n에 저장됨)

 

n =  n + 1;

(1+1)의 값인 2가 n에 저장됨

 

n = n + 4 * 5;

2 + (4*5) 의 결과인 22가 n에 저장됨.

 

마지막  n의 값은 22가 된다.


축약 대입연산자

+=
-=
*=
/=
%=

 

n += exp

연산식 a + exp의 결과가 변수  a에 저장된다. 피연산자 exp는 변수 뿐 아니라 모든 연산식이 가능하다

a =  a + exp

 

축약 대입연산자를 사용하는 이유는 문자 수를 더 적게 사용하기 위한 것이라고 한다.

a += b

a = a+b

 

예시) a = 10, b=2인 경우, 다음 각각의 연산 결과는?

a -= b + 2

a = 10 - (2+2) 

=> a = 6

a %= b + 2;

a = 10 % (2+2)

=> 10 % 4의 나머지 => 2


증감 연산자 ++, --

증감연산자는 증가연산자(++), 감소연산자(--)로 나뉜다. 증가연산자는 변수값을 1 증가시키고, 감소연산자는 변수값을 1 감소시킨다. 또한 전위와 후위로 나뉜다. 전위, 후위 모두 증감연산자가 사용된 후의 n을 출력 시 1이 증가된 값을 갖게 된다. 

n++, ++n, n--, --n

 

증가 연산자

증가 연산자 ++는 피연산자인 변수의 값을 모두 1 증가시킨다

'왼쪽에서부터 보면서 변수명의 값을 식에 사용한 후 하나 증가' 라고 해석하면 쉽다.

증가 연산자 n++의 결과값은 증가되기 이전의 값 (1 증가하기 전 값이 연산 결과값)

증가 연산자 ++n의 결과값은 증가된 이후의 값 (1 증가한 값이 연산 결과값) 

 

감소 연산자

감소 연산자 --는 피연산자인 변수의 값을 모두 1 감소시킨다

'왼쪽에서부터 보면서 변수명에서 하나 감소한 값을 식에 사용한 후, 하나 감소'라고 해석하면 쉽다

 

감소 연산자 n--의 결과값은 증가되기 이전의 값  (1 감소되기 전 값이 연산 결과값)

감소 연산자 --n의 결과값은 감소된 이후의 값 (1 감소된 값이 연산 결과값)

 

예시) 

int n = 10 일 때, n++ 의 값과 ++n의 값을 구하시오

n++는 n이 증가하기 이전의 값으로 10 출력되고, ++n 은 10에서 1이 증가된 연산 결과값 11이 잘 출력되는 것을 확인할 수 있다