본문 바로가기
C++/기본

[C++] 2. 연산자(1)

by 위니밍 2025. 3. 29.
반응형
📌 요약: 산술 | 단항 | 대입 | 비교 | 논리 | 비트 | sizeof | 연산자 우선순위 등 다양한 연산자 실습과 설명

🔢 산술 연산자 (Arithmetic Operators)

산술 연산자는 수학적 계산을 위해 사용됩니다. 이진 연산자와 단항 연산자로 나뉘며, 주로 숫자 계산에 사용됩니다.

  • +, -, *, /, %: 이진 산술 연산자
  • +x, -x: 단항 연산자
  • 나눗셈 시 정수/정수는 소수점 이하를 버립니다.

iValue = 3 + 2;    // 5
iValue = 5 % 3;    // 2
fValue = 5.f / 3.f; // 1.66667

➕ 단항 연산자 (Unary Operators)

값을 하나 받아 처리하는 연산자입니다. 특히 전위/후위 증가/감소 연산은 실행 순서에 따라 결과가 달라질 수 있습니다.


iValue = 1;
++iValue; // 전위 증가: 2
iValue++; // 후위 증가: 2 → 3
--iValue; // 전위 감소: 2

📝 대입 연산자 (Assignment Operators)

변수에 값을 할당하는 연산자이며, 복합 대입 연산자도 자주 사용됩니다.


iValue = 10;
iValue += 5; // iValue = iValue + 5;

🔍 비교 연산자 (Comparison Operators)

두 값을 비교한 결과를 true 또는 false로 반환합니다.

  • ==, !=, >, <, >=, <=

bValue = (3 > 1);   // true
bValue = (3 == 3);  // true

🔗 논리 연산자 (Logical Operators)

불리언 값 사이의 논리 연산을 수행합니다. 조건문에 자주 사용됩니다.


bValue = !false;         // true
bValue = true && false;  // false
bValue = true || false;  // true
bValue = true ^ false;   // true (배타적 OR)

조건부 연산은 단축 평가를 지원합니다.


iValue = 10;
bValue = false && (++iValue > 5); // iValue는 증가하지 않음

💡 비트 연산자 (Bitwise Operators)

정수를 비트 단위로 연산할 수 있습니다.


iValue = ~0x35;        // 비트 반전
iValue = 0x11 & 0x83;  // AND
iValue = 0x11 | 0x83;  // OR

↔️ 비트 시프트 연산자 (Bit Shift Operators)


iValue = 0x20 << 2;  // 왼쪽으로 2비트 이동
iValue = 0x20 >> 2;  // 오른쪽으로 2비트 이동

📐 sizeof 연산자

자료형이 차지하는 메모리 크기를 바이트 단위로 반환합니다.


cout << sizeof(int);     // 보통 4 바이트
cout << sizeof(double);  // 보통 8 바이트

⚙️ 연산자 우선순위

여러 연산자가 혼합된 식에서는 우선순위에 따라 연산이 진행됩니다.

  1. 기본: a[i], x++, x--
  2. 단항: +x, !x, ++x
  3. 곱셈/나눗셈: x*y, x/y
  4. 덧셈/뺄셈: x+y, x-y
  5. 시프트: x<, x>>y
  6. 비교: x>y, x<=y
  7. 동등: x==y, x!=y
  8. 논리 AND: x&&y, x&y
  9. 논리 XOR: x^y
  10. 논리 OR: x||y, x|y
  11. 대입: x=y, x+=y
반응형

'C++ > 기본' 카테고리의 다른 글

[C++] 6. 포인터  (0) 2025.03.29
[C++] 5. 함수  (0) 2025.03.29
[C++] 4. 반복문  (0) 2025.03.29
[C++] 3. 조건문  (0) 2025.03.29
[C++] 2. 연산자(2)  (0) 2025.03.29