연산자 (단항 / 이항 / 삼항)
- 단항
- 부호연산자 (+, -)
- 증감연산자 (++, --)
- 논리 부정 연산자 (!)
- 비트 반전 연산자 (~)
- 이항
- 산술연산자 (+, -, *, /, %)
- 문자열 연결 연산자 (+)
- 대입연산자
- 비교연산자
- 논리연산자 (&, &&, |, ||)
- &&은 앞의 연산 결과가 false라면 바로 false 리턴, &은 앞의 연산 결과 false라도 뒤의 연산 평가
- ||은 앞의 연산 결과가 true라면 바로 true 리턴, |은 앞의 연산 결과 true라도 뒤의 연산 평가
- &&, ||이 &, |보다는 효율적이지만, 때에 따라 &, | 가 사용되어야 하는 경우 존재
- 비트연산자 (&, |, ^)
- 쉬프트연산자 (<<. >>, >>>)
- >> 하면 MSB가 부호 비트로 채워지고, >>>하면 MSB가 무조건 0으로 채워진다
- 삼항
- 조건연산자 (조건?참:거짓)
추가적으로 알아둬야 할 사항
- 부호연산자 사용할 때 주의할 점은 부호 연산자의 산출타입은 int타입이 된다는 것 (byte, char, short 경우에)
- 정수의 산술 연산은 무조건 int타입으로 변환 후 수행
- 정확한 계산을 해야하는 경우 정수형 타입의 변수만 사용 (실수형은 부동소수점을 사용하기 때문에 부정확)
- NaN, Infinity 연산결과가 나와도 에러 메시지는 없다. 이 값을 이용해 연산을 수행할 경우 결과 역시 NaN, Infinity
- 0.1 == 0.1f 하면 false 나온다 (부동소수점 때문에)
- 비트연산자는 정수형에 대해서만 사용 가능
'다전공_컴퓨터공학 > C, JAVA, PYTHON' 카테고리의 다른 글
[JAVA] 6장 클래스 (0) | 2021.01.14 |
---|---|
[Python] nonlocal (0) | 2021.01.08 |
[JAVA] 2장 변수와 타입 (0) | 2021.01.05 |
[C] struct, union (0) | 2020.12.03 |
[C] volatile (0) | 2020.12.01 |