본문 바로가기
C++

7. 논리 연산자

by arirang_ 2023. 1. 6.

논리 연산자 ( logical operator)

● 참 (true) : 대표 1, 0이 아닌 모든 수

● 거짓 (false) : 숫자 0을 의미한다.

int WhatTrueFalse = true;             //1
int WhatTreFalse = false;             //0

 

※ Bool은 참, 거짓만 다루는 자료형이며, 참/ 거짓을 1과 0으로만 받아들이다.
다른 숫자들도 참으로 인식은 하나, 결과 값은 1로 변환되어 들어간다.

받아들일때는 1만 참이 아니라 0만 아니면 다 참으로 본다.

bool Istrue = 100;            //1

100이 참이므로 bool은 참이다. 따라서 IsTrue는 1을 결과값으로 갖는다.

 


● 

- ! (역, 반전) : 참→ 거짓, 거짓→참 

- && (곱, AND 연산자) : 둘 중 하나라도 거짓이면 거짓, 모두 참이어야 참이다.

- || (합, OR 연산자)  : 둘 중 하나라도 참이면 참, 모두 거짓이면 거짓이다.

 

! (역, 반전)

bool Istrue = true;       //Istrue는 true
Istrue = !Istrue          //Istrue는 false

!는 참을 거짓으로, 거짓을 참으로 반전시키때문에 Istrue는 false가 된다.

 

일반 자료형에서도 똑같이 작용한다.

int ImTrue = 100;          //ImTrue는 1이다.
ImTrue = !ImTrue;          //ImTrue는 0이다.
int ImNotTrue = 0;         //ImNotTrue는 0이다.
ImNotTrue = !ImNotTrue;    //ImNotTrue는 1이다.

 

&& (곱, AND 연산자)

int andTrue = 100 && 200;      //andTrue는 1이다.
andTrue = 0 && 200;            //andTrue는 0이다.

 

 

|| (합, OR 연산자)

int orTrue = 0 || 300;     //orTrue는 1이다.
orTrue = 0 || 0;           //orTrue는 0이다.

 

※ 논리 연산자와 자주 엮이는 구문, 연산자

- 구문 : if, else, switch case 

- 삼항 연산자 ( :?)  

'C++' 카테고리의 다른 글

[C++] 비트 연산자  (1) 2023.02.22
[C++] 조건문  (0) 2023.01.06
6. 증감 연산자  (0) 2023.01.06
5. 산술 연산자  (1) 2023.01.04
4. 실수형 자료형  (0) 2023.01.04