세리프 따라잡기
쉽게 풀어쓴 C언어 Express(개정3판): 5장 정리 본문
Chapter. 5 수식과 연산자
4-1
- a = 5; → a(lv는 '변수'만 가능) = 5(rv는 변수, 상수, 수식, 함수식 등이 올 수 있음);
- % = 나머지 연산 ex) a=10;, b=6; a%b('정수 연산'만 가능)=4
- 관계 연산자에서의 '같다'는 '=='을 쓴다. 하나만 쓸 경우 대입 연산자가 됨. '!=' 같지 않다는 뜻. 값은 항상 논리값(T-1, F-0)으로 나온다.
- AND(&&), OR(||), NOT(!)
- 형변환(=cast 연산)
- 단항: 1, 2, 3, 산(술)관(계)논(리), 대소 등가, !&&|| (not, and, or 순) → 이 4가지만 외우면 연산자 우선 순위를 알 수 있다.
- 이항: 사칙연산
- 삼항: 조건 연산자라고 불리움. ex) x?y:z = x가 참일 시 y가, x가 거짓일 시 z가 수행된다.
- 대입, 할당 연산자가 우선 순위가 가장 낮다.
- 그 중에서도 콤마(,)가 제일 마지막.
- 단항과 대입은 ←방향, 나머지는 전부 →방향이다.
- 무엇이든 간에 정수(int)보다 낮은 자료형과 연산이 된다면 = 정수형으로 나옴.
- 어떤 것이든 실수와 연산되면 = 무조건 실수형으로 나옴.
연산 결과는 '큰 타입'이 나온다.
- but, 문자형 * 문자형 = 정수형.
- %연산은 실수가 사용될 수도, 값이 나올 수도 없다.
어쨌든 연산이 수행되면 무조건 정수형으로 나옴. (정수형보다 작은 데이터 타입으로 하면)
4-2
= 앞에 붙은 경우(직전, 즉시 연산)와 뒤에 붙은 경우(직후, 먼저 대입 후 연산)
복합 대입 연산자의 의미
- Q1. x*=y+1 → x=x(y+1)
- Q2. x%=x+y → x=x%(x+y)
관계 연산자의 의미
논리 연산자의 의미
- 우선순위: 차례대로 2, 3, 1위 순. = not! and& or|
참과 거짓의 표현 방법 (부정)
4-3
조건 연산자(=삼항 연산자)
콤마(,) 연산자
- x=10일 때 x, (1 + x++)+2 의 순서는 괄호 먼저다. 괄호 안에 단항, 이항 순서대로 함. → 값은 x=11, 13.
비트 연산자
- <<은 *2한 값이 나오고 >>은 /2한 값이 나옴.
명시적인 형변환(일시적=cast)
수식과 연산자 파트는 암기하는 것이 가장 좋다.
'C' 카테고리의 다른 글
쉽게 풀어쓴 C언어 Express(개정3판): 3장 프로그래밍 풀이 (0) | 2020.09.11 |
---|
Comments