C 언어
이 자습서에서는 C#의 연산자 우선 순위 및 연결성에 대해 배웁니다. 이를 통해 C# 컴파일러에서 표현식을 평가하는 방법을 알 수 있습니다.
연산자 우선 순위는 표현식이 평가되는 방식을 정의하는 일련의 규칙입니다. C#에서 각 C# 연산자에는 할당된 우선 순위가 있으며 이러한 우선 순위에 따라 표현식이 평가됩니다.
예를 들어 , 곱셈의 우선 순위 (*)
연산자는 (+)
덧셈의 우선 순위보다 높습니다. 운영자. 따라서 곱셈을 포함하는 연산은 더하기 전에 수행됩니다.
아래 진술을 살펴보십시오.
int x = 4 + 3 * 5;
x의 값은 무엇입니까? 이 문장을 실행한 후?
피연산자 3
+
과(와) 연결되어 있습니다. 및 *
. 앞서 언급했듯이 곱셈은 덧셈보다 우선 순위가 높습니다. 따라서 작업 3 * 5
4 + 3
대신 수행됩니다. . 변수 x의 값 19
가 됩니다. .
추가의 우선 순위가 더 높은 경우 4 + 3
먼저 평가되고 x 값 35
.
연산자의 우선 순위가 높을수록 테이블에 더 높게 나타납니다.
카테고리 | 운영자 |
---|---|
후위 증가 및 감소 | ++, -- |
접두사 증가, 감소 및 단항 | ++, --, +, -, !, ~ |
승법 | *, /, % |
첨가제 | +, - |
시프트 | <<,>> |
관계형 | <, <=,>,>= |
평등 | ==, != |
비트 AND | & |
비트 XOR | ^ |
비트 OR | | |
논리 AND | && |
논리적 OR | || |
삼항 | ? : |
과제 | =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=,>>= |
할당 연산자의 우선 순위가 가장 낮고 접미사 증가 및 감소 연산자의 우선 순위가 가장 높습니다.
<시간>
using System;
namespace Operator
{
class OperatorPrecedence
{
public static void Main(string[] args)
{
int result1;
int a = 5, b = 6, c = 4;
result1 = --a * b - ++c;
Console.WriteLine(result1);
bool result2;
result2 = b >= c + a;
Console.WriteLine(result2);
}
}
}
프로그램을 실행하면 다음과 같이 출력됩니다.
19 False
프로그램에서 표현식이 어떻게 평가되는지 이해합시다.
--
의 우선순위 및 ++
*
보다 높음 , 및 *
의 우선 순위 -
보다 높음 . 따라서 진술,
result1 = --a * b - ++c;
와 동일합니다.
result1 = ((--a)*b)-(++c);
괄호 안의 표현식은 외부 연산자의 우선 순위에 관계없이 항상 먼저 평가됩니다.
4
. 5
. 24
. 19
이 됩니다. . 19
이 됩니다. .
다음 표현식에서 +
의 우선순위 >=
보다 높음 . 따라서 c 및 a 먼저 추가되고 합계가 b와 비교됩니다. false
생성 .
이전 섹션에서 연산자 우선 순위에 대해 논의했습니다. 우선 순위가 다른 두 연산자를 사용하는 경우 우선 순위가 높은 연산자가 먼저 평가됩니다.
하지만 두 연산자의 우선 순위가 같으면 어떻게 될까요?
이 경우 연산자의 연관성(왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽)에 따라 표현식이 평가됩니다.
예:
int a = 5, b = 6, c = 3; int result = a * b / c;
여기서 *
및 /
동일한 우선 순위를 갖습니다. 그러나 이러한 연산자의 연관성은 왼쪽에서 오른쪽으로 있기 때문에 , a * b
먼저 평가한 다음 나눗셈을 수행합니다. 이 표현식의 최종 결과는 10
입니다. .
이 특정 예에서 연관성은 실제로 중요하지 않습니다. 곱하기 전에 나눗셈을 수행하더라도 결과에 영향을 미치지 않기 때문입니다.
다른 예를 살펴보겠습니다.
int a = 5, b = 6, c = 3; a = b = c;
=
의 연관성 연산자는 오른쪽에서 왼쪽입니다. . 따라서 c의 값은 (예:3
)는 b에 할당됩니다. , 그리고 b 값 a에 할당됨 . 따라서 이 명령문을 실행한 후 a 값은 , b 및 c 3
이 됩니다. .
아래 표는 C# 연산자의 연관성을 보여줍니다.
카테고리 | 운영자 | 연관성 |
---|---|---|
후위 증가 및 감소 | ++, -- | 왼쪽에서 오른쪽으로 |
접두사 증가, 감소 및 단항 | ++, --, +, -, !, ~ | 오른쪽에서 왼쪽 |
승법 | *, /, % | 왼쪽에서 오른쪽으로 |
첨가제 | +, - | 왼쪽에서 오른쪽으로 |
시프트 | <<,>> | 왼쪽에서 오른쪽으로 |
관계형 | <, <=,>,>= | 왼쪽에서 오른쪽으로 |
평등 | ==, != | 왼쪽에서 오른쪽으로 |
비트 AND | & | 왼쪽에서 오른쪽으로 |
비트 XOR | ^ | 왼쪽에서 오른쪽으로 |
비트 OR | | | 왼쪽에서 오른쪽으로 |
논리 AND | && | 왼쪽에서 오른쪽으로 |
논리적 OR | || | 왼쪽에서 오른쪽으로 |
삼항 | ? : | 오른쪽에서 왼쪽 |
과제 | =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=,>>= | 오른쪽에서 왼쪽 |
거의 모든 연산자는 왼쪽에서 오른쪽으로 연관성이 있습니다. 오른쪽에서 왼쪽으로 연관성이 있는 연산자는 다음과 같습니다.
using System;
namespace Operator
{
class OperatorPrecedence
{
public static void Main(string[] args)
{
int a = 5, b = 6, c = 3;
int result = a * b / c;
Console.WriteLine(result);
a = b = c;
Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c);
}
}
}
프로그램을 실행하면 다음과 같이 출력됩니다.
10 a = 3, b = 3, c = 3
C 언어
장비 작업자 효율성이란 무엇입니까? MOE(Machine Operator Efficiency)는 산업 기계 운영자의 성과를 측정합니다. 백분율 형식으로 표시되며 작업 현장 직원의 성과를 효과적으로 측정하기 위해 시간, 생성된 부품 및 부품 품질을 고려합니다. 작업 현장 감독자와 공장 관리자는 OEE(전체 장비 효율성)를 사용하여 산업 장비 성능을 평가하는 것처럼 MOE를 사용하여 직원의 성과를 평가할 수 있습니다. 산업 장비 구매에 대한 주요 자본 지출에도 불구하고 제조업체는 사람이 가장 중요한 자산이라는 것을 잘 알고 있습니
Heidenhain CNC 컨트롤로 작업하는 CNC 기계공은 Heidenhain 프로그래밍 설명서를 무료로 다운로드할 수 있습니다.Heidenhain 설명서는 여러 언어로 제공됩니다.CNC 기계공은 Heidenhain 웹사이트에서 Heidenhain CNC 프로그래밍 소프트웨어를 무료로 다운로드할 수도 있습니다. Heidenhain 매뉴얼 프로그래밍 문서 무료 다운로드 하이덴하인 매뉴얼 다음 Heidenhain 프로그래밍 매뉴얼 및 기타 여러 관련 문서를 다운로드할 수 있습니다. 하이덴하인 TNC가이드 TNCguide는 하이