연산자

✒️ 2025-05-15 15:49 내용 수정

수제비 2024 정보처리기사 필기 5판 1권의 내용을 정리
TCPSchool의 내용을 정리


프로그램 산술식이나 연산식을 포현하고 처리하기 위한 기호

연산자 종류와 우선순위

순위 종류 연산자 결합방향
1 후위 증감 연산자 ++, -- 왼->오
함수 호출 () 왼->오
첨자 연산 [] 왼->오
참조에 의한 선택 . 왼->오
포인터를 통한 선택 -> 왼->오
2 논리 NOT 연산자 ! 오->왼
비트 NOT 연산자 ~ 오->왼
양의 부호 + 오->왼
음의 부호 - 오->왼
전위 증가 연산자 ++ 오->왼
전위 감소 연산자 -- 오->왼
타입 변환 연산자 (타입) 오->왼
참조 연산 * 오->왼
주소 연산 & 오->왼
크기 size of 오->왼
3 곱셈 연산자 * 왼->오
나눗셈 연산자 / 왼->오
나머지 연산자 % 왼->오
4 덧셈 연산자 + 왼->오
뺄셈 연산자 - 왼->오
5 비트 왼쪽 시프트 << 왼->오
부호 비트 확장 오른쪽 시프트 >> 왼->오
6 관계 연산자 < 왼->오
관계 연산자 <= 왼->오
관계 연산자 > 왼->오
관계 연산자 >= 왼->오
7 관계 연산자 == 왼->오
관계 연산자 != 왼->오
비트 AND 연산자 & 왼->오
비트 XOR 연산자 ^ 왼->오
비트OR 연산자 | 왼->오
논리 AND 연산자 && 왼->오
논리 OR 연산자 || 왼->오
삼항 조건 연산자 ? : 오->왼
대입/복합 대입 연산자 =, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |= 오->왼
쉼표 연산자 , 왼->오

산술 연산자

산술 연산자 설명
+ 덧셈
- 뺄셈
* 곱셈
/ 나눗셈 결과를 반환
% 나눗셈 후 나머지를 반환

대입 연산자

대입 연산자 설명
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 + 1;
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가 다르다

증감 연산자

증감 연산자 설명
++n n 값을 1 증가시키고 연산 진행
n++ 연산 진행 후 n 값을 1 증가시킴
--n n 값을 1 감소시키고 연산 진행
n-- 연산 진행 후 n 값을 1 감소시킴

논리 연산자

논리 연산자 설명
&& 논리 AND 연산. 논리식이 모두 true일 때 true 값을 반환
|| 논리 OR 연산. 논리식 중 하나라도 true일 때 true 값을 반환
! 논리 NOT 연산. 논리식 결과가 true일 때 false 값을, 결과가 false일 때 true 값을 반환

비트 연산자

비트 연산자 설명
& 논리 AND 연산, 두 항이 모두 true일 때 true 값을 반환
| 논리 OR 연산, 두 항 중 하나라도 true일 때 true 값을 반환
^ 논리 XOR 연산, 두 항이 다르면 true, 같으면 false
~ 논리 NOT 연산, 참을 거짓으로, 거짓을 참으로 체크. -(값+1)을 반환
<< 비트를 왼쪽으로 이동
>> 비트를 오른쪽으로 이동

삼항 연산자

조건식 ? 반환값1 : 반환값2

쉼표 연산자

int a = 1, b = 2;
printf("%d %d", a, b);

sizeof 연산자

int a = 1;
printf("%d", sizeof(a));

포인터 연산자

int n = 100; // 변수 선언
int *a = &n; // 포인터 선언