programming language/C++

C++ 연산자

metamong-data 2025. 1. 13. 14:21
728x90
반응형

개요

C++에서 연산자(Operators)는 변수와 값을 조작하거나 처리하는 데 사용됩니다. 연산자는 특정 작업을 수행하는 기호이며, 다양한 유형의 연산자가 제공됩니다. 이 문서에서는 주요 연산자의 유형과 사용법을 설명합니다.

연산자의 종류

C++에서 연산자는 다음과 같이 분류됩니다:

1. 산술 연산자 (Arithmetic Operators)

특징

  1. 기본적인 산술 연산을 수행합니다.
  2. 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산이 포함됩니다.

연산자 및 설명

연산자 설명 예시
+ 덧셈 a + b
- 뺄셈 a - b
* 곱셈 a * b
/ 나눗셈 a / b
% 나머지 a % b

예제

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 3;
    cout << "Sum: " << (a + b) << endl;
    cout << "Difference: " << (a - b) << endl;
    cout << "Product: " << (a * b) << endl;
    cout << "Quotient: " << (a / b) << endl;
    cout << "Remainder: " << (a % b) << endl;
    return 0;
}

출력

Sum: 13
Difference: 7
Product: 30
Quotient: 3
Remainder: 1

2. 관계 연산자 (Relational Operators)

특징

  1. 두 값을 비교합니다.
  2. 조건문의 조건을 평가하는 데 주로 사용됩니다.

연산자 및 설명

     
연산자 설명 예시
== 같음 a == b
!= 같지 않음 a != b
< 작음 a < b
> a > b
<= 작거나 같음 a <= b
>= 크거나 같음 a >= b

예제

#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 10;
    cout << "Is a equal to b? " << (a == b) << endl;
    cout << "Is a not equal to b? " << (a != b) << endl;
    cout << "Is a less than b? " << (a < b) << endl;
    cout << "Is a greater than b? " << (a > b) << endl;
    return 0;
}

출력

Is a equal to b? 0
Is a not equal to b? 1
Is a less than b? 1
Is a greater than b? 0

3. 논리 연산자 (Logical Operators)

특징

  1. 논리적인 조건을 평가합니다.
  2. 참(true)과 거짓(false)의 결합 및 부정을 처리합니다.

연산자 및 설명

연산자 설명 예시
&& 논리 AND a && b
| 논리 OR a | b
! 논리 NOT !a

예제

#include <iostream>
using namespace std;

int main() {
    bool a = true, b = false;
    cout << "a AND b: " << (a && b) << endl;
    cout << "a OR b: " << (a || b) << endl;
    cout << "NOT a: " << (!a) << endl;
    return 0;
}

출력

a AND b: 0
a OR b: 1
NOT a: 0

4. 비트 연산자 (Bitwise Operators)

특징

  1. 이진수 단위로 연산을 수행합니다.
  2. 정수형 데이터에만 적용됩니다.

연산자 및 설명

연산자 설명 예시
& 비트 AND a & b
| 비트 OR a | b
^ 비트 XOR a ^ b
~ 비트 NOT ~a
<< 비트 왼쪽 쉬프트 a << 2
>> 비트 오른쪽 쉬프트 a >> 2

예제

#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 3;
    cout << "a AND b: " << (a & b) << endl;
    cout << "a OR b: " << (a | b) << endl;
    cout << "a XOR b: " << (a ^ b) << endl;
    cout << "NOT a: " << (~a) << endl;
    cout << "a << 1: " << (a << 1) << endl;
    cout << "a >> 1: " << (a >> 1) << endl;
    return 0;
}

출력

a AND b: 1
a OR b: 7
a XOR b: 6
NOT a: -6
a << 1: 10
a >> 1: 2

5. 대입 연산자 (Assignment Operators)

특징

  1. 변수에 값을 대입하거나 연산 후 대입합니다.

연산자 및 설명

연산자 설명 예시
= 대입 a = b
+= 덧셈 후 대입 a += b
-= 뺄셈 후 대입 a -= b
*= 곱셈 후 대입 a *= b
/= 나눗셈 후 대입 a /= b
%= 나머지 연산 후 대입 a %= b

6. 기타 연산자 (Other Operators)

연산자 및 설명

연산자 설명 예시
?: 삼항 연산자 (조건 ? 참 : 거짓) a > b ? a : b
sizeof 데이터 타입 또는 변수의 크기 반환 sizeof(int)
typeid 객체의 타입 정보를 반환 (<typeinfo> 필요) typeid(a).name()
-> 포인터가 가리키는 객체의 멤버 접근 ptr->member
. 객체의 멤버 접근 obj.member
,* 역참조 연산자 *ptr

예제

#include <iostream>
#include <typeinfo>
using namespace std;

int main() {
    int a = 10, b = 20;
    int *ptr = &a;

    cout << "Larger value: " << (a > b ? a : b) << endl;
    cout << "Size of int: " << sizeof(int) << " bytes" << endl;
    cout << "Type of a: " << typeid(a).name() << endl;
    cout << "Pointer value: " << *ptr << endl;

    return 0;
}

출력

Larger value: 20
Size of int: 4 bytes
Type of a: i
Pointer value: 10

결론

C++에서 제공하는 다양한 연산자는 데이터 처리와 논리적 평가에 중요한 도구를 제공합니다. 연산자의 올바른 사용법을 이해하면 효율적이고 강력한 코드를 작성할 수 있습니다.

728x90

'programming language > C++' 카테고리의 다른 글

C++ 복합데이터  (0) 2025.01.13
C++ 흐름제어  (0) 2025.01.13
C++ 입출력  (0) 2025.01.13
C++ 자료형  (0) 2025.01.13
CLion ( JetBrains의 C/C++ IDE )  (0) 2025.01.09