3.2. 프로그램언어 C++( C plus plus)에서의 표현식 및 연산자 우선순위

프로그램언어 C++에서의 산술 연산자의 우선순위

프로그램언어 C++에서의 산술 연산자는 다양한 우선순위를 갖고 있습니다. 이를 이해하면 코드를 작성할 때 혼란을 줄일 수 있습니다.

가장 높은 우선순위를 갖는 산술 연산자는 괄호 ‘()’입니다. 괄호 안의 연산이 가장 먼저 수행됩니다. 그 다음으로는 단항 연산자들이 우선순위를 갖습니다. 이어서 곱셈 ‘*’, 나눗셈 ‘/’, 그리고 나머지 ‘%’가 순서대로 우선순위를 갖습니다. 덧셈 ‘+’와 뺄셈 ‘-‘는 가장 낮은 우선순위를 갖습니다.

이를 예제 코드를 통해 확인해보겠습니다.


#include <iostream>

int main() {
    int result = 10 + 5 * 2; // 곱셈이 먼저 수행됨
    std::cout << "Result: " << result << std::endl;

    result = (10 + 5) * 2; // 괄호가 먼저 수행됨
    std::cout << "Result: " << result << std::endl;

    result = 10 / 2 + 3; // 나눗셈이 먼저 수행됨
    std::cout << "Result: " << result << std::endl;

    result = 10 % 3 + 4; // 나머지가 먼저 수행됨
    std::cout << "Result: " << result << std::endl;

    return 0;
}

프로그램언어 C++에서의 대입 연산자의 우선순위

대입 연산자는 C++ 프로그래밍에서 가장 기본적이고 자주 사용되는 연산자 중 하나입니다. 대입 연산자의 우선순위는 다른 연산자들과 비교했을 때 중요한 역할을 합니다. C++에서 대입 연산자는 오른쪽 피연산자의 값을 왼쪽 피연산자에 할당하는 역할을 합니다. 대입 연산자의 우선순위는 다른 연산자들과 비교했을 때 가장 낮은 우선순위를 가지고 있습니다. 이는 대입 연산자가 다른 연산자들보다 나중에 수행된다는 것을 의미합니다.

아래의 예제 코드를 통해 C++에서 대입 연산자의 우선순위를 확인해보겠습니다.


#include <iostream>

int main() {
    int a = 5;
    int b = 10;
    int c = 15;

    a = b = c; // 대입 연산자의 우선순위 확인

    std::cout << "a: " << a << std::endl; // a의 값 출력
    std::cout << "b: " << b << std::endl; // b의 값 출력
    std::cout << "c: " << c << std::endl; // c의 값 출력

    return 0;
}

프로그램언어 C++에서의 비교 연산자의 우선순위

비교 연산자는 프로그래밍 언어 C++에서 사용되는 연산자 중 하나로, 두 값을 비교하여 참(true) 또는 거짓(false)을 반환합니다. 비교 연산자에는 등호(==), 부등호(!=), 크다(>), 작다(<), 크거나 같다(>=), 작거나 같다(<=) 등이 있습니다. 이러한 비교 연산자들은 우선순위에 따라 연산이 수행됩니다.

비교 연산자의 우선순위는 다음과 같습니다:

  • 산술 연산자보다 비교 연산자가 높은 우선순위를 가집니다.
  • 대입 연산자(=)보다 비교 연산자가 높은 우선순위를 가집니다.

이제 예제 코드를 통해 비교 연산자의 우선순위를 확인해보겠습니다.


#include <iostream>

int main() {
    int a = 5, b = 3, c = 7;

    bool result = a > b == c; // 비교 연산자 '>'와 '=='의 우선순위를 확인

    std::cout << std::boolalpha << result << std::endl;

    return 0;
}

위의 코드에서는 변수 a, b, c를 선언하고, a가 b보다 크고 c와 같은지를 비교하는 연산을 수행합니다. 이때 ‘>’ 연산자가 ‘==’ 연산자보다 우선순위가 높기 때문에 a > b가 먼저 수행되고, 그 결과가 c와 비교됩니다. 결과를 출력하면 true가 나올 것입니다.

프로그램언어 C++에서의 비트 연산자의 우선순위

비트 연산자는 C++ 프로그래밍에서 사용되는 중요한 연산자 중 하나입니다. 비트 연산자에는 AND(&), OR(|), XOR(^), NOT(~) 등이 있으며, 이러한 연산자들은 비트 단위로 연산을 수행합니다. 이때, 비트 연산자의 우선순위는 다른 연산자들과 함께 사용될 때 중요한 역할을 합니다.

비트 연산자의 우선순위는 일반적인 산술 연산자보다 낮습니다. 비트 AND(&)가 비트 OR(|)보다 높은 우선순위를 가지며, 비트 XOR(^)는 둘보다 우선순위가 높습니다. 비트 NOT(~)는 단항 연산자로 가장 높은 우선순위를 가집니다.

아래는 비트 연산자의 우선순위를 보다 명확히 이해할 수 있는 예제 코드입니다.


#include <iostream>

int main() {
    int a = 5, b = 3, c = 6;
    int result = a & b | c ^ ~a;

    std::cout << "Result: " << result << std::endl;

    return 0;
}

위의 코드에서는 변수 a, b, c를 초기화하고 비트 AND(&), OR(|), XOR(^), NOT(~) 연산자를 사용하여 result 변수에 값을 계산합니다. 이때, 각 비트 연산자의 우선순위에 따라 연산이 수행되며, 결과는 “Result: 4″가 출력됩니다.

프로그램언어 C++에서의 증감 연산자와 조건 연산자의 우선순위

증감 연산자와 조건 연산자는 C++ 프로그래밍에서 자주 사용되는 연산자 중 일부입니다. 이 두 연산자의 우선순위에 대해 알아보겠습니다.

증감 연산자는 변수의 값을 1씩 증가시키거나 감소시키는 연산자로, 전위 증가(++a), 후위 증가(a++), 전위 감소(–a), 후위 감소(a–)의 형태로 사용됩니다. 증감 연산자는 단항 연산자이며, 우선순위가 매우 높습니다. 따라서 다른 연산자보다 먼저 계산됩니다.

조건 연산자는 삼항 연산자로, 조건식을 평가하여 참이면 첫 번째 피연산자를 반환하고, 거짓이면 두 번째 피연산자를 반환합니다. 조건 연산자는 우선순위가 낮아서 대부분의 연산자보다 나중에 계산됩니다.


int a = 5;
int b = 10;
int result;

// 증감 연산자 예제
result = ++a * b; // a를 먼저 증가시킨 후 곱셈 연산
// result = 6 * 10 = 60

result = b-- + a; // b를 먼저 사용한 후 감소시킴
// result = 10 + 6 = 16

// 조건 연산자 예제
int x = 10;
int y = 20;
int max = (x > y) ? x : y; // x가 y보다 크면 x를 max에 대입, 아니면 y를 max에 대입
// max = 20

Leave a Comment