단항 연산자
단항 연산자에는 음수 부호 연산자, 증가 연산자, 감소 연산자가 있다. 음수 부호 연산자는 부호를 반전시키며 뺄셈 연산자와는 구분된다. 증감 연산자는 변수에만 사용이 가능하며 변수 값을 1씩 증가 또는 감소시킨다. 증감 연산자가 변수 앞에 있는 경우를 선행 (prefix) 증감 연산자라고 하며, 변수 뒤에 있는 경우를 후행 (postfix) 증감 연산자라고 한다.
선행 증감 연산자는 먼저 변수 값을 1 증감시킨 후에 증감된 변수 값을 이용해서 다른 연산이 수행되도록 한다. 후행 증감 연산자는 주어진 변수 값을 이용해서 다른 연산이 수행된 이 후에 변수 값을 1씩 증감시킨다. 자세한 내용은 아래 예제에서 참고할 수 있다.
예제
#include <iostream>
using namespace std;
int main()
{
int a = 1, b = 2, c, d, e, f;
a++; // a=2
++b; // b=3
cout << "a=" << a << ", b=" << b << endl;
c = a++; // a=3, c=2
d = ++b; // b=4, d=4
cout << "a=" << a << ", b=" << b << ", c=" << c << ", d=" << d << endl;
e = ++c + a; //c=3, a=3, e=6
f = d++ + b; //d=5, b=4, f=8
cout << "c=" << c << ", d=" << d << ", e=" << e << ", f=" << f << endl;
return 0;
}
실행 결과
a=2, b=3
a=3, b=4, c=2, d=4
c=3, d=5, e=6, f=8
- a++, d++는 후행 연산, ++b, ++c는 선행 연산이 이루어진다.
- e=++c+a는 c의 값을 1 증가시킨 결과와 a의 합을 e에 대입한다.
- f=d++ +b는 d값을 b값의 합을 f에 대입하고 d의 값을 1씩 증가시킨다.
참고
1. 장인성 외 5인, (초보자도 쉽게 따라 할 수 있는) C++프로그래밍, 광문각, 2017.02.13
'C++ 기초 1' 카테고리의 다른 글
| [C++] 오버플로우 (overflow) (0) | 2024.01.18 |
|---|---|
| [C++] 조건 연산자 (0) | 2024.01.16 |
| [C++] 캐스트(cast) 연산자 (0) | 2024.01.15 |
| [C++] sizeof 연산자 (1) | 2024.01.12 |
| [C++] goto문 설명 및 예제 (1) | 2024.01.11 |