연산자 정리 250324 - DKDUD123/ex250310_first GitHub Wiki
산술 연산자는 정수 또는 실수 값을 계산할 때 사용하는 연산자입니다.
-
+
: 덧셈. 두 수를 더합니다. →a + b
-
-
: 뺄셈. 앞 수에서 뒤 수를 뺍니다. →a - b
-
*
: 곱셈. 두 수를 곱합니다. →a * b
-
/
: 나눗셈. 앞 수를 뒤 수로 나눕니다. →a / b
- 정수 나눗셈은 몫만 반환. 예:
10 / 3
→3
- 정수 나눗셈은 몫만 반환. 예:
-
%
: 나머지. 나눈 후의 나머지를 구합니다. →a % b
- 정수형에서만 사용 가능 (
int
끼리만)
- 정수형에서만 사용 가능 (
예시
int a = 10, b = 3;
printf("%d\n", a + b); // 13
printf("%d\n", a % b); // 1
관계 연산자는 두 값을 비교하여 참(1
) 또는 거짓(0
)을 반환합니다.
조건문(if
, while
)에서 자주 사용됩니다.
-
==
: 같다 →a == b
-
!=
: 같지 않다 →a != b
-
>
: 보다 크다 →a > b
-
<
: 보다 작다 →a < b
-
>=
: 크거나 같다 →a >= b
-
<=
: 작거나 같다 →a <= b
예시
int a = 5, b = 10;
if (a < b) printf("a는 b보다 작다\n");
⚠️ 주의
-
=
(대입)과==
(비교)를 혼동하지 않도록 주의!
논리 연산자는 참/거짓을 판별하거나, 조건식을 조합할 때 사용됩니다.
-
&&
: AND. 두 조건이 모두 참이면 참 →(a > 0 && b > 0)
-
||
: OR. 두 조건 중 하나라도 참이면 참 →(a > 0 || b > 0)
-
!
: NOT. 조건을 반대로 뒤집음 →!(a > b)
예시
if (a > 0 && b < 10) { ... }
if (!(a == b)) { ... }
⚠️ 주의
-
&&
,||
는 왼쪽부터 계산하고 결과가 확정되면 오른쪽은 생략함 (short-circuit evaluation)
대입 연산자는 변수에 값을 저장하거나 누적 계산 결과를 저장할 때 사용됩니다.
-
=
: 대입. 오른쪽 값을 왼쪽 변수에 저장 →a = 5
-
+=
: 더해서 저장 →a += 2
→a = a + 2
-
-=
: 빼서 저장 →a -= 2
→a = a - 2
-
*=
: 곱해서 저장 →a *= 2
→a = a * 2
-
/=
: 나눠서 저장 →a /= 2
→a = a / 2
-
%=
: 나머지를 저장 →a %= 2
→a = a % 2
예시
int a = 5;
a += 3; // a = 8
a *= 2; // a = 16
증감 연산자는 **변수의 값을 1 증가(++
) 또는 1 감소(--
)**시킬 때 사용합니다.
전위형과 후위형에 따라 동작 순서가 달라집니다.
-
++a
: 전위 증가. 먼저 1 증가하고 이후 사용됨 -
a++
: 후위 증가. 먼저 사용되고 나중에 1 증가 -
--a
/a--
도 동일한 방식으로 감소
예시
int a = 5;
printf("%d\n", ++a); // 6 (전위: 증가 후 출력)
printf("%d\n", a++); // 6 (후위: 출력 후 증가)
printf("%d\n", a); // 7
⚠️ 주의
- 전위/후위의 차이를 이해하는 것이 중요함.
- 표현식 속에서 사용될 경우 결과가 달라질 수 있음