C++ 초급 - 2. 기본 문법 (5 - 연산자 (Operators))
2025. 2. 12. 11:58ㆍ프로그래밍 언어/C++
2.5 연산자 (Operators)
C++에서 연산자는 데이터에 대한 연산을 수행하는 기호이다.
연산자를 활용하면 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 수학적 연산을 수행할 수 있으며,
변수 값을 증가하거나 감소시키는 연산도 가능하다.
(1) 산술 연산자 (Arithmetic Operators)
산술 연산자는 기본적인 수학 연산을 수행하는 데 사용된다.
연산자 | 설명 | 예제 |
+ | 덧셈 | a + b |
- | 뺄셈 | a - b |
* | 곱셈 | a * b |
/ | 나눗셈 | a / b (정수 나눗셈은 몫만 반환) |
% | 나머지 연산 | a % b (정수만 가능) |
📌 산술 연산자 예제
#include <iostream>
int main() {
int a = 10, b = 3;
std::cout << "덧셈: " << a + b << std::endl;
std::cout << "뺄셈: " << a - b << std::endl;
std::cout << "곱셈: " << a * b << std::endl;
std::cout << "나눗셈 (정수): " << a / b << std::endl; // 10 / 3 = 3 (몫만 출력)
std::cout << "나머지 연산: " << a % b << std::endl; // 10 % 3 = 1
return 0;
}
🔹 출력 결과
덧셈: 13
뺄셈: 7
곱셈: 30
나눗셈 (정수): 3
나머지 연산: 1
💡 주의:
- 정수 나눗셈 (/)은 몫만 반환하며, 소수점 이하가 버려진다.
- 소수점까지 표시하려면 double을 사용해야 한다.
double x = 10.0, y = 3.0;
std::cout << x / y << std::endl; // 출력: 3.33333
(2) 증가 및 감소 연산자 (++, --)
증가(++), 감소(--) 연산자는 변수 값을 1 증가하거나 감소시킨다.
이 연산자는 전위(prefix) 또는 후위(postfix)로 사용 가능하다.
연산자 | 설명 | 예제 |
++a | 전위 증가 (Pre-increment) | 먼저 증가 후 연산 수행 |
a++ | 후위 증가 (Post-increment) | 연산 수행 후 증가 |
--a | 전위 감소 (Pre-decrement) | 먼저 감소 후 연산 수행 |
a-- | 후위 감소 (Post-decrement) | 연산 수행 후 감소 |
📌 증가 연산자 (++) 예제
#include <iostream>
int main() {
int x = 5;
std::cout << "전위 증가: " << ++x << std::endl; // 6 (먼저 증가 후 출력)
std::cout << "후위 증가: " << x++ << std::endl; // 6 (출력 후 증가, x는 7이 됨)
std::cout << "현재 x 값: " << x << std::endl; // 7
return 0;
}
🔹 출력 결과
전위 증가: 6
후위 증가: 6
현재 x 값: 7
💡 설명
- ++x는 먼저 증가 후 연산 수행 → x = 6이 되고 출력됨.
- x++는 연산 수행 후 증가 → x = 6을 출력하고, 그 후 x = 7이 됨.
📌 감소 연산자 (--) 예제
#include <iostream>
int main() {
int y = 5;
std::cout << "전위 감소: " << --y << std::endl; // 4 (먼저 감소 후 출력)
std::cout << "후위 감소: " << y-- << std::endl; // 4 (출력 후 감소, y는 3이 됨)
std::cout << "현재 y 값: " << y << std::endl; // 3
return 0;
}
🔹 출력 결과
전위 감소: 4
후위 감소: 4
현재 y 값: 3
💡 설명
- --y는 먼저 감소 후 연산 수행 → y = 4이 되고 출력됨.
- y--는 연산 수행 후 감소 → y = 4를 출력하고, 그 후 y = 3이 됨.
📌 전위(++a) vs 후위(a++) 차이점
전위 증가(++a)와 후위 증가(a++)는 단독 사용 시 차이가 없지만,
다른 연산과 함께 사용될 경우 중요한 차이가 발생한다.
📌 전위 증가(++a) vs 후위 증가(a++) 비교 예제
#include <iostream>
int main() {
int a = 5, b = 5;
int preIncrement = ++a; // 먼저 증가 후 변수에 저장
int postIncrement = b++; // 변수 값 먼저 저장 후 증가
std::cout << "전위 증가 결과: " << preIncrement << std::endl; // 6
std::cout << "후위 증가 결과: " << postIncrement << std::endl; // 5
std::cout << "현재 b 값: " << b << std::endl; // 6
return 0;
}
🔹 출력 결과
전위 증가 결과: 6
후위 증가 결과: 5
현재 b 값: 6
💡 설명
- ++a → 먼저 증가 후 값을 할당 (6을 저장)
- b++ → 먼저 현재 값을 저장한 후 증가 (5 저장 후 b = 6이 됨)
⚠️ 주의:
- a++는 연산에 기존 값을 사용하므로,
다른 변수에 할당하거나 함수 인자로 사용할 때 주의해야 한다.
정리
연산자 | 설명 | 예제 |
+ | 덧셈 | a + b |
- | 뺄셈 | a - b |
* | 곱셈 | a * b |
/ | 나눗셈 (정수는 몫만 반환) | a / b |
% | 나머지 연산 (정수만 가능) | a % b |
++a | 전위 증가 (먼저 증가 후 연산) | ++x |
a++ | 후위 증가 (연산 후 증가) | x++ |
--a | 전위 감소 (먼저 감소 후 연산) | --y |
a-- | 후위 감소 (연산 후 감소) | y-- |
'프로그래밍 언어 > C++' 카테고리의 다른 글
C++ 초급 - 3. 제어문 (1 - 조건문 (Conditional Statements)) (0) | 2025.02.12 |
---|---|
C++ 초급 - 2. 기본 문법 (6 - 형 변환 (Type Conversion)) (0) | 2025.02.12 |
C++ 초급 - 2. 기본 문법 (4 - 주석 (Comments)) (0) | 2025.02.12 |
C++ 초급 - 2. 기본 문법 (3 - 기본 입출력 (Standard Input & Output)) (0) | 2025.02.12 |
C++ 초급 - 2. 기본 문법 (2 - auto 타입 추론 (C++11)) (0) | 2025.02.12 |