산술 연산자 개요
산술 연산자는 수학적 계산을 수행하는 데 사용되는 기본적인 연산자입니다. C++에서 제공하는 주요 산술 연산자는 다음과 같습니다.
1. 덧셈 +
2. 뺄셈 -
3. 곱셈 *
4. 나눗셈 /
5. 나머지 %
이 연산자들을 이용하여 다양한 수학적 계산을 프로그램 내에서 수행할 수 있습니다.
기본 산술 연산자
덧셈 연산자 +
덧셈 연산자는 두 개의 피연산자를 더합니다.
뺄셈 연산자 -
뺄셈 연산자는 첫 번째 피연산자에서 두 번째 피연산자를 뺍니다.
곱셈 연산자 *
곱셈 연산자는 두 개의 피연산자를 곱합니다.
나눗셈 연산자 /
나눗셈 연산자는 첫 번째 피연산자를 두 번째 피연산자로 나눕니다. 주의할 점은 정수 나눗셈과 실수 나눗셈의 결과가 다르다는 것입니다.
주의 : 정수 나눗셈의 경우, 결과도 정수가 되며 소수점 이하는 버려집니다.
나머지 연산자 %
나머지 연산자는 첫 번째 피연산자를 두 번째 피연산자로 나눈 나머지를 구합니다. 이 연산자는 정수형 피연산자에만 사용할 수 있습니다.
주의 : 나머지 연산자를 사용할 때 두 번째 피연산자(나누는 수)가 0이 되지 않도록 주의해야 합니다. 0으로 나누면 프로그램이 런타임 에러를 발생시킵니다.
복합 대입 연산자
복합 대입 연산자는 산술 연산과 대입을 결합한 연산자입니다.
이를 사용하면 코드를 더 간결하게 작성할 수 있습니다.
+=
: 덧셈 후 대입
-=
: 뺄셈 후 대입
*=
: 곱셈 후 대입
/=
: 나눗셈 후 대입
%=
: 나머지 연산 후 대입
증가/감소 연산자
증가++
및 감소--
연산자는 변수의 값을 1 증가시키거나 감소시키는 연산자입니다.
이 연산자들은 전위(prefix) 형식과 후위(postfix) 형식으로 사용할 수 있으며, 그 동작에 차이가 있습니다.
주의 : 전위 연산자는 변수의 값을 먼저 변경한 후 그 값을 사용하지만, 후위 연산자는 현재 값을 사용한 후 변수의 값을 변경합니다.
연산자 우선순위
산술 연산자들 사이에도 우선순위가 있습니다.
기본적인 우선순위는 다음과 같습니다.
- 증가/감소
++
, --
- 곱셈, 나눗셈, 나머지
*
, /
, %
- 덧셈, 뺄셈
+
, -
괄호를 사용하여 우선순위를 명시적으로 지정할 수 있습니다.
주의사항
1. 정수 나눗셈에서의 버림 : 정수 나눗셈의 결과는 항상 정수입니다. 소수점 이하는 버려집니다.
2. 0으로 나누기 : 0으로 나누는 연산은 정의되지 않으며, 프로그램이 런타임 에러를 발생시킵니다.
3. 오버플로우와 언더플로우 : 변수가 저장할 수 있는 범위를 넘어서는 값을 계산하면 오버플로우나 언더플로우가 발생할 수 있습니다.
4. 부동소수점 연산의 정밀도 : 부동소수점 연산은 근사값을 사용하므로, 정확한 값을 기대하기 어려울 수 있습니다.
연습 문제
- 다음 연산의 결과를 예측해보고, 프로그램을 작성하여 확인해보세요.
a) 15 / 4
b) 15 % 4
c) 15.0 / 4
d) 3 + 4 * 2
e) (3 + 4) * 2
- 섭씨 온도를 화씨 온도로 변환하는 프로그램을 작성하세요. 변환 공식 : (섭씨 * 9/5) + 32
- 증가/감소 연산자의 전위 형식과 후위 형식의 차이를 보여주는 프로그램을 작성하세요.
- 사용자로부터 원의 반지름을 입력받아 원의 면적과 둘레를 계산하는 프로그램을 작성하세요. (π 값은 3.14159를 사용하세요)
- 두 정수를 입력받아 사칙연산과 나머지 연산의 결과를 모두 출력하는 프로그램을 작성하세요.
참고자료