관계 연산자
관계 연산자는 좌측 값과 우측 값의 크기를 비교하는 연산자로 초등학교 때 배운 부등호를 생각하면 된다. C언어에서 제공하는 관계 연산자를 표로 나타내면 다음과 같다.
연산자 |
설명 |
사용 예 |
== |
좌측 값과 우측 값이 같은가 |
a == b |
!= |
좌측 값과 우측 값이 다른가 |
a != b |
< |
좌측 값이 우측 값보다 작은가 |
a < b |
> |
좌측 값이 우측 값보다 큰가 |
a > b |
<= |
좌측 값이 우측 값보다 작거나 같은가 |
a <= b |
>= |
좌측 값이 우측 값보다 크거나 같은가 |
a >= b |
관계 연산자는 조건을 만족하면 참(True)를 나타내는 1을 반환하고, 만족하지 않으면 거짓(False)를 나타내는 0을 반환한다.
또한 관계 연산자 중에서 2개 이상의 연산자가 합쳐진 관계 연산자의 경우 (==, !=, <=, >=) 좌/우 연산자간의 순서가 바뀌지 않아야 하며 공백 또한 없어야 한다.
관계 연산자를 쉽게 이해하기 위한 프로그램에는 다음과 같은 프로그램이 있다.
07 행 : 5와 7은 같지 않기 때문에 결과는 거짓인 0이 된다. ( a==b 조건 거짓 )
08 행 : 5와 7은 다르기 때문에 결과는 참인 1이 된다. ( a != b 조건 참)
09 행 : 5는 7보다 작기 때문에 참이 된다.
10 행 : 5는 7보다 크지 않기 때문에 거짓이 된다.
11 행 : 5는 7보다 작거나 같기 때문에 참이 된다.
12 행 : 5는 7보다 크거나 같지 않기 때문에 거짓이 된다.
논리 연산자
프로그램을 코딩하다 보면 n개 이상의 조건을 요구하는 경우가 있다. 예를 들면 '나이가 14세 이상이고 키가 150cm 이상이어야 놀이기구에 탑승 가능'과 같은 예가 그렇다.
이 때 사용하는 연산자가 논리 연산자로 참/거짓을 다르며 논리 연산의 결과 또한 참/거짓이 되야 한다. 논리 연산자를 표로 나타내면 다음과 같다.
연산자 |
설명 |
사용 예 |
&& |
AND 연산자, 좌측 식과 우측 식 모두 참이면 참 나머지 경우이면 거짓 |
a>= 90 && a<=100 |
|| |
OR 연산자, 좌측 식과 우측 식 중 하나라도 참이면 참, 나머지 경우이면 거짓 |
a<=7 || a>=60 |
! |
NOT 연산자, 우측에 위치한 식이 참이면 거짓, 거짓이면 참 |
!(a<20) |
논리 연산자를 활용한 프로그램은 다음과 같다.
05 행 : 좌측 식(1<=2)는 참, 우측 식(7<3) 거짓이며, && 연산자는 좌/우 모두 참이여야 참이기 때문에 거짓 출력
06 행 : 좌측 식(7>11)은 거짓, 우측 식 (7>3)은 참이며, || 연산자는 좌/우 중 하나라도 참이면 참이기 때문에 참 출력
07 행 : 식(2==3) 자체는 거짓이지만 ! 연산자에 의하여 참 출력
'Developing > C 언어' 카테고리의 다른 글
[C언어 강의 - 09] 조건문 (0) | 2014.05.08 |
---|---|
[C언어 강의 - 08] 비트 연산자 (0) | 2014.05.07 |
[C언어 강의 - 06] 대입, 증가/감소 연산자 (0) | 2014.05.07 |
[C언어 강의 - 05] 산술 연산자 (0) | 2014.05.07 |
[C언어 강의 - 04] 데이터 타입 (0) | 2014.04.29 |