[C언어] 연산자(대입 연산자, 축약 대입 연산자, 증감 연산자)
대입연산자(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이 잘 출력되는 것을 확인할 수 있다