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