앞서 변수와 입출력에 대해 배웠다면,
세번째 시간에는 연산자(Operator)와 제어문(Control Statement)을 통해 실제로 프로그램의 흐름을 제어하는 방법을 다뤄봅니다.
이번 3-1에서는 연산자를 다루려고 합니다.
연산자는 데이터를 계산하거나 비교할 때,
제어문은 조건에 따라 코드 실행 흐름을 바꿀 때 사용됩니다.
특히 제어문은 오늘 배울 논리연산자, 비교연산자와 관계가 있으니 
이 두 요소를 익히면 기본적인 계산기나 조건 분기 프로그램도 작성할 수 있습니다.
1. 연산자
산술 연산자
기본적인 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산입니다.
수학의 사칙연산과 그 의미가 같기 때문에 쉽게 이해할 것입니다.
| 연산자 | 의미 | 
| + | 더하기 | 
| - | 빼기 | 
| * | 곱하기 | 
| / | 나누기 | 
| % | 나머지 | 
※참고
- C++에서 정수끼리 나눗셈을 하면 소수점 아래는 버려집니다. 실수 계산은 double 자료형을 사용해야 합니다.
👉 double이 뭔지 모르겠다면 지난 시간 변수와 기본입출력 복습을 권장합니다. https://codesnz0.tistory.com/2
- 코드에서 보이는 슬래시 두 개(//)는 주석을 의미합니다. 주석이란 컴퓨터가 읽지 않는 코드로, 작성한 코드가 어떤 의미인지 설명할 때 사용합니다.
대입 및 복합 대입 연산자
=는 값을 변수에 대입할 때 사용하고, +=, -=, *=, /= 등은 연산과 대입을 동시에 처리합니다.
'='은 수학에서의 등호와 다른 의미입니다. 코딩에서 =는 대입을 의미합니다. 그래서 =는 대입연산자라고 합니다.
+=, -=, *=, /= 는 복합대입연산자라고 하는데.
개념 설명 보다는 예제를 통해 이해하는 것이 더 빠릅니다.

코드의 결과를 실행하기 전에 미리 상상해 보는 것도 실력 향상에 매우 도움됩니다.
혹시 어떤 결과가 나올지 예상이 가시나요?
먼저 =는 대입연산자라고 했습니다.
좌변의 5를 x에 대입한다는 의미가 됩니다.
이때 좌변에는 변수만, 우변에는 상수만 올 수 있습니다.
이는 Rvalue, Lvalue를 배워야 깊은 이해가 가능한데 일단은 이렇다고 외우면 되겠습니다.
+= 같은 복합대입연산자는 좌변과 우변을 + 연산을 한 뒤
그 결과를 변수에 대입하는 연산자입니다.
원래는 x = x + 10 이라고 작성해도 좋지만,
개발자들은 오타 최소화가 중요하기 때문에 이런 복합대입연산자가 등장하게 되었습니다.
비교 연산자
두 값을 비교해 true 또는 false 결과를 반환합니다.
| == | 같다 | 
| != | 같지 않다 | 
| > | 크다 | 
| < | 작다 | 
| >= | 크거나 같다 | 
| <= | 작거나 같다 | 
논리 연산자
조건을 조합하거나 부정할 때 사용합니다.
마찬가지로 true 또는 false 결과를 반환합니다.
| && | 그리고 (AND) | 
| || | 또는 (OR) | 
| ! | 부정 (NOT) | 

※참고
코딩에서 반환값(return value) 개념은 매우 중요합니다.
반환값 개념은 함수 파트를 배우면 본격적으로 들어가게 될 텐데,
모든 연산자는 전부 반환값을 가집니다.
이는 연산자도 함수로 정의되어 있기 때문입니다. 나중에 자세히 다루겠습니다.
모든 값은 자료형(Data type)을 가집니다.
반환값도 값이므로 자료형을 갖습니다.
산술연산자 +로 예시를 들면,
5 + 5의 반환값인 10도 자료형을 갖는데 여기서 10은 5의 자료형을 따라간다고 생각하면 됩니다.
비교/논리연산자의 경우
그 반환값은 Boolean 타입의 자료형을 갖습니다.
즉 1 또는 0, true or false 의 값을 가집니다.
이 bool 값은 제어문에서 필수적이기 때문에 정확히 이해하고 다음 시간으로 넘어와야 합니다.
위 예제를 입력하여 값을 직접 확인하시기를 바랍니다.
마무리
이번 글에서는 연산자의 기본 개념과 문법을 정리해봤습니다.
다음 시간에는 제어문을 다루려고 합니다.
제어문에서는 이번 시간에 배운 bool 값을 반환하는 논리/비교연산자를 정확히 이해하고 오시기를 바랍니다.
다음 편: 제어문
'# Programming Language > C++' 카테고리의 다른 글
| [C++ 배우기: 기초편] 4. 제어문 응용 문제(Operator & Control Statement) (3) | 2025.06.09 | 
|---|---|
| [C++ 배우기: 기초편] 3-3. 연산자와 제어문(Operator & Control Statement) (2) | 2025.06.08 | 
| [C++ 배우기: 기초편] 3-2. 연산자와 제어문(Operator & Control Statement) (2) | 2025.06.05 | 
| [C++ 배우기: 기초편] 2. 변수와 기본 입출력 (0) | 2025.05.27 | 
| [C++ 배우기: 기초편] 1. C++ 소개와 개발 환경 구축 (4) | 2025.05.27 |