Untitled

<aside> 💡 목차


</aside>

https://github.com/POCU/COMP1500CodeSamples

용어 & 자료형 크기 & 표현 범위 요약

연산자 우선순위 & 결합법칙?

우선순위


**다양한 연산자**들이 있을 때 
어떤 게 먼저 연산해야 되고, 
어떤 게 나중에 연산해야 되어야 하는가?

결합 법칙 (좌측 & 우측 연관성)


**동일한 우선순위 를 가진 연산자**들이 있을 때

왼쪽 에서 오른쪽으로 전개해야 하는가

오른쪽에서 왼쪽으로 전개해야 하는가?

평가 순서 (단락평가)


어떤 항을, 어떤 표현식을 먼저 표현 할 것이냐?

<aside> 💡 우선순위를 전부 외우진 않습니다

</aside>

연산자 우선순위 및 결합 법칙

위로갈수록 우선순위 높음

연산자 결합 순서
⬆️ 후위(Postfix) L → R {} [] -> ++ --
단항 L → R + - ! ~ ++ -- (type)* sizeof
곱셈, 나눗셈 L → R * / %
덧셈, 뻴셈 L → R + -
쉬프트(shift) L → R << >>
관계(Relational) L → R < <= > >=
같음(Equality) L → R == !=
AND 비트 연산 L → R &
XOR 비트/논리 연산 L → R ^
OR 비트 연산 L → R ` `
AND 논리 연산 L → R &&
OR 논리 연산 L → R ` `
조건(Conditional) R → L ?:
대입 R → L = += -= *= /= %= >>= << = &= ^= `
⬇️ 콤마 L → R ,

연산자 결합 법칙

5주차 1 (자료구조)

연산자 결합 법칙은 그게 아니라 우선순위가 동일한 여러 가지 연산자가 있을 때 어느 방향으로 연산 을 해나가냐는 얘기예요.

똑같은 연산자를 써도 상관이 없어요 . 

a + b + c, 이러면 어떻게 돼요?

a, b 더한 결과를 c에 더하죠?

그래서 얘네 같은 경우는 왼쪽에서 오른쪽으로 간다라고 얘기하는 거예요.

이 방향 자체가 왼쪽에서 오른쪽으로 가기 때문에.

대부분의 연산자는 왼쪽에서 오른쪽 이기 때문에 신경을 쓸 필요가 없어요

<aside> 💡 대입 연산자 =는 R → L 방향으로 연산된다

Untitled

c + d 가 대입연산자보다 우선순위가 높기 때문에 연산이 먼저되고

대입연산자부터는 반대방향으로 대입됨

</aside>

<aside> 💡 결합법칙은 곧 좌측,우측 연관성으로 표현할 수 있습니다.

대수학이랑 똑같아... 같은 우선순위라면 순서대로 실행됨

대수학이랑 똑같아... 같은 우선순위라면 순서대로 실행됨

</aside>

퀴즈 📙

<aside> 💡 Infix to Postfix 하시오

5주차 1 (자료구조)

x = a+b / d+c x = a + (b/d) + c
x += a * b; x += (a * b)
if (a == b && c == d) if ((a == b) && (c == d))
if (a <= b && c >= d) if ((a <= b) && (c >= d))
if (a && b d)
x = a++ * d x = (a++) * d
x = ++a * d x = (++a) * d
x = a ? b : c ? d : e x = a ? b :( c ? d : e) R → L

</aside>