TITEDIOS 편한 코딩

C 기초강의: #7 연산자 (2) 본문

C++

C 기초강의: #7 연산자 (2)

TitediosKW 2024. 8. 10. 19:00
반응형



이전 포스팅에서 연산자는 데이터의 계산, 비교, 할당 등에 사용되어 프로그램의 논리와 흐름을 제어한다고 하였습니다. 그러면 남아있는 비교와 논리 등에 대한 연산자인 관계 연산자, 그리고 논리 연산자에 대해 설명하겠습니다.

1. 관계 연산자

관계 연산자는 두 값 간의 비교를 수행하며, 결과는 true(참) 또는 false(거짓)입니다. 수학에서 많이 배웠던 내용이라 이해는 어렵지 않을 것입니다.

  • == (같음): 두 값이 같으면 참입니다.
  • != (다름): 두 값이 다르면 참입니다.
  • > (초과): 왼쪽 값이 오른쪽 값보다 크면 참입니다.
  • < (미만): 왼쪽 값이 오른쪽 값보다 작으면 참입니다.
  • >= (이상): 왼쪽 값이 오른쪽 값보다 크거나 같으면 참입니다.
  • <= (이하): 왼쪽 값이 오른쪽 값보다 작거나 같으면 참입니다.
int j = 10, k = 20; 
bool isEqual = (j == k); // false 
bool isNotEqual = (j != k); // true

2. 논리 연산자

논리 연산자는 논리적인 조건을 결합하거나 부정하는 데 사용됩니다. 결과는 true 또는 false입니다. 논리 연산자의 결과를 여러 상태들을 만들어내고 진입할 수 있어 다양하게 활용이 가능합니다. 실제로 사용해 가시면서 몸으로 체득하실 수 있을 것입니다.

  • && (논리 AND): 모든 조건이 참일 때만 참입니다.
  • || (논리 OR): 하나 이상의 조건이 참이면 참입니다.
  • ! (논리 NOT): 조건의 반대 값을 반환합니다.
bool a = true, b = false; 
bool result1 = (a && b); // false 
bool result2 = (a || b); // true 
bool result3 = !a; // false

숏 서킷 룰(Short circuit rule)

논리 연산자 중 논리 AND(&&)와 논리 OR(||) 연산자는 숏 서킷 룰이 적용됩니다. 숏 서킷 룰이란 좌항만으로 &&와 || 연산 결과를 판별하는 기능입니다.

논리 AND(&&) 연산자는 좌항이 거짓이라면 우항은 볼 것 없이 거짓(false)가 됩니다. 논리 OR(||) 연산자는 좌항이 참이라면 우항과 관계없이 참(true)가 됩니다. 이러한 룰을 이용한다면 연산 속도가 향상되므로 성능을 향상시킬 수 있습니다. 이러한 순서를 모른다면 예상하지 못한 연산 결과가 발생할 수 있으므로 주의를 요합니다.

연산 결과의 처리

연산의 결과값은 바로 처리하지 않으면 버려지게 됩니다. 따라서 결과에 대해서 바로 사용하거나 변수에 저장하여 사용해야 합니다.

# include <stdio.h>

int main(void) {
    int a = 1, b = 2, result;

    a + b; // 결과 버려짐 -> 무의미한 코드
    print("%d + %d = %d\n", a, b, a+b); // 결과를 바로 사용

    res = a + b; // 결과를 변수에 저장
    print("%d + %d = %d\n", a, b, result); // 저장된 결과를 사용

    return 0;
}

결론

연산자에 대해 모두 알아보았습니다. 연산자는 변수에 저장된 데이터를 처리하는 방법이고 이를 통해 구현하고자 하는 기능을 만들어 낼 수 있습니다. 또한, 논리 연산 등을 통해 프로그램의 흐름을 만들어내고 상태를 구별하여 여러 상황에 대처할 수 있는 프로그램을 만들 수도 있습니다. 연산자가 아직 익숙하지 않으실 수도 있지만 너무 걱정하지 마세요. 앞으로 무궁무진하게 사용하실 테니까요.

도움이 되셨다면 공감 부탁드리겠습니다. 여러분의 공감이 정말 큰 힘이 됩니다.

감사합니다

반응형