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--