Untitled

<aside> 💡 목차


</aside>

https://github.com/POCU/COMP1500CodeSamples

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

평가 순서는 단락 평가 라고도 한다 (Short-circuit)

Short-circuit evaluation in Programming - GeeksforGeeks

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

우선순위


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

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


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

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

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

평가 순서 (단락평가)


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

→ 평가의 생략을 다시 기억하자 🔥🔥🔥

<aside> 💡 우선순위와 평가 순서는 다르다


if ( 1 == 1 || 2 == 2 && 3 == 3 )

다음 식이 있을떄, 우선순위는 && 가 먼저다보니, AND부분부터 계산을 할 것 같지만,

평가의 생략에 의해 && 식은 실행조차 되지 않는다.

왜?


1 == 1 || 2 == 2 다음 식이 이미 참이기 때문에, 평가의 생략에 의해 뒤 식은 계산조차 되지 않는다

다음 식에서 || 는 Sequence Point라 부른다

>> 이미 참이니까 뒤에거는 볼 필요도 없어!

|| 및 && 연산자는 좌측 표현식의 평가를 강제함

</aside>

→ → 평가를 마치고 그 다음 우선순위가 적용되는 경우

<aside> 💡

다음 식은 평가의 결과로 T T F 가 나오고, 그 다음에 AND 연산이 우위에 있으니 먼저 연산하고, 그 다음에 OR 연산을 한다.

if ( (1+0==2) || (3+1==5) && (1+2==3))
= (F) || (F) && (T) //평가를 먼저 함
= (F) || (F) //평가 후에 연산 우선순위를 적용해 &&부터 계산
= (F)

</aside>