C++ 우선순위 예

C Useonsun Wi Ye



C++에서는 연산자로 작업할 때 모든 작업이 수행되는 순서가 있습니다. 코드 표현식에서 여러 연산자를 사용할 때 연산자 우선 순위가 활용됩니다. 예를 들어 덧셈, 뺄셈, 곱셈, 나눗셈 연산자를 사용할 때 곱셈과 나눗셈 연산은 우선순위가 높기 때문에 왼쪽에서 오른쪽으로 먼저 수행되고, 덧셈과 뺄셈 연산은 우선순위가 높기 때문에 왼쪽에서 오른쪽으로 다음에 수행됩니다. 곱셈과 나눗셈보다 우선순위가 낮습니다. 그러나 표현식에 덧셈 및 뺄셈 연산자만 포함된 경우 연산은 단순히 왼쪽에서 오른쪽으로 수행됩니다. 여기서는 연산자 우선순위 표와 연산자 우선순위의 예를 보여드리겠습니다.

산술 연산의 연산자 우선 순위







작업 연산자 상위
괄호 () 이러한 괄호가 작동됩니다.
곱셈, 나눗셈, 모듈러스 *, /, % 이러한 작업은 수행되며 순서는 왼쪽에서 오른쪽입니다.
덧셈, 뺄셈 +, – 이러한 작업은 마지막에 수행되며 순서는 왼쪽에서 오른쪽입니다.

예시 1:

'iostrem'이라는 헤더 파일을 포함하여 코드를 시작하겠습니다. 코드에서 사용할 이 'iostream' 헤더 파일에는 많은 함수가 선언되어 있습니다. 그 아래에 'namespace std'를 입력하고 앞서 'main()'을 호출합니다. 여기 'main()'에서는 'i', 'j', 'k'라는 변수를 'int'로 선언하고 여기에 전달하는 값은 '10', '37', '29'입니다. 각기. 또한 결과가 저장되는 'r' 변수도 선언합니다.



그런 다음 '+,'/'및 '-'연산자를 사용하여 표현식을 입력합니다. 이전에 설명했듯이 이러한 작업은 순서대로 수행됩니다. 여기에 배치한 수식은 나눗셈을 먼저 수행한 후 덧셈과 뺄셈 연산을 수행하는 “i + j / k – j”입니다. 'r' 변수를 정수로 선언하면 결과가 정수 값으로 표시됩니다. 다음에서는 'cout'을 사용하여 계산된 결과를 표시합니다.



코드 1:

#include

사용하여 네임스페이스 성병 ;

정수 기본 ( )

{

정수 = 10 , 제이 = 37 , 케이 = 29 , r ;

아르 자형 = + 제이 / 케이 - 제이 ;

시합 << '주어진 표현식의 결과는 = '입니다. << 아르 자형 ;

반품 0 ;

}

산출:

모든 작업을 수행한 후 출력은 '-26'입니다. 이 결과는 C++ 언어에서 제공하는 연산자 우선 순위에 따라 계산됩니다.





예시 2:

이 코드에서는 헤더 파일을 포함하고 'main()'을 호출한 후 'int' 변수를 'val1' 이름으로 초기화하고 '9 + 18 * 7'을 입력하는 표현식을 배치합니다. 여기서는 곱셈을 먼저 수행한 후 곱해진 값에 “9”를 더합니다. 다음에서는 '9 + (18 * 7)'로 'int val2'를 초기화합니다.



여기서는 괄호가 먼저 해결됩니다. 그런 다음 추가가 수행됩니다. 그런 다음 '(9 + 18) * 7' 표현식을 사용하여 'int val3'도 초기화합니다. 이 수식에서는 다시 괄호를 먼저 연산한 후 곱셈을 수행합니다. 표현식 값은 동일하지만 연산자 우선 순위로 인해 고유한 결과를 제공합니다. 이제 'cout'의 도움으로 'val1', 'val2' 및 'val3' 변수에 저장된 모든 결과를 인쇄합니다.

코드 2:

#include

사용하여 네임스페이스 성병 ;

정수 기본 ( ) {

정수 선택1 = 9 + 18 * 7 ;
정수 발2 = 9 + ( 18 * 7 ) ;
정수 발3 = ( 9 + 18 ) * 7 ;


시합 << '첫 번째 결과는 = '입니다. << 선택1 << ;

시합 << '두 번째 결과는 = '입니다. << 발2 << ;

시합 << '세 번째 결과는 = '입니다. << 발3 << ;

반품 0 ;

}

산출:

주어진 식을 계산한 후 얻은 결과는 다음과 같습니다. 값이 동일하더라도 세 번째 결과는 다른 두 결과와 동일하지 않음을 알 수 있습니다. 이는 표현식의 연산자에 적용되는 연산자 우선순위 때문입니다.

예시 3:

여기서는 다양한 변수를 다양한 값으로 초기화하며 이러한 모든 변수의 데이터 유형은 'int'입니다. 각각 '14', '9', '15' 및 '29' 값을 갖는 정수 변수 'a', 'b', 'c' 및 'd'가 있습니다. 그 후 “int R1”을 초기화하고 여기에 배치하는 표현식은 “a + b) * c / d”입니다. 괄호가 먼저 해결됩니다. 그런 다음 곱셈과 나눗셈 연산이 수행됩니다. 아래에 결과도 표시됩니다. 그런 다음 'a – b * (d + a) + c' 표현식을 사용하는 'int R2'가 있습니다. 여기서도 괄호를 푼 다음 연산자 우선순위에 따라 뺄셈과 덧셈을 수행합니다. 또한 그 결과를 인쇄하고 'b – d + c * a' 표현식이 입력된 'int R3'을 초기화합니다. 이 식에서는 곱셈이 먼저 수행된 다음 뺄셈과 덧셈이 수행됩니다. 이 표현식의 결과는 다음에도 표시됩니다. 이제 마지막 표현식 'd + (a * b) / a'가 있으며 그 결과는 'R4' 변수에 저장됩니다. 이 표현식에서는 괄호를 먼저 푼 다음 나눕니다. 마지막에는 추가가 수행됩니다. 이 표현식의 결과는 다음과 같이 표시됩니다.

코드 3:

#include

사용하여 네임스페이스 성병 ;

정수 기본 ( ) {

정수 = 14 ;
정수 = 9 ;
정수 = 열 다섯 ;
정수 = 29 ;
정수 R1 = ( + ) * / ;


시합 << '(a + b) * c / d ' << '준다 = ' << R1 << ;

정수 R2 = - * ( + ) + ;

시합 << 'a - b (d + a) + c ' << '준다 = ' << R2 << ;

정수 R3 = - + * ;

시합 << 'b - d + c * a ' << '준다 = ' << R3 << ;

정수 R4 = + ( * ) / ;

시합 << 'd + (a * b) / a ' << '준다 = ' << R4 << ;

반품 0 ;

}

산출:

앞서 언급한 식을 계산한 결과는 다음과 같습니다. 표현식의 연산자에는 연산자 우선 순위가 적용되어 있기 때문에 이러한 결과를 얻습니다.

예시 4:

여기서는 'a1', 'b1', 'c1', 'd1', 'e1', 'f1' 변수를 '64', '90', '11', '27'의 정수 값으로 초기화합니다. 각각 '34'와 '98'입니다. 여기서는 'a1 + b1 – c1) * d1 / f1' 표현식을 사용하여 'int result1'을 초기화하고 결과는 'result1' 변수에 저장됩니다. 여기서는 괄호가 먼저 해결됩니다. 그런 다음 나머지 작업은 순차적으로 계산됩니다. 그런 다음 'result1'을 인쇄합니다. 같은 방식으로 표현식을 계산하고 이를 다른 변수에 저장합니다. 그런 다음 모든 결과를 개별적으로 인쇄하여 연산자 우선 순위가 어떻게 작동하는지 보여줍니다.

코드 4:

#include

사용하여 네임스페이스 성병 ;

정수 기본 ( ) {

정수 a1 = 64 ;
정수 b1 = 90 ;
정수 c1 = 열하나 ;
정수 d1 = 27 ;
정수 e1 = 3. 4 ;
정수 f1 = 98 ;
정수 결과1 = ( a1 + b1 - c1 ) * d1 / f1 ;


시합 << '결과 1은 ' << 결과1 << ;

정수 결과 2 = a1 + ( f1 * b1 ) / e1 ;

시합 << '결과 2는' << 결과 2 << ;

정수 결과3 = e1 + d1 + a1 - c1 * b1 / a1 ;

시합 << '결과 3은' << 결과3 << ;

정수 결과4 = a1 - f1 + ( b1 - d1 ) * c1 ;

시합 << '결과 4는' << 결과4 << ;

정수 결과5 = ( f1 + ( a1 * ( b1 + a1 ) - f1 ) * a1 + e1 ) ;

시합 << '결과 5는 ' << 결과5 << ;

반품 0 ;

}

산출:

주어진 코드의 출력이 여기에 렌더링되어 이전에 입력한 모든 표현식의 결과를 보여줍니다. 모든 표현식은 순서 우선 규칙에 따라 계산됩니다.

결론

여기서는 C++ 프로그래밍에서 계산되는 연산자의 순서를 깊이 연구한 'C++ 우선 순위'를 살펴보았습니다. 또한 연산자의 순서를 표 형태로 보여주고, 수많은 예제를 수행하면서 C++ 프로그래밍의 순서 우선순위에 따라 표현식이 어떻게 해결되는지 배웠습니다.