본문 바로가기
Tech, Tech, Tech/C++

C++기초 [2.4 Boolean 데이터 타입][논리 연산자][관계 연산자]

by 결기공 2020. 1. 4.

"C++ 기초 명령어" 챕터에서는 C++ 프로그래밍을 하는데 있어 가장 기초적으로 사용되는 명령어들을 몇가지 알아보고 있습니다.

아래의 순서대로 챕터가 진행됩니다.

더보기

- [2.1. 변수와 변수 선언] 

https://beelee.tistory.com/12

 

- [2.2. 데이터 입력 / 데이터 출력] 

https://beelee.tistory.com/16

 

- [2.3. 데이터 타입] 

  • [2.3.1] 숫자를 표현하는 데이터 타입 
  • [2.3.2] 문자를 표현하는 데이터 타입 
  • [2.3.3] 데이터 타입별 호환성 

- [2.4. Boolean 데이터 타입] - 오늘의 주제


Boolean 데이터 타입

Boolean 데이터 타입은 참/거짓을 표현하는데 사용되는 데이터 타입입니다.

아래 처럼, true/false 또는 0 / 1 (0을 제외한 모든 데이터)로 데이터를 입력할 수 있습니다.

(0 = 거짓, 0을 제외한 모든 데이터  = 참)

bool 변수 = true;
bool 변수2 = false;
bool 변수3 = 0; //거짓
bool 변수4 = 1; //참
bool 변수5 = 12345; //참 (0을 제외한 모든 수는 참)
cout<<변수<<변수2<<변수3<<변수4<<변수5;

결과:

10011 (참, 거짓, 거짓, 참, 참)

 

Bool의 데이터 출력은 0과 1로만 출력됩니다.


Boolean 데이터 타입의 논리 연산자

Boolean 데이터 타입의 변수는 일반적인 숫자가 아닌 참거짓을 표현하는 데이터 타입이기에, 일반적인 사칙연산이 아닌 

논리 연산자와 관계 연산자를 사용합니다

 

Boolean 데이터 타입에 사용되는 논리 연산자는 아래와 같습니다:

논리 연산자
&& AND
|| OR
! NOT

그리고 아래와 같은 결과를 보여줍니다.

 

AND (&&) 연산자

모든 변수가 참일 때만 참입니다. (변수1와 변수2가 참일 때만 참)

 

OR (||) 연산자

모든 변수가 거짓일때만 거짓 (변수1과 변수2가 거짓인 경우에만 거짓)

변수 1 변수 2 변수1 && 변수2 변수1 || 변수2
True True True True
True False False True
False True False True
False False False False

코드로는 아래처럼 표현할 수 있습니다.

  bool 변수1 = true;
  bool 변수2 = false;

  //AND (&&) 연산자
  cout<<(변수1 && 변수1)<<endl;
  cout<<(변수1 && 변수2)<<endl;
  cout<<(변수2 && 변수2)<<endl;

  //OR ((||) 연산자
  cout<<(변수1 || 변수2)<<endl;
  cout<<(변수2 || 변수2)<<endl;
  cout<<(변수1 || 변수1)<<endl;

결과:

 

NOT (!) 연산자

참은 거짓이 되고, 거짓은 참이되는 연산자입니다.

중요한 점은, NOT(!)연산자가 우선순위가 더 높다는 것입니다. 괄호를 사용하지 않는 이상, !이 먼저 연산됩니다.

즉) !False && False 와 !(False && False)는 다른 결과를 보여줍니다 (첫번째는 거짓, 두번째는 참)

변수 !변수
True False
False True

코드로는 아래처럼 표현할 수 있습니다.

  bool 변수1 = true;
  bool 변수2 = false;

  cout<<! 변수1<<endl;
  cout<<! 변수2<<endl;

결과:


관계 연산자

데이터 타입 끼리의 관계를 보여주는 관계자 연산자는 아래와 같습니다. Boolean 뿐만 아니라, 다른 데이터 타입에도 사용할 수 있습니다.

데이터에 관계자 연산을 사용하였을 때, 결과는 0,1 (거짓 또는 참)으로 나옵니다.

관계 연산자
== 같다
!= 같지 않다
<, > 크다, 작다
<=, >= 크거나 같다, 작거나 같다

코드로는 아래처럼 표현할 수 있습니다:

  int 변수1 = 10;
  int 변수2 = 20;

  cout<<(변수1 == 변수2)<<endl;
  cout<<(변수1 != 변수2)<<endl;
  cout<<(변수1 < 변수2)<<endl;
  cout<<(변수1 > 변수2)<<endl;
  cout<<(변수1 <= 변수2)<<endl;
  cout<<(변수1 >= 변수2)<<endl;

결과:

첫번째 1의 경우 = 변수1 (10) 과 변수2(20)은 동일하지 않기 때문에, 0이 출력됩니다.

 


이상 오늘은, Boolean 데이터 타입에서 사용할 수 있는 논리 연산자와 관계 연산자에 대해서 알아보았습니다.

관계 연산자는 모든 데이터 타입에 사용할 수 있으며, 결과값이 참/거짓으로 나오게됩니다.

 

그리고 논리 연산자는 오직 Boolean 데이터 타입에서만 사용할 수 있습니다.

 

 

댓글