2022. 6. 2. 12:08ㆍ♣ C++
이번 포스팅에선 C++의 비교 연산자와 논리 연산자에 대해 알아보자.
비교 연산자: 피연산자 사이의 상대적인 크기를 판단하는 연산자
논리 연산자: 주어진 논리식을 판단하여, 참과 거짓을 결정하는 연산자
개발 환경 : VSCode, Windows 10
기본 개발 세팅은 다음과 같습니다.
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
// 연산자
int num1 = 10;
int num2 = 4;
cout << "연산자 예시 \n";
}
비교 연산자
비교 연산자는 피연산자 사이의 크기를 비교하는 연산자다.
A와 B 중 어느 것이 더 큰가?/작은가?/같은가? 를 판단한다고 생각하면 된다.
True라면 1을, False라면 0을 반환한다.
종류: ==, >=, <=, !=, <, >
!=, 같지 않다
int main()
{
// 대입 연산자
int num1 = 10;
int num2 = 4;
cout << "!= 연산자의 결과값은 " << (num1 != num2) << " 입니다." << endl;
}
결과
!= 연산자의 결과값은 1 입니다.
10과 4는 같지 않으므로 1(True)을 반환했다.
==, 같다
int main()
{
// 대입 연산자
int num1 = 10;
int num2 = 4;
cout << "== 연산자의 결과값은 " << (num1 == num2) << " 입니다." << endl;
}
결과
== 연산자의 결과값은 0 입니다.
10과 4는 같지 않으므로 0(False)을 반환했다.
>, 왼쪽이 더 크다
int main()
{
// 대입 연산자
int num1 = 10;
int num2 = 4;
cout << "> 연산자의 결과값은 " << (num1 > num2) << " 입니다." << endl;
}
결과
> 연산자의 결과값은 1 입니다.
10이 4보다 크므로 1(True)을 반환했다.
>=, 왼쪽이 크거나 같다
int main()
{
// 대입 연산자
int num1 = 10;
int num2 = 4;
cout << ">= 연산자의 결과값은 " << (num1 >= num2) << " 입니다." << endl;
}
결과
>= 연산자의 결과값은 1 입니다.
10이 4보다 크므로 1(True)을 반환했다.
논리 연산자
주어진 논리식을 판단하여, 참과 거짓을 결정하는 연산자이다.
AND, OR, NOT 이 존재하며, True인 경우 1을 반환하고 False인 경우 0을 반환한다.
&&
A와 B가 모두 True이다.
ex) A && B
왼쪽과 오른쪽 논리식이 모두 True일 때만 1을 반환합니다.
int main()
{
// 대입 연산자
int num1 = 10;
int num2 = 4;
bool result1, result2, result3;
result1 = (num1+4 > num2*30) && (num2 >= 4);
cout << "&& 연산자의 결과값은 " << result1 << " 입니다." << endl;
}
결과
&& 연산자의 결과값은 0 입니다.
num1+4 > num2*30는 False이며, num2 >= 4는 True이다. 둘 중 하나만 True이기에 0을 반환합니다.
||
A 혹은 B가 True이다.
ex) A || B
왼쪽 논리식과 오른쪽 논리식 중 하나만 True여도 1을 반환합니다.
int main()
{
// 대입 연산자
int num1 = 10;
int num2 = 4;
bool result1, result2, result3;
result1 = (num1+4 > num2*30) || (num2 >= 4);
cout << "|| 연산자의 결과값은 " << result1 << " 입니다." << endl;
}
결과
|| 연산자의 결과값은 1 입니다.
num1+4 > num2*30 은 False이지만, num2 >= 4는 True이므로 1을 반환했습니다.
!
A는 참이 아니다.
ex) !A
주어진 논리식이 참이 아닐 경우, 1을 반환합니다.
int main()
{
// 대입 연산자
int num1 = 10;
int num2 = 4;
bool result1, result2, result3;
result1 = (num1+4 > num2*30) || (num2 >= 4);
cout << "! 연산자의 결과값은 " << !result1 << " 입니다." << endl;
}
결과
! 연산자의 결과값은 0 입니다.
result1은 본래 True이므로, ! 연산자를 적용했을 때 0을 반환했습니다.
지금까지 비교 연산자와 논리 연산자에 대해 알아보았습니다.
다음 포스팅에선 비트 연산자와 기타 연산자에 대해 다뤄보도록 하겠습니다.
'♣ C++' 카테고리의 다른 글
[C++] 조건문과 반복문을 활용해봅시다. (0) | 2022.06.10 |
---|---|
[C++] 비트 연산자, 쉼표 연산자, 삼항 연산자, sizeof 연산자 (0) | 2022.06.09 |
[C++] 산술 연산자, 대입 연산자 (0) | 2022.06.01 |
[C++] C++ 개발 환경 세팅 ft. VSCode (0) | 2022.05.29 |
[C++] C++ 공부하는 이유 및 목표 (0) | 2022.05.29 |