산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 관계 연산자 & 논리 연산자 마스터하기: 의사결정을 위한 명확한 가이드

C++에서 관계 연산자와 논리 연산자는 두 개 이상의 피연산자를 비교하여 true 또는 false 값을 반환합니다.

이 연산자들은 의사결정에 사용됩니다.

C++ 관계 연산자

관계 연산자는 두 피연산자 간의 관계를 확인하는 데 사용됩니다. 예를 들어,

 // a가 b보다 큰지 확인 a > b;

여기서 >는 관계 연산자입니다. a가 b보다 큰지 확인합니다.

관계가 true이면 1을 반환하고, false이면 0을 반환합니다.

다음 표는 C++에서 사용되는 관계 연산자를 요약한 것입니다.

연산자 의미 예시
== 같음 3 == 5는 false
!= 다름 3 != 5는 true
> 보다 큼 3 > 5는 false
< 보다 작음 3 < 5는 true
>= 크거나 같음 3 >= 5는 false
<= 작거나 같음 3 <= 5는 true

== 연산자

같음 == 연산자는 다음을 반환합니다:

예시:

 int x = 10; int y = 15; int z = 10; x == y // false x == z // true

참고: 관계 연산자 ==은 대입 연산자 =와 다릅니다. 대입 연산자 =는 변수, 상수, 배열, 벡터에 값을 할당합니다. 두 피연산자를 비교하지 않습니다.

!= 연산자

다름 != 연산자는 다음을 반환합니다:

예시:

 int x = 10; int y = 15; int z = 10; x != y // true x != z // false

> 연산자

보다 큼 > 연산자는 다음을 반환합니다:

예시:

 int x = 10; int y = 15; x > y // false y > x // true

< 연산자

보다 작음 연산자 <는 다음을 반환합니다:

예시:

 int x = 10; int y = 15; x < y // true y < x // false

>= 연산자

크거나 같음 >= 연산자는 다음을 반환합니다:

예시:

 int x = 10; int y = 15; int z = 10; x >= y // false y >= x // true z >= x // true

<= 연산자

작거나 같음 연산자 <=는 다음을 반환합니다:

예시:

 int x = 10; int y = 15; x <= y // true y <= x // false

관계 연산자가 문자열과 어떻게 사용되는지 알아보려면 여기를 참조하세요.

C++ 논리 연산자

논리 연산자는 표현식이 true인지 false인지 확인하는 데 사용됩니다. 표현식이 true이면 1을, false이면 0을 반환합니다.

연산자 예시 의미
&& 표현식1 && 표현식2 논리 AND. 모든 피연산자가 true일 때만 true
|| 표현식1 || 표현식2 논리 OR. 하나 이상의 피연산자가 true이면 true
! !표현식 논리 NOT. 피연산자가 false일 때만 true

C++ 논리 AND 연산자

논리 AND 연산자 &&는 다음을 반환합니다:

&& 연산자 진리표

a와 b를 두 피연산자라고 하자. 0은 false, 1은 true를 나타냅니다. 그러면,

a b a && b
0 0 0
0 1 0
1 0 0
1 1 1

위 진리표에서 볼 수 있듯이 && 연산자는 a와 b가 모두 true일 때만 true를 반환합니다.

참고: 논리 AND 연산자 &&는 비트 AND 연산자 &와 혼동하지 마세요.

예제 1: C++ AND 연산자

 // C++ 프로그램: && 연산자 진리표 시연 #include <iostream> using namespace std; int main() { int a = 5; int b = 9; // false && false = false cout << ((a == 0) && (a > b)) << endl; // false && true = false cout << ((a == 0) && (a < b)) << endl; // true && false = false cout << ((a == 5) && (a > b)) << endl; // true && true = true cout << ((a == 5) && (a < b)) << endl; return 0; }

출력

 0 0 0 1

이 프로그램에서 int 변수 a와 b를 각각 5와 9로 선언 및 초기화합니다. 그런 다음 논리 표현식을 출력합니다:

 ((a == 0) && (a > b))

여기서 a == 0은 a의 값이 5이므로 false로 평가됩니다. a > b도 a의 값이 b보다 작으므로 false입니다. 이 두 표현식을 AND 연산자 &&로 결합합니다.

&& 연산자의 진리표에서 알 수 있듯 false && false(즉 0 && 0)는 false(0)로 평가됩니다. 이것이 출력 결과입니다.

마찬가지로 && 연산자의 진리표를 완전히 시연하는 세 가지 다른 표현식을 평가합니다.

C++ 논리 OR 연산자

논리 OR 연산자 ||는 다음을 반환합니다:

|| 연산자 진리표

a와 b를 두 피연산자라고 하자. 그러면,

a b a || b
0 0 0
0 1 1
1 0 1
1 1 1

위 진리표에서 볼 수 있듯이 || 연산자는 a와 b가 모두 false일 때만 false를 반환합니다.

예제 2: C++ OR 연산자

 // C++ 프로그램: || 연산자 진리표 시연 #include <iostream> using namespace std; int main() { int a = 5; int b = 9; // false || false = false cout << ((a == 0) || (a > b)) << endl; // false || true = true cout << ((a == 0) || (a < b)) << endl; // true || false = true cout << ((a == 5) || (a > b)) << endl; // true || true = true cout << ((a == 5) || (a < b)) << endl; return 0; }

출력

 0 1 1 1

이 프로그램에서 int 변수 a와 b를 각각 5와 9로 선언 및 초기화합니다. 그런 다음 논리 표현식을 출력합니다:

 ((a == 0) || (a > b))

여기서 a == 0은 a의 값이 5이므로 false로 평가됩니다. a > b도 a의 값이 b보다 작으므로 false입니다. 이 두 표현식을 OR 연산자 ||로 결합합니다.

|| 연산자의 진리표에서 알 수 있듯 false || false(즉 0 || 0)는 false(0)로 평가됩니다. 이것이 출력 결과입니다.

마찬가지로 || 연산자의 진리표를 완전히 시연하는 세 가지 다른 표현식을 평가합니다.

C++ 논리 NOT 연산자 !

논리 NOT 연산자 !는 단항 연산자 즉, 피연산자를 하나만 받습니다.

피연산자가 false이면 true를, 피연산자가 true이면 false를 반환합니다.

! 연산자 진리표

a를 피연산자라고 하자. 그러면,

a !a
0 1
1 0

예제 3: C++ NOT 연산자

 // C++ 프로그램: ! 연산자 진리표 시연 #include <iostream> using namespace std; int main() { int a = 5; // !false = true cout << !(a == 0) << endl; // !true = false cout << !(a == 5) << endl; return 0; }

출력

 1 0

이 프로그램에서 int 변수 a를 값 5로 선언 및 초기화합니다. 그런 다음 논리 표현식을 출력합니다:

 !(a == 0) 

여기서 a == 0은 a의 값이 5이므로 false로 평가됩니다. 그러나 a == 0에 NOT 연산자 !를 사용합니다. a == 0이 false로 평가되므로 ! 연산자는 a == 0의 결과를 반전시켜 최종 결과는 true가 됩니다.

마찬가지로 표현식 !(a == 5)는 a == 5가 true이므로 최종적으로 false를 반환합니다.


C 언어

  1. C 저장 클래스 이해: auto, extern, static, register 완벽 해설
  2. C# 변수 완벽 이해: 타입, 저장소, 사용법 총정리
  3. C++ 구조체(struct) 완벽 가이드: 선언, 인스턴스, 포인터, 함수 인자 전달
  4. C 언어 상수 포인터 & 상수 가리키는 포인터 완전 정복
  5. C++ 네임스페이스 마스터하기: 함수 충돌 방지와 코드 구성
  6. C# 데이터 타입 완전 정복: 값 타입, 참조 타입, 포인터 타입
  7. C++ 다형성 완전 정복: 컴파일타임/런타임 다형성, 가상 함수, 오버라이딩
  8. C 변수, 데이터 타입, 상수 – 실전 가이드
  9. C 언어 주석 마스터하기: 명확하고 효과적인 주석 작성법
  10. C 프로그래밍 문자열: 선언, 초기화, 입출력 마스터하기