1. C언어 문법(포인터 전)

연산자 II

연산자는 변수, 함수, 배열, 포인터와 함께 잘 쓰면 알고리즘을 효율적으로 해결할 수 있다.

이번 시간에도 연산자에 대하여 알아보자.

논리연산자는 비교를 할때 쓴다.

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감소)

이외에도 비트 연산자와 연산자 우선순위가 있다. (, ), 그리고 콤마도 연산자이다.

 

댓글

댓글 본문