본문 바로가기
CS

연산자 우선순위

by clolee 2025. 3. 18.

연산자 우선순위

 

연산자 우선순위 표

연산자 우선순위 (높음 → 낮음)

우선순위  연산자  설명  결합 방향
1 () 괄호(수식 우선 계산) 왼 → 오
2 ++, -- 단항 연산자 (증가, 감소) 오 → 왼
3 +, - (단항) 부호 연산자 (+, -) 오 → 왼
4 *, /, % 곱셈, 나눗셈, 나머지 왼 → 오
5 +, - (이항) 덧셈, 뺄셈 왼 → 오
6 <<, >> 비트 이동 연산자 왼 → 오
7 <, <=, >, >= 비교 연산자 왼 → 오
8 ==, != 동등/비동등 비교 연산자 왼 → 오
9 & 비트 AND 연산자 왼 → 오
10 ^ 비트 XOR 연산자 왼 → 오
11 | 비트 OR 연산자 왼 → 오
12 && 논리 AND 연산자 왼 → 오
13 || 논리 OR 연산자 왼 → 오
14 ? : 삼항 연산자 오 → 왼
15 =, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |= 대입 연산자 오 → 왼
16 , 쉼표 연산자 왼 → 오

연산자 우선순위 이해하기

  1. 괄호 ()가 가장 먼저 계산됨
    • 예: (3 + 5) * 2 → 8 * 2 → 16
  2. 단항 연산자 (++, --, +, -)가 다음으로 계산됨
    • 예: -5 + 3 → (-5) + 3 → -2
  3. 산술 연산자 중 *, /, %가 +, -보다 우선
    • 예: 2 + 3 * 4 → 2 + 12 → 14
  4. 비트 연산자는 논리 연산자보다 먼저 계산됨
    • 예: 3 & 5 == 1 → (3 & 5) == 1 → 1 == 1 → true
  5. 논리 연산자 중 &&가 ||보다 우선
    • 예: true || false && false → true || (false && false) → true || false → true
  6. 삼항 연산자는 대입 연산자보다 우선
    • 예: x = (y > 0) ? 10 : 20
      • y > 0 평가 후 10 또는 20을 대입
  7. 대입 연산자는 마지막에 실행됨
    • 예: x = y + 2 * 3 → x = y + 6 → x = (y + 6)

연산자 우선순위 문제 예제

문제 1

int x = 2 + 3 * 4;

정답: x = 2 + (3 * 4) = 2 + 12 = 14

문제 2

int a = 5, b = 10;
int c = (a > b) ? a : b;

정답: c = (5 > 10) ? 5 : 10 = 10

문제 3

int x = 5, y = 10, z;
z = x & y == 0;

정답: z = (x & y) == 0 → (5 & 10) == 0 → 0 == 0 → z = 1 (true)


 

 

핵심 요약:

  • 괄호 () → 단항 연산자 → 산술 연산자 → 관계/동등 연산자 → 비트 연산자 → 논리 연산자 → 삼항 연산자 → 대입 연산자 순.
  • 복잡한 수식에서는 괄호를 사용하여 연산 순서를 명확히.

추가 팁:

  • 우선순위가 같은 연산자가 여러 개 있을 때는 대부분 왼쪽에서 오른쪽으로 연산이 진행됩니다.
  • 단항 연산자, 삼항 조건 연산자, 대입 연산자는 오른쪽에서 왼쪽으로 연산이 진행됩니다.

'CS' 카테고리의 다른 글

[Linux] 리눅스 명령어  (0) 2025.03.27
소프트웨어 용어 정리  (0) 2025.03.05
오픈소스 라이선스  (0) 2025.03.05

댓글