KDONG
2021. 7. 25. 17:33
학습내용
- 다양한 연산자
- 기타 연산자
학습목표
- C언어에서 사용되는 다양한 연산자를 알고 활욜할 수 있다.
- 형변환 연산자와 연산자 우선순위를 설명할 수 있다.
다양한 연산자
1. 산술연산자
- 산술연산에 사용 되는 연산자
연산자 | 연산 | 예 | 결과 |
+ | 더하기 | 3+2 | 5 |
- | 빼기 | 3-2 | 1 |
* | 곱하기 | 3*2 | 6 |
/ | 나누기 | 3/2 | 1.5 |
% | 나머지 | 3%2 | 1 |
참고 %d - 값을 10진수로 출력 \n - 공백 |
2. 관계연산자
- 크기 비교연산에 사용되는 연산자
- 비교 결과 참(true)이면 1, 거짓(false)이면 0
연산자 | 연산 | 예 | 결과 |
> | 큰가? | 5>3 / 'b'>'a' | 1 |
< | 작은가? | 5<3 / 'a'<'B' | 0 |
>= | 크거나 같은가? | 5>=3 | 1 |
<= | 작거나 같은가? | 5<=3 | 0 |
!= | 다른가? | 5!=3 | 1 |
== | 같은가? | 5==3 | 0 |
3. 논리연산자
- AND OR NOT 연산에 사용되는 연산자
4. 증감연산자
- 값을 1만큼 증가 또는 감소시키는 연산자
- 증감 연산자는 반드시 변수에만 사용
- 연산자 위치에 따라 연산 순서가 다름
분류 | 예 | 풀이 |
전위형 | a = ++cnt | cnt = cnt + 1; a = cnt; |
a = --cnt | cnt = cnt - 1; a = cnt; |
|
후위형 | a = cnt++ | a = cnt; cnt = cnt + 1; |
a = cnt-- | a = cnt; cnt = cnt - 1; |
기타 연산자
1. 비트연산자
- 비트단위의 연산에 사용되는 연산자 : 비트 논리 연산자, 이동(Shift)연산자
1) 비트논리연산자
연산자 | 연사 |
& | AND |
| | OR |
~ | NOT |
^ | XOR |
x | y | AND(x&y) | OR(x|y) | NOT(~x) | XOR(x^y) |
0 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 | 0 |
2) 이동(Shift)연산자
- 이동 후 빈자리는 0으로 채워짐
- 비트 왼쪽 이동(<<) : 왼쪽 피연산자 * 2^n
- 비트 오른쪽 이동(>>) : 왼족 피연산자 /2^n
2. 대입연산자
- 왼쪽 변수에 오른쪽 값을 저장
- 왼쪽은 변수만 사용가능
- 복합대입 연산자를 사용할 수 있음
3. 조건연산자
- 삼항 연산자
- 수식C ? 수식T : 수식F
4. 형변환연산자
1) 묵시적 형변환(Implicit Type Conversion)
- 컴파일러에 의해 자동으로 수행하는 형변환
2) 명시적 형변환(Explicit Type Conversion)
- 지정한 데이터 타입으로 임시적으로 수행하는 형변환
(int) 25.347 | ---> | 25 |
(double)25 | ---> | 25.0 |
printf("%d/%d = %d", a, b, a/b);
5. 연산자 우선순위
학습정리
1. 다양한 연산자
- 산술연산자로 +, -, *, /, %가 있음
- 크기 비교에 사용되는 관계연산자로 <, <, <=, >=, !=, ==가 있음
- 논리 연산자로 &&, ||, ! 연산자를 사용함
- 증감 연산자에는 연산자의 위치에 따라서 전위형과 후위형이 있음
2. 기타 연산자
- 비트간의 연산으로 비트연산자가 있음
- 임시적인 형변환을 위하여 형변환 연산자를 사용할 수 있음
- 연산자의 우선 순위에 따라 연산이 이루어짐