5.1 수식과 연산자
수식
변수, 상수, 연산자의 조합
연산자와 피연산자로 구성
연산자의 분류
대입, 산술, 부호, 증감, 관계, 논리, 조건, 콤마, 비트 단위 연산자, sizeof 연산자, 형 변환, 포인터 연산자, 구조체 연산자
연산자의 분류 (피연산자의 수)
단항 연산자: 피연산자의 수가 1개
이항 연산자: 피연산자의 수가 2개
삼항 연산자: 피연산자의 수가 3개
산술 연산자
덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산을 실행하는 기본적인 산술 연산자
부호 연산자
변수나 상수의 부호를 나타내거나 변경하는 연산자
증감 연산자
변수 값을 하나 증가시키거나 감소시키는 연산자
++x, x++, --x, x--
5.2 대입 연산자
복합 대입 연산자
대입 연산자와 산술 연산자를 합친 연산자
x += y, x -= y, x *= y, x /= y, x %= y, x &= y, x |= y, x ^= y, x >>= y, x <<= y
5.3 관계 연산자
관계 연산자
두 피연산자를 비교하여 참(1) 혹인 거짓(0) 반환하는 연산자
x == y, x != y, x > y, x < y, x >= y, x <= y
5.4 논리 연산자
논리 연산자
AND, OR, NOT을 이용하여 참 또는 거짓 반환하는 연산자
x && y, x || y, !x
단축 계산
&&: 첫 번째 피연산자의 값이 거짓이면 다른 피연산자들은 계산되지 않음
||: 첫 번째 피연산자의 값이 참이면 다른 피연산자들은 계산되지 않음
5.5 조건 연산자
조건 연산자
유일하게 3개의 피연산자를 갖는 3항 연산자
CONDITION ? TRUE : FALSE
5.6 콤마 연산자
콤마 연산자
콤마로 연결된 수식은 순차적으로 계산
5.7 비트 연산자
비트 연산자
비트 단위로 연산을 수행하는 연산자
&, |, ^, ~
비트 이동 연산자
지정된 숫자만큼 전체 비트를 이동시키는 연산자
<<, >>
5.8 형 변환
형 변환
실행 중에 데이터의 타입을 변경
자동적인 형 변환
대입 연산 - 대입 연산자의 오른쪽에 있는 값은 왼쪽에 있는 변수의 자료형으로 자동적으로 변환
정수 연산 - 정수 연산 시 char 형이나 short 형의 경우, 자동적으로 int 형으로 변환하여 계산
수식 연산 - 서로 다른 자료형이 혼합하여 사용되는 경우, 더 큰 자료형으로 통일
명시적인 형 변환
(int)1.23456
(double) x
(long) (x+y)
5.9 연산자의 우선순위와 결합 규칙
연산자의 우선순위
많은 연산들 중에서 어떤 연산을 먼저 수행할지를 결정하는 규칙
콤마 < 대입 < 논리 < 관계 < 산술 < 단항 < 괄호
결합 규칙
같은 우선 순위의 연산자들에 대하여 무엇을 먼저 수행할 것인지에 대한 규칙
'잠든 카테고리 > 쉽게 풀어쓴 C언어 Express' 카테고리의 다른 글
07-7.1(반복의 개념)~7.7(break와 continue) (0) | 2022.04.28 |
---|---|
06-6.1(제어문)~6.6(goto 문) (0) | 2022.04.28 |
04-4.1(변수와 상수)~4.5(문자형) (0) | 2022.04.17 |
03-3.1("덧셈"프로그램#1)~3.9("덧셈"프로그램 #2) (0) | 2022.04.17 |
02-2.1(프로그램 개발 과정)~2.7(오류 수정) (0) | 2022.04.17 |