본문 바로가기

공부/c언어

연산자 (c언어)

반응형

 

논리 연산자

&&, ||

 

(5 < 2) && (3 == 2)

&&연산자의 앞 논리 값(5 < 2)을 평가하여 0이면, 이 연산자는 더 이상 뒤의 논리 값(3 == 2)을 평가하지 않고, 논리 연산 &&의 평가 결과를 0으로 결정

 

(5 > 2) || (3 == 2)

||연산자의 앞 논리 값(5 >2)을 평가하여 1이면, 이 연산자는 더 이상 뒤의 논리 값(3 == 2)을 평가하지 않고, 논리 연산 &&의 평가 결과를 1로 결정

 

조건 연산자

exp1 ? exp2 : exp3

exp1이 0이 아닌 값(참)이면 exp2이 선택됨

exp1이 0(거짓)이면 exp3이 선택됨

 

비트 논리 연산자 (비트 단위로 논리연산을 수행)

&(and), |(or), ^(xor), ~(not)

 

이동 연산자

<<(왼쪽 이동 연산자), >>(오른쪽 이동 연산자)

<<은 왼쪽으로 옮기고 오른쪽 빈자리는 모두 무조건 0으로 채움

>>은 오른쪽으로 옮기고 왼쪽 빈자리는 모두 부호비트(최상위 비트)로 채움

 

비트 마스크

콤마 연산자(,)

연산자의 순위에서 가장 낮은 연산자는 콤마 연산자이다. 콤마(쉼표)연산자는 좌에서 우로 수행하며, 그 반환 값은 마지막에 수행한 연산의 결과

 

int x;

x = 3+4, 5-10; //<= (x = 3+4), 5-10;

printf("%d\n", x); //출력 값은 7

 

x = (3+4, 5-10);

printf("%d\n", x); //출력 값은 -5

반응형