C언어 공부 0003
구문과 연산
연산
- 연산은 말 그대로 계산이다.
- 즉, 계산을 위해서는 연산자가 필요하다.
연산자
- 대입
a = b: a에 b의 값을 대입
- 산술
a + b: a에 b를 더함a - b: a에 b를 빼줌a * b: a에 b를 곱함a / b: a를 b로 나눈 값 혹은 몫a % b: a를 b로 나눈 나머지
- 복합 대입
a += b: a에 b를 더한 값을 a에 대입a -= b: a에 b를 빼준 값을 a에 대입a *= b: a에 b를 곱한 값을 a에 대입a /= b: a를 b로 나눈 값 혹은 몫을 a에 대입a %= b: a를 b로 나눈 나머지 값을 a에 대입
- 부호
+a: 양수 a를 의미하며, 주로 +는 생략-a: 음수 a
- 증감
a++: 해당 구문이 실행되고 난 다음, a의 값을 1 증가++a: 해당 구문이 실행될 때, a의 값을 1 증가a--: 해당 구문이 실행되고 난 다음, a의 값을 1 감소--a: 해당 구문이 실행될 때, a의 값을 1 감소
- 관계
a > b: a는 b보다 크다a < b: a는 b보다 작다a >= b: a는 b보다 크거나 같다a <= b: a는 b보다 작거나 같다a == b: a는 b와 같다a != b: a는 b와 다르다
- 논리
a && b: a AND ba || b: a OR ba!: NOT a
- 조건
a ? b : c: a가 참이면 b, a가 거짓이면 c를 택한다
- 콤마
A, B: A문장의 연산을 끝내고 나서, B연산을 수행
- 비트 단위
a & b: a와 b를 bit단위로 AND 연산 수행a | b: a와 b를 bit단위로 OR 연산 수행a ^ b: a와 b를 bit단위로 XOR 연산 수행a~: NOT a(bit단위)a << n: a의 값을 왼쪽으로 n비트만큼 이동a >> n: a의 값을 오른쪽으로 n비트만큼 이동
- 포인터
*a: a가 가리키는 값&a: a의 주소값a[b]: array a의 b+1번째 원소(array는 0번째 부터 시작)
- 구조체
a.b: 구조체 타입 a의 속성 ba->b: 동적으로 생성된 구조체 타입 a의 속성 b