Computer/C, C++

C 언어 복합 대입 연산자

젊은 동네 2023. 7. 11. 20:09
728x90

복합 대입 연산자는 기본적인 산술 연산자와 대입 연산자를 결합한 것입니다. 예를 들어, a = a + b 라는 식은 a += b 로 간단하게 표현할 수 있습니다. 이렇게 하면 코드가 짧아지고 가독성이 높아집니다.

복합 대입 연산자는 다음과 같은 종류가 있습니다.

+= 왼쪽 피연산자에 오른쪽 피연산자를 더하고 그 결과를 왼쪽 피연산자에 대입합니다.
-= 왼쪽 피연산자에서 오른쪽 피연산자를 빼고 그 결과를 왼쪽 피연산자에 대입합니다.
*= 왼쪽 피연산자에 오른쪽 피연산자를 곱하고 그 결과를 왼쪽 피연산자에 대입합니다.
/= 왼쪽 피연산자를 오른쪽 피연산자로 나누고 그 몫을 왼쪽 피연산자에 대입합니다.
%= 왼쪽 피연산자를 오른쪽 피연산자로 나누고 그 나머지를 왼쪽 피연산자에 대입합니다.
<<= 왼쪽 피연산자의 비트를 오른쪽 피연산자만큼 왼쪽으로 이동하고 그 결과를 왼쪽 피연산자에 대입합니다.
>>= 왼쪽 피연산자의 비트를 오른쪽 피연산자만큼 오른쪽으로 이동하고 그 결과를 왼쪽 피연산자에 대입합니다.
&= 왼쪽 피연산자와 오른쪽 피연산자의 비트별 AND 연산을 하고 그 결과를 왼쪽 피연산자에 대입합니다.
|= 왼쪽 피연산자와 오른쪽 피연산자의 비트별 OR 연산을 하고 그 결과를 왼쪽 피연산자에 대입합니다.
^= 왼쪽 피연산자와 오른쪽 피연산자의 비트별 XOR 연산을 하고 그 결과를 왼쪽 피연산자에 대입합니다.


복합 대입 연산자는 다음과 같은 규칙을 따릅니다.

- 복합 대입 연산자는 우선 순위가 낮으므로 다른 연산이 끝난 후에 수행됩니다.
- 복합 대입 연산자는 결합 방향이 오른쪽에서 왼쪽이므로 여러 개가 나열되면 오른쪽부터 계산됩니다.
- 복합 대입 연산자는 다시 대입할 수 없습니다.

복합 대입 연산자의 사용 예시는 다음과 같습니다.

#include <stdio.h>

int main(void)
{
    int a = 10, b = 5;
    a += b; // a = a + b
    printf("a = %d\n", a); // a = 15
    a -= b; // a = a - b
    printf("a = %d\n", a); // a = 10
    a *= b; // a = a * b
    printf("a = %d\n", a); // a = 50
    a /= b; // a = a / b
    printf("a = %d\n", a); // a = 10
    a %= b; // a = a % b
    printf("a = %d\n", a); // a = 0
    return 0;
}


복합 대입 연산자는 코드를 간결하고 효율적으로 만들어주는 유용한 도구입니다. 하지만 복잡한 식에 사용하면 가독성이 떨어질 수 있으므로 적절하게 사용하는 것이 중요합니다.

 

복합 대입 연산자는 우선 순위가 낮기 때문에 괄호를 잘 사용해야 합니다. 복합 대입 연산자는 가변적인 값에만 사용할 수 있습니다. 즉, 상수나 리터럴에는 사용할 수 없습니다. 예를 들어, 5 += 3 이라는 수식은 올바르지 않습니다. 왜냐하면 5라는 값은 변할 수 없는 상수이기 때문입니다.

 

마지막으로 복합 대입 연산자는 연산의 결과가 피연산자의 자료형에 맞게 변환되므로 형 변환에 주의해야 합니다.

이상으로 c언어 복합 대입 연산자에 대한 글을 마칩니다. 감사합니다.

'Computer > C, C++' 카테고리의 다른 글

C++ 언어 강력한 도구인 클래스의 멤버와 접근 제한자  (0) 2023.07.15
C언어에서 클래스를 사용하는 방법  (0) 2023.07.13
C언어 포인터  (0) 2023.07.06
C언어 if문, while문, for문  (0) 2023.06.29
C 언어 기초  (0) 2023.05.14