C언어 산술 연산자의 연산별 간단한 예제

C언어에서 산술 연산자는 사칙연산과 나머지(% )구하기를 말합니다. 나눗셈의 경우 정수에서 정수를 나눠도 실수인 답이 있으므로 자료형 선택에 유의해야 합니다.

C언어 산술 연산자

산술 연산자는 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/) 그리고 나머지(%)를 말합니다. 나머지란 나눗셈에서 몫을 제외한 나머지를 의미합니다.

연산자 예제 의미
+ x + y 덧셈
- x - y 뺄셈
* x * y 곱셈
/ x / y 나눗셈
% x % y 나머지

자료형이 정수형, 실수형이냐에 따라서 연산 결과가 달라질 수 있습니다. 정수는 -3, -2, -1과 같은 음의 정수, 0 그리고 +1, +2, +3과 같은 양의 정수를 말합니다.

실수는 정수 보다 큰 범위의 수입니다. 허수를 제외한 유한 소수(0.3), 유리수(1/3), 무리수(√2), 순환 소수(0.3333...) 등이 모두 포함된 범위입니다.

덧셈 연산자

C언어 덧셈은 + 기호를 사용해서 연산합니다.

#include<stdio.h>
void main() {
	int x = 2; //정수 자료형(int) 조건으로 변수 x를 생성하고 정수 2를 대입했습니다.
	int y = 3; //정수 자료형(int) 조건으로 변수 y를 생성하고 정수 3을 대입했습니다.
	int z; //정수 자료형(int) 조건으로 변수 z를 생성했지만, 변수값은 지정하지 않았습니다.
	z = x + y; //변수 z에 변수 x와 변수 y의 값을 더해서 저장합니다.

	printf("%d", z); //정수형 자료형(%d)으로 변수 z에 저장된 변수값(x + y)을 출력합니다.
}

결과

5

소수와 같은 실수 범위를 더할 경우 변수 선언시 자료형을 실수(float)로 변환하고, 출력시(printf) 자료형도 실수(%f)로 변환해야 합니다. 또한 실수의 경우 출력시 기본 소수 여섯자릿수까지 출력됩니다. 적절한 자릿수 조절이 필요합니다.

#include<stdio.h>
void main() {
	float x = 0.3; //실수형(float) 자료형 조건으로 변수 x를 생성하고, 변수값에 실수 0.3를 대입합니다.
	float y = 4.2; //실수형(float) 자료형 조건으로 변수 y를 생성하고, 변수값에 실수 4.2를 대입합니다.
	float z; //실수형(float) 자료형 조건으로 변수 z를 생성하지만, 변수값은 비워둡니다.
	z = x + y; //변수 z에 변수 x와 변수 y의 합계를 삽입합니다.

	printf("%2.1f", z); //실수형(float) 자료(%f)로 변수 z에 삽입된 값(x + y)을 출력합니다. 출력시 자릿수는 2.1로 결정되며 2는 전체 자릿수 개수 0.1은 소수 자릿수의 개수를 정의합니다.
}

결과

4.5

뺄셈 연산자

C언어 뺄셈은 - 기호를 사용해서 연산합니다.

#include<stdio.h>
void main() {
	int x = 2; //정수 자료형(int) 조건으로 변수 x를 생성하고 정수 2를 대입했습니다.
	int y = 3; //정수 자료형(int) 조건으로 변수 y를 생성하고 정수 3을 대입했습니다.
	int z; //정수 자료형(int) 조건으로 변수 z를 생성했지만, 변수값은 지정하지 않았습니다.
	z = x - y; //변수 z에 변수 x에서 변수 y를 뺀 값을 저장합니다.

	printf("%d", z); //정수형 자료형(%d)으로 변수 z에 저장된 변수값(x - y)을 출력합니다.
}

결과

-1

곱셈 연산자

C언어 곱셈은 * 기호를 사용해서 연산합니다.

#include<stdio.h>
void main() {
	int x = 3;
	int y = 4;
	int z;
	z = x * y;

	printf("%d", z);
}

결과

12

나눗셈 연산자

C언어 나눗셈에서는 / 기호를 사용합니다. 나눗셈의 경우 정수 / 정수 = 실수 형태인 경우가 있을 수 있습니다. 그럴 경우 자료형을 실수형으로 적절히 변환해야 합니다. 예를 들어 5 / 2 = 2.5 수식에서 52는 정수이지만 결과인 2.5는 소수이므로 실수입니다. 아래와 같이 예제를 짤 경우 답은 2.5가 아닌 2로 정수 형태로 출력됩니다. 이 경우는 나눗셈이 아니라 몫을 구한 경우라고 볼 수 있습니다.

#include<stdio.h>
void main() {
	int x = 5; //정수 자료형(int)으로 변수 x를 지정하고, 변수값 5를 대입합니다.
	int y = 2; //정수 자료형(int)으로 변수 y를 지정하고, 변수값 2를 대입합니다.
	int z; //정수 자료형(int)으로 변수 z를 지정하고, 변수값은 비워둡니다.
	z = x / y; //변수 z에 변수 x를 변수 y로 나눈 값을 저장합니다.

	printf("%d", z); //정수 자료형(%d)으로 변수 z에 삽입된 변수값(x / y)을 출력합니다.
}

결과

2

몫이 아닌 나눗셈의 정확한 연산을 구해야 할 경우 변수 선언시 자료형을 실수형(float)로 변경해야 하고, 출력 함수에서도 자료형을 실수형(%f)로 변경해줘야 합니다.

#include<stdio.h>
void main() {
	float x = 5; //실수 자료형(float)으로 변수 x를 지정하고, 변수값 5를 대입합니다.
	float y = 2; //실수 자료형(float)으로 변수 y를 지정하고, 변수값 2를 대입합니다.
	float z; //실수 자료형(float)으로 변수 z를 지정하고, 변수값은 비워둡니다.
	z = x / y; //변수 z에 변수 x를 변수 y로 나눈 값을 저장합니다.

	printf("%2.1f", z); //실수 자료형(%f)으로 변수 z에 삽입된 변수값(x / y)을 출력합니다. 자릿수는 2.1로 숫자 2는 총 자리수를 의미하며 소수 자릿수 0.1은 소수 한 자리를 의미합니다.
}

결과

2.5

나머지 연산자

C언어 나머지 연산은 % 기호를 사용합니다. 5에서 3을 나누면 몫은 1이고 나머지는 2입니다.

#include<stdio.h>
void main() {
	int x = 5;
	int y = 3;
	int z;
	z = x % y;

	printf("%d", z);
}

결과

2

나머지 연산자는 홀수/짝수를 구분할 때 자주 사용됩니다.