수학에서 배웠듯이 곱셈과 나눗셈이 덧셈과 뺄셈보다 먼저 수행된다. 이러한 우선순위는 많은 연산들 중에 어떤 연산을 먼저 수행할지를 결정하는 규칙이다. 각 연산자는 서열이 매겨져있다.
수학과같이 컴퓨터에서도 ( ) 를 이용하여 우선순위를 무시하고 먼저 계산이 가능하다.
우선순위 |
연산자 |
설명 |
결합성 |
1 |
++ -- |
후위 증감 |
--> |
() |
함수 호출 |
||
[] |
배열 인덱스 연산자 |
||
. |
구조체 멤버 접금 |
||
-> |
구조체 포인터 접근 |
||
(type){list} |
복합 리터럴 |
||
2 |
+= -- |
전위 증감 연산자 |
<-- |
+ - |
양수, 음수 |
||
! ~ |
논리적인 부정, 비트NOT |
||
(type) |
형변환 |
||
* |
간접 참조 연산자 |
||
& |
주소 추출 연산자 |
||
sizeof |
크기 계산 연산자 |
||
_Alignof |
정렬 요구 연산자 |
||
3 |
* / % |
곱, 나눗셈, 나머지 |
--> |
4 |
+ - |
덧, 뺄셈 |
|
5 |
<< >> |
비트 이동 |
|
6 |
< <= |
관계 연산자 |
|
> >= |
관계 연산자 |
||
7 |
== != |
관계 연산자 |
|
8 |
& |
비트 AND |
|
9 |
^ |
비트 XOR |
|
10 |
| |
비트 OR |
|
11 |
&& |
논리 AND 연산자 |
|
12 |
|| |
논리 OR 연산자 |
|
13 |
?: |
삼항 조건 연산자 |
<-- |
14 |
= |
대입 연산자 |
|
+= -= |
복합 대입 연산자 |
||
*= /= %= |
복합 대입 연산자 |
||
<<= >>= |
복합 대입 연산자 |
||
&= ^= |= |
복합 대입 연산자 |
||
15 |
, |
콤마 연산자 |
--> |
//예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main() { int x = 0, y = 0; int result; result = 2 > 3 || 6 > 7; printf("%d\n", result); result = 2 || 3 && 3 > 2; printf("%d\n", result); result = x = y = 1; printf("%d\n", result); result = -++x + y--; printf("%d\n", result); return 0; } | cs |
//화씨 온도를 섭씨 온도로 바꾸기
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> int main() { double f, c; printf("type F Temp."); scanf("%lf", &f); c = 5.0 / 9.0 * (f - 32); printf("C Temp is %f. \n", c); return 0; } | cs |
'C 프로그래밍 > 3. 수식과 연산자' 카테고리의 다른 글
3-8 형변환 (0) | 2019.05.15 |
---|---|
3-6 콤마 연산자 , 3-7 비트 연산자 (1) | 2019.05.14 |
3-5 조건 연산자 (0) | 2019.05.14 |
3-4 논리 연산자 (0) | 2019.05.14 |
3-3 관계 연산자 (0) | 2019.05.14 |