[c언어 기초]

우리가 아는 C언어

연산자(비교, 논리)

비교 연산자와 논리 연산자

비교 연산자와 논리 연산자

비교 연산자는 오른쪽과 왼쪽의 계산 결과나 값을 비교하는 연산자이고, 논리 연산자는 논리적 계산을 수행하는 연산자 입니다.

 아래의 코드를 직접 작성하고 실행해 봅시다.

#include <stdio.h> 
main () 
{ 
printf ( "%d %d \n", 3==2, 3!=2); 
printf ( "%d %d \n", 3>2, 3<=2); 
printf ( "%d \n", (3>2) && (3<=2)); 
printf ( "%d \n", (3>2) || (3<=2)); 
printf ( "%d \n", !(3>2)); 
}

실행결과

위 프로그램을 실행하면 비교 연산자와 논리 연산자를 이용한 각각의 연산 결과를 논리값으로 출력합니다.

  • 4행에서 '==' 연산자는 양변의 값이 같은지 비교하여 같으면 참(1), 다르면 거짓(0)을 출력합니다. 또한 ‘!=‘은 ‘같지 않음‘을 의미합니다. 따라서 ‘3==2’의 결과는 거짓(0)으로 계산되어 출력되고, ‘3!=2’의 결과는 참(1)으로 계산되어 출력됩니다.
  • 5행에서 ‘3>2’의 결과는 참(1)이며, ‘3<=2’의 결과는 거짓(0)입니다.
  • 6행에서 ‘&&‘ 연산자는 논리곱 연산자로, 양번의 값이 모두 참일 때만 참(1)이 출력됩니다. 이 경우에는 우변(3<=2)이 거짓이므로 ‘&&’ 연산의 결과는 거짓(0)입니다.
  • 7행에서 '||' 연산자는 논리합 연산자로, 양변의 값 중 하나라도 참이면 참(1)이 출력됩니다. 따라서 우변(3>=2)는 거짓이지만, 좌변(3>2)는 참이므로 ‘||’의 연산결과는 참(1)이 되죠.
  •  8행에서 ‘!‘ 연산자는 논리부정 연산자로, 원래의 값이 참(0이 아닌 값)이면 거짓(0)으로, 거짓이면 참(1)으로 계산합니다.

위의 프로그램에서 본 것처럼 비교 연산자(==,!=,>,<,<=,>=)는 왼쪽과 오른쪽의 계산 결과나 값을 비교한 결과를 참(1)과 거짓(0)의 논리값으로 계산하고, 논리 연산자(&&, ||, !)는 논리적 계산을 수행하여 참(1)과 거짓(0)의 값으로 계산합니다.

 

비교 연산자, 논리 연산자의 쓰임

다음 토픽에서는 비트연산자에 대해 알아봅시다.

 

 

댓글

댓글 본문
  1. 오타 있네요 4번째 동그라미 (3<=2)는 거짓이지만~~
    표에서 ||는 a와 b 둘 중 하나라도~~
  2. Noir
    잘봤습니다
  3. 호두
    고맙습니다.