산술, 증감, 대입, 비교 연산자
요약
산술 연산자(+, -, *, /, %), 증감 연산자(++, --), 대입 연산자(=, +=), 비교 연산자(==, !=)를 알아봅니다. 정보처리기사 실기에 자주 출제되는 기초 연산자를 C/Java/Python 언어별로 정리합니다.
기초 연산자 핵심 정리
| 분류 | 연산자 | 설명 |
|---|---|---|
| 산술 | + - * / % | 사칙연산과 나머지 |
| 증감 | ++ -- | 1 증가 / 1 감소 |
| 대입 | = += -= *= /= %= | 값 저장 및 복합 대입 |
| 비교 | == != < > <= >= | 두 값을 비교하여 참/거짓 반환 |
산술 연산자
산술 연산자는 숫자의 사칙연산과 나머지를 구하는 연산자입니다.
| 연산자 | 이름 | 예시 | 결과 |
|---|---|---|---|
+ | 덧셈 | 5 + 3 | 8 |
- | 뺄셈 | 5 - 3 | 2 |
* | 곱셈 | 5 * 3 | 15 |
/ | 나눗셈 | 5 / 3 | 아래 참고 |
% | 나머지 | 5 % 3 | 2 |
나눗셈 (/)
C언어에서 정수끼리 나누면 소수점이 버려지고 몫만 남습니다.
| 연산 | 결과 | 설명 |
|---|---|---|
10 / 3 | 3 | 정수 / 정수 = 정수 (소수점 버림) |
10.0 / 3 | 3.333... | 실수 / 정수 = 실수 |
10 / 3.0 | 3.333... | 정수 / 실수 = 실수 |
Java에서도 정수끼리 나누면 소수점이 버려지고 몫만 남습니다.
| 연산 | 결과 | 설명 |
|---|---|---|
10 / 3 | 3 | 정수 / 정수 = 정수 (소수점 버림) |
10.0 / 3 | 3.333... | 실수 / 정수 = 실수 |
10 / 3.0 | 3.333... | 정수 / 실수 = 실수 |
Python에서는 /와 // 두 가지 나눗셈 연산자가 있습니다.
| 연산자 | 이름 | 결과 | 예시 |
|---|---|---|---|
/ | 실수 나눗셈 | 항상 실수(float) | 10 / 3 = 3.333... |
// | 정수 나눗셈 | 소수점 버림 | 10 // 3 = 3 |
나머지 연산자 (%)
나머지 연산자 % 는 나눗셈의 나머지를 구합니다. 모듈로(Modulo) 연산이라고도 합니다.
5 % 3은 5를 3으로 나눈 나머지입니다. 5 / 3의 몫은 1이고 나머지가 2이므로 결과는 2입니다.
| 연산 | 몫 (/) | 나머지 (%) |
|---|---|---|
5 / 3, 5 % 3 | 1 | 2 |
10 / 4, 10 % 4 | 2 | 2 |
7 / 10, 7 % 10 | 0 | 7 |
12 / 3, 12 % 3 | 4 | 0 |
나머지 연산 활용
증감 연산자
증감 연산자는 변수의 값을 1 증가(++) 하거나 1 감소(--) 시키는 연산자입니다.
| 표현 | 이름 | 동작 |
|---|---|---|
++a | 전위 증가 | 먼저 증가, 그 다음 값 사용 |
a++ | 후위 증가 | 먼저 값 사용, 그 다음 증가 |
--a | 전위 감소 | 먼저 감소, 그 다음 값 사용 |
a-- | 후위 감소 | 먼저 값 사용, 그 다음 감소 |
단독 사용 시 (차이 없음)
증감 연산자를 단독으로 사용하면 전위/후위 모두 결과가 같습니다.
for문의 증감식에서도 결과가 같습니다.
값을 사용할 때 (차이 있음)
증감 결과를 다른 변수에 대입하거나 수식 안에서 사용할 때 전위/후위의 차이가 나타납니다.
| 코드 | 실행 순서 | 변수 값 | 대입 값 |
|---|---|---|---|
a = ++i; (i=5) | 증가 -> 대입 | i = 6 | a = 6 |
b = j++; (j=5) | 대입 -> 증가 | j = 6 | b = 5 |
감소 연산자 (--)
--도 ++과 동일한 규칙으로 동작합니다.
전위/후위 정리
| 코드 | 출력 | 출력 후 x 값 |
|---|---|---|
printf("%d", ++x) (x=10) | 11 | 11 |
printf("%d", x++) (x=11) | 11 | 12 |
증감 연산자는 변수의 값을 1 증가(++) 하거나 1 감소(--) 시키는 연산자입니다.
| 표현 | 이름 | 동작 |
|---|---|---|
++a | 전위 증가 | 먼저 증가, 그 다음 값 사용 |
a++ | 후위 증가 | 먼저 값 사용, 그 다음 증가 |
--a | 전위 감소 | 먼저 감소, 그 다음 값 사용 |
a-- | 후위 감소 | 먼저 값 사용, 그 다음 감소 |
단독 사용 시 (차이 없음)
증감 연산자를 단독으로 사용하면 전위/후위 모두 결과가 같습니다.
for문의 증감식에서도 결과가 같습니다.
값을 사용할 때 (차이 있음)
증감 결과를 다른 변수에 대입하거나 수식 안에서 사용할 때 전위/후위의 차이가 나타납니다.
| 코드 | 실행 순서 | 변수 값 | 대입 값 |
|---|---|---|---|
a = ++i; (i=5) | 증가 -> 대입 | i = 6 | a = 6 |
b = j++; (j=5) | 대입 -> 증가 | j = 6 | b = 5 |
감소 연산자 (--)
--도 ++과 동일한 규칙으로 동작합니다.
전위/후위 정리
| 코드 | 출력 | 출력 후 x 값 |
|---|---|---|
System.out.println(++x) (x=10) | 11 | 11 |
System.out.println(x++) (x=11) | 11 | 12 |
Python에는 ++나 -- 증감 연산자가 없습니다. 대신 +=와 -=를 사용합니다.
| C/Java | Python | 설명 |
|---|---|---|
a++ 또는 ++a | a += 1 | 1 증가 |
a-- 또는 --a | a -= 1 | 1 감소 |
대입 연산자
단순 대입 (=)
=는 오른쪽 값을 왼쪽 변수에 저장하는 연산자입니다. 수학의 "같다"와는 다릅니다.
복합 대입 연산자
복합 대입 연산자는 연산과 대입을 한 번에 수행합니다.
| 연산자 | 의미 | 예시 (a = 10) | 결과 |
|---|---|---|---|
+= | 더하고 대입 | a += 3 | a = 13 |
-= | 빼고 대입 | a -= 3 | a = 7 |
*= | 곱하고 대입 | a *= 2 | a = 20 |
/= | 나누고 대입 | a /= 3 | a = 3 |
%= | 나머지 대입 | a %= 3 | a = 1 |
| 연산자 | 의미 | 예시 (a = 10) | 결과 |
|---|---|---|---|
+= | 더하고 대입 | a += 3 | a = 13 |
-= | 빼고 대입 | a -= 3 | a = 7 |
*= | 곱하고 대입 | a *= 2 | a = 20 |
/= | 나누고 대입 | a /= 3 | a = 3 |
%= | 나머지 대입 | a %= 3 | a = 1 |
| 연산자 | 의미 | 예시 (a = 10) | 결과 |
|---|---|---|---|
+= | 더하고 대입 | a += 3 | a = 13 |
-= | 빼고 대입 | a -= 3 | a = 7 |
*= | 곱하고 대입 | a *= 2 | a = 20 |
//= | 정수 나누고 대입 | a //= 3 | a = 3 |
%= | 나머지 대입 | a %= 3 | a = 1 |
비교 연산자
비교 연산자는 두 값을 비교하여 참 또는 거짓을 반환합니다.
C언어에서 참은 1(또는 0이 아닌 값), 거짓은 0입니다.
| 연산자 | 의미 | 예시 | 결과 |
|---|---|---|---|
== | 같다 | 5 == 5 | 1 (참) |
!= | 같지 않다 | 5 != 3 | 1 (참) |
< | 작다 | 3 < 5 | 1 (참) |
> | 크다 | 3 > 5 | 0 (거짓) |
<= | 작거나 같다 | 5 <= 5 | 1 (참) |
>= | 크거나 같다 | 3 >= 5 | 0 (거짓) |
Java에서 비교 연산의 결과는 boolean 타입으로, true 또는 false입니다.
| 연산자 | 의미 | 예시 | 결과 |
|---|---|---|---|
== | 같다 | 5 == 5 | true |
!= | 같지 않다 | 5 != 3 | true |
< | 작다 | 3 < 5 | true |
> | 크다 | 3 > 5 | false |
<= | 작거나 같다 | 5 <= 5 | true |
>= | 크거나 같다 | 3 >= 5 | false |
Python에서 비교 연산의 결과는 True 또는 False입니다.
| 연산자 | 의미 | 예시 | 결과 |
|---|---|---|---|
== | 같다 | 5 == 5 | True |
!= | 같지 않다 | 5 != 3 | True |
< | 작다 | 3 < 5 | True |
> | 크다 | 3 > 5 | False |
<= | 작거나 같다 | 5 <= 5 | True |
>= | 크거나 같다 | 3 >= 5 | False |
== (같다) vs = (대입)
==는 비교 연산자(두 값이 같은지 확인), =는 대입 연산자(값을 저장)입니다. 헷갈리지 않도록 주의하세요.
!= (같지 않다)
!=는 두 값이 다를 때 참을 반환합니다. while문의 조건에서 자주 사용됩니다.
기출문제에서 자주 나오는 패턴으로, 문자열의 끝('\0')을 찾는 데 사용됩니다.
| a 값 | str[a] | str[a] != '\0' | 동작 |
|---|---|---|---|
| 0 | 'H' | 참 | ++a (a=1) |
| 1 | 'E' | 참 | ++a (a=2) |
| 2 | 'L' | 참 | ++a (a=3) |
| 3 | 'L' | 참 | ++a (a=4) |
| 4 | 'O' | 참 | ++a (a=5) |
| 5 | '\0' | 거짓 | 루프 종료 |
비교 연산자의 활용: 조건문과 반복문
비교 연산자는 주로 조건문(if) 과 반복문(while, for) 에서 사용됩니다.