제가 요즘 C언어에 관심이 생겨서
독학을 하던중, 중요한부분은 표로 만들어 가져왔습니다.
인쇄해서 책상밑에끼워두기도 하였습니다.
윤성우님이 저술하신 열혈 C프로그래밍 에 나오는 표을 직접 만들었습니다.
이항 연산자(binary operator) | ||
연산자 | 연산자의 기능 | 결합방향 |
= | 연산자 오른쪽에 있는 값을 연산자 왼쪽에 있는 변수에 대입한다. 예) num = 20; | ← |
+ | 두 피연산자의 값을 더한다. 예) num = 4+3; | → |
- | 왼쪽의 피연산자 값에서 오른쪽의 피연산자 값을 뺀다. 예) num = 4-3; | → |
* | 두 피연산자의 값을 곱한다. 예) num = 4*3; | → |
/ | 왼쪽의 피연산자 값을 오른쪽의 피연산자 값으로 나눈다. 예) num = 7/3; | → |
% | 왼쪽의 피연산자 값을 오른쪽의 피연산자 값으로 나눴을 때 얻게 되는 나머지를 반환한다. 예) num = 7%3; | → |
증가, 감소 연산자 | ||
연산자 | 연산자의 기능 | 결합방향 |
++num | 값을 1 증가 후, 속한 문장의 나머지를 진행(선 증가, 후 연산) 예) val = ++num; | ← |
num++ | 속한 문장을 먼저 진행한 후, 값을 1 증가(선 연산, 후 증가) 예) val = num++; | ← |
--num | 값을 1 감소 후, 속한 문장의 나머지를 진행(선 감소, 후 연산) 예) val = --num; | ← |
num-- | 속한 문장을 먼저 진행한 후, 값을 1 감소(선 연산, 후 감소) 예) val = num--; | ← |
관계 연산자 | 참(true): 1 거짓(false): 0 | ||
연산자 | 연산자의 기능 | 결합방향 | |
< | 예) n1 < n2 n1이 n2보다 작은가? | → | |
> | 예) n1 > n2 n1이 n2보다 큰가? | → | |
== | 예) n1 == n2 n1과 n2가 같은가? | → | |
!= | 예) n1 != n2 n1과 n2가 다른가? | → | |
<= | 예) n1 <= n2 n1이 n2보다 같거나 작은가? | → | |
>= | 예) n1 >= n2 n1이 n2보다 같거나 큰가? | → | |
조건을 만족하면 참(true)을, 만족하지 않으면 거짓(false)을 반환한다. |
논리 연산자 | ||
연산자 | 연산자의 기능 | 결합방향 |
&& | 예) A&&B A와 B 모두 ‘참이면 연산결과로 ’참‘을 반환(논리 AND) | → |
|| | 예) A||B A와 B 둘 중 하나라도 ‘참’이면 연산결과로 ‘참’을 반환(논리 OR) | → |
! | 예) !A A가 ‘참’이면 ‘거짓’, A가 ‘거짓’이면 ‘참’을 반환(논리 NOT) | ← |
비트 연산자 | ||
연산자 | 연산자의 기능 | 결합방향 |
& | 비트단위로 AND 연산을 한다. 예) num1 & num2; | → |
| | 비트단위로 OR 연산을 한다. 예) num1 | num2; | → |
^ | 비트단위로 XOR 연산을 한다. 예) num1 ^ num2; | → |
~ | 단항 연산자로써 피연산자의 모든 비트를 반전시킨다. 예) ~num; //num은 변화 없음, 반전 결과만 반환 | ← |
<< | 피연산자의 비트 열을 왼쪽으로 이동시킨다. 예) num<<2; //num은 변화 없음, 두 칸 왼쪽 이동 결과만 반환 | → |
>> | 피연산자의 비트 열을 오른족으로 이동시킨다. 예) num>>2; //num은 변화 없음, 두 칸 오른쪽 이동 결과만 반환 | → |
연산자의 우선순위와 결합방향 | |||
순위 | 연산기호 | 연산자 | 결합방향 |
1위 | () | 함수호출 | → |
[] | 인덱스 | ||
-> | 간접지정 | ||
. | 직접지정 | ||
++ (postfix) -- (postfix) | 후위증가 및 감소 | ||
2위 | ++ (prefix) -- (prefix) | 전위증가 및 감소 | ← |
sizeof | 바이트 단위 크기 계산 | ||
~ | 비트 단위 NOT | ||
! | 논리 NOT | ||
-, + | 부호연산(음수와 양수의 표현) | ||
& | 주소 연산 | ||
* | 간접지정 연산 | ||
3위 | (casting) | 자료형 변환 | ← |
4위 | *, /, % | 곱셈, 나눗셈 관련 연산 | → |
5위 | +, - | 덧셈, 뺄셈 | → |
6위 | <<, >> | 비트이동 | → |
7위 | <, >, <=, >= | 대소비교 | → |
8위 | ==, != | 동등비교 | → |
9위 | & | 비트 AND | → |
10위 | ^ | 비트 XOR | → |
11위 | | | 비트 OR | → |
12위 | && | 논리 AND | → |
13위 | || | 논리 OR | → |
14위 | ? : | 조건연산 | ← |
15위 | =, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |= | 대입연산 | ← |
16위 | , | 콤마연산 | → |
오늘도 행복한 하루되세요^^
'2015년까지의 글 > C Programming' 카테고리의 다른 글
쉽게 풀어쓴 C언어 Express 2장 Programming (p77) (1) | 2015.08.10 |
---|---|
쉽게 풀어쓴 C언어 Express 2장 Exercise (p76) (0) | 2015.08.09 |
쉽게 풀어쓴 C언어 Express 1장 Exercise (p45~p47) (0) | 2015.08.05 |