대입 연산자와 산술 연산자

복합 대입 연산자

증가, 감소 연산자
증가, 감소 연산자는 ; 세미콜론을 기준으로 선 증가,감소냐 후 증가,감소이냐가 결정됩니다.
++num, --num 같은 경우는 문장이 끝날때 그 해당 문장에서 증가나 감소를 한 값으로 계산됩니다.
밑의 예시에서 num2에는 num1 이 증가된 값이 할당됩니다. num2 는 증가했을때의 값인 11이 할당됩니다.
예시) num1 = 10;
int num2 = ++num1;
num++, num--는 그와 반대의 개념으로 해당 문장이 종료되었을때는원래의 값이 할당되며
그 이후 문장에서 값이 증가하거나 감소합니다.
밑의 예시에서 num2에는 num1이 증가되기 전의 값인 10이 할당됩니다. 하지만 그 다음 문장에서의 num1의
값은 11입니다. 즉 num3에는 11의 값이 할당됩니다.
예시) num1 = 10;
int num2 = num1++;
int num3 = num1;

관계 연산자
관계 연산자의 반환 값은 True, False => 1(0이 아닌 정수), 0으로 표현됩니다.

논리 연산자
논리 연산자는 피연산자도 논리값(True or False)이여야 합니다.

연산자 우선순위, 결합 법칙
| 우선순위 | 연산자 | 설명 | 결합 법칙(방향) |
| 1 | x++ x-- ( ) [ ] . -> (자료형){값} |
증가 연산자(뒤, 후위) 감소 연산자(뒤, 후위) 함수 호출 배열 첨자 구조체/공용체 멤버 접근 포인터로 구조체/공용체 멤버 접근 복합 리터럴 |
→ |
| 2 | ++x --x +x -x ! ~ (자료형) *x &x sizeof |
증가 연산자(앞, 전위) 감소 연산자(앞, 전위) 단항 덧셈(양의 부호) 단항 뺄셈(음의 부호) 논리 NOT 비트 NOT 자료형 캐스팅(자료형 변환) 포인터 x 역참조 x의 주소 자료형의 크기 |
← |
| 3 | * / % |
곱셈 나눗셈 나머지 |
→ |
| 4 | + - |
덧셈 뺄셈 |
→ |
| 5 | << >> |
비트를 왼쪽으로 시프트 비트를 오른쪽으로 시프트 |
→ |
| 6 | < <= > >= |
작음 작거나 같음 큼 크거나 같음 |
→ |
| 7 | == != |
같음 다름 |
→ |
| 8 | & | 비트 AND | → |
| 9 | ^ | 비트 XOR | → |
| 10 | | | 비트 OR | → |
| 11 | && | 논리 AND | → |
| 12 | || | 논리 OR | → |
| 13 | ? : | 삼항 연산자 | ← |
| 14 | = += -= *= /= %= <<= >>= &= ^= |= |
할당 덧셈 후 할당 뺄셈 후 할당 곱셈 후 할당 나눗셈 후 할당 나머지 연산 후 할당 비트를 왼쪽으로 시프트한 후 할당 비트를 오른쪽으로 시프트한 후 할당 비트 AND 연산 후 할당 비트 XOR 연산 후 할당 비트 OR 연산 후 할당 |
← |
| 15 | , | 쉼표(콤마) 연산자 | → |
표 출처 :https://dojang.io/mod/page/view.php?id=188
이미지 출처 : 윤성우의 열혈 C 프로그래밍
'C' 카테고리의 다른 글
| 명령 프롬프트 / CMD(Command Prompt) (0) | 2023.05.08 |
|---|---|
| 키보드 정수 입력에 대해서! (0) | 2023.05.08 |
| 변수에 대해서! (0) | 2023.05.08 |
| C언어 구조 파악! (0) | 2023.05.08 |
| C언어란? (0) | 2023.05.08 |







