c언어 연산자 우선순위 예제

`오른쪽에서 왼쪽으로` 연관과 `왼쪽에서 오른쪽` 연관으로 알려진 연관성에는 두 가지 유형이 있습니다. L->R(왼쪽에서 오른쪽)은 왼쪽의 연산자가 오른손 연산자보다 우선권을 가지며 R->L(오른쪽에서 왼쪽)은 대부분의 연산자가 더 많은 우선순위를 얻을 수 있도록 합니다. 연관성을 자세히 이해하려면 두 가지 예제 식을 고려할 수 있습니다. 다음 표에는 C 연산자의 우선 순위 및 연관성이 나열되어 있습니다. 연산자는 내림차순 우선 순위에서 위에서 아래로 나열됩니다. 2 모든 단순 및 복합 할당 연산자는 동일한 우선 순위를 갖습니다. 아래 표는 C 언어로 제공되는 연산자의 우선 순위 및 연관성을 보여 주십습니다. 맨 위 행의 연산자는 맨 아래 행에 있는 연산자보다 우선 순위가 높습니다. 동일한 셀의 연산자는 동일한 우선 순위를 갖습니다. C 연산자의 우선 순위 및 연관성은 식에서 피연산자의 그룹화 및 평가에 영향을 미칩니다.

연산자 우선 순위는 우선 순위가 높거나 낮은 다른 연산자가 있는 경우에만 의미가 있습니다. 우선 순위가 높은 연산자가 있는 표현식이 먼저 평가됩니다. 우선 순위는 “바인딩”이라는 단어로 설명할 수도 있습니다. 우선 순위가 높은 연산자는 바인딩이 더 엄격하다고 합니다. 동일한 셀에 있는 연산자(셀에 나열된 여러 행의 행이 있을 수 있음)는 지정된 방향으로 동일한 우선 순위로 평가됩니다. 예를 들어, a=b=c식은 오른쪽에서 왼쪽 연관성으로 인해 a=(b=c)가 아니라 (a=b)=c로 구문 분석됩니다. 다음 표는 C 연산자의 우선 순위 및 연관성(피연산자가 평가되는 순서)을 요약하여 가장 높은 연산자부터 가장 낮은 우선 순위순으로 나열합니다. 여러 연산자가 함께 나타나는 경우 우선 순위가 동일하며 연관성에 따라 평가됩니다.

테이블의 연산자는 Postfix 연산자로 시작하는 섹션에 설명되어 있습니다. 이 섹션의 나머지 부분에서는 우선 순위 및 연관성에 대한 일반적인 정보를 제공합니다. 첫 번째 식에서 bitwise-AND 연산자(&)는 논리 OR 연산자(||)보다 우선 순위가 높므로 a&b는 논리-OR 연산의 첫 번째 피연산자입니다. C에는 또한 두 숫자의 나머지 부분을 반환하는 특수 % 모듈러스 연산자가 있습니다. 짝수인지 홀수인지 숫자를 찾는 것과 같은 프로그램에서 영리하게 사용할 수 있습니다. 1 연산자는 우선 순위의 내림차순으로 나열됩니다. 여러 연산자가 동일한 줄이나 그룹에 나타나는 경우 우선 순위가 동일합니다. 세 번째 표현식은 예기치 않은 결과를 생성할 수 있는 올바르게 형성된 식을 보여 주었습니다. 논리 AND 연산자(&)는 논리 OR 연산자(||)보다 우선 순위가 높므로 q&r은 피연산자로 그룹화됩니다. 논리 연산자는 왼쪽에서 오른쪽으로 피연산자의 평가를 보장하기 때문에 q&r은 s–. 전에 평가됩니다. 그러나 q&r이 0이 아닌 값으로 평가하면 s–는 평가되지 않으며 s는 감소되지 않습니다.

s를 감소시키지 않으면 프로그램에 문제가 발생할 수 있으며 s–는 식의 첫 번째 피연산자로 나타나거나 별도 작업에서 감소해야 합니다. 예를 들어 ` *` 및 `/` 동일한 우선 순위를 가지며 이들의 연관성은 왼쪽에서 오른쪽으로 이므로 “100/10 * 10″이라는 표현은 “(100/10) * 10″으로 처리됩니다. 3) 접두사 ++ 및 접두사 ++의 우선 순위와 연관은 접두사 ++보다 더 많은 접두사 ++의 다른 우선 순위이며, 이들의 연관성도 다릅니다.