..

Search

15) 논리 연산자

15) 논리 연산자

논리 연산자


논리 연산자(logical operator)

논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 결정하는 연산자입니다.

AND 연산과 OR 연산은 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.

NOT 연산자는 피연산자가 단 하나뿐인 단항 연산자이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽입니다.

논리 연산자 설명
&& 논리식이 모두 참이면 1을 반환함. (논리 AND 연산)
|| 논리식 중에서 하나라도 참이면 1을 반환함. (논리 OR 연산)
! 논리식의 결과가 참이면 0을, 거짓이면 1을 반환함. (논리 NOT 연산)

 

C언어에서 거짓(false)은 0이며, 0이 아닌 모든 것은 참(true)으로 인식됩니다.

 

다음은 논리 연산자의 모든 동작의 결과를 보여주는 진리표(truth table)입니다.

A B A && B A || B !A
1 (true) 1 (true) 1 (true) 1 (true) 0 (false)
1 (true) 0 (false) 0 (false) 1 (true) 0 (false)
0 (false) 1 (true) 0 (false) 1 (true) 1 (true)
0 (false) 0 (false) 0 (false) 0 (false) 1 (true)

 

예제

int num01 = 3;

int num02 = -7;

int result01, result02;  

 

result01 = (num01 > 0) && (num01 < 5);

result02 = (num02 < 0) || (num02 > 10);  

 

printf("&& 연산자에 의한 결괏값은 %d입니다.\n", result01);

printf("|| 연산자에 의한 결괏값은 %d입니다.\n", result02);

printf(" ! 연산자에 의한 결괏값은 %d입니다.\n", !result02);

코딩연습 ▶

실행 결과

&& 연산자에 의한 결괏값은 1입니다.

|| 연산자에 의한 결괏값은 1입니다.

 ! 연산자에 의한 결괏값은 0입니다.

 

컴퓨터에서 참(true)은 보통 1로 표현되고, 거짓(false)은 0으로 표현됩니다.
하지만 C언어에서는 음수를 포함해 0이 아닌 모든 수가 참(true)으로 취급됩니다.

연습문제