연산자는 변수, 함수, 배열, 포인터와 함께 잘 쓰면 알고리즘을 효율적으로 해결할 수 있다.
이번 시간에도 연산자에 대하여 알아보자.
논리연산자는 비교를 할때 쓴다.
4-3은 값이다. 1이다.
하지만 4-3==1도 하나의 값이다. 참이므로 1이다.
만약 4-3==2라면 거짓이므로 0이다.
논리연산자: ==(같은가), !=(다른가), >(큰가), <(작은가), >=(같거나 큰가), 와 <=(같거나 작은가)
또 관계연산자도 있다.
Value 1 | Value 2 | Result |
---|---|---|
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
다음은 AND연산자이다. 모두 1이면 참이고 아니면 0이다. &&로 나타낸다.
4-3==1 && 3-2!=1
도 하나의 값이다. 첫번째 값은 참이지만, 두번째 값은 3-2은 1이 맞으므로 이 값은 0이 된다.
Value 1 | Value 2 | Result |
---|---|---|
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
하나의 값이라도 있으면 참인 OR연산자다. ||로 나타낸다.
마지막으로 !는 반대로 참이면 거짓이고 거짓이면 참이다.
!1은 0이고, !0은 1(참)이다.
삼항연산자[조건연산자]는
조건 ? 참일때 실행 : 거짓일때 실행
구조이다.
즉
#include <stdio.h> int main(){ int n=3; 4-3<0 ? n++ : n--; printf("%d", n); return 0; }
면 거짓이므로 n은 2다.(1감소)
이외에도 비트 연산자와 연산자 우선순위가 있다. (, ), 그리고 콤마도 연산자이다.