2장 연산자
2부 산술연산자
2부 산술연산자
연산자 첫 시간으로 우리가 가장 많이 사용해 온 산술연산자에
대해서 알아 보겠습니다.
먼저 산술연산자에 대해서 알아 보면
정의를 내리기 보다는 수학시간에 배운 사칙연산 +, -, *, / 를 생각하면 됩니다.
그리고 여기에서 %(나머지) 연산자도 산술 연산자에 포함이 됩니다.
그럼 간단한 산수 문제를 한번 내 보겠습니다.
x에 5을 넣고 y에 6을 넣습니다. 그럼 x + y 연산을 한 결과를
z에 넣으면, z는 얼마일까요!? 전부 z는 11이라고 하시겠죠?
그럼 이 말을 식으로 적으면, x + y = z라고 적으실 겁니다.
이 식이 바로 연산자를 사용한 식입니다. c언어라고 해서 다른 건 특별히 없습니다.
곧 말할 결합성 부분을 빼고는 다 같게 사용합니다.
그리고 이 식에서 나오는 연산자는 다음시간에 배울 대입 연산자(=)과 산술연산자(+)가
있다는 것을 알 수 있습니다.
여기에서 이제 중요한 것을 말할 것입니다.
방금 제가 위에서 결합성이라는 단어를 이야기 하였는데요.
이 것은 무엇인지 알기 위해 먼저 우선순위라는 것에 대해서 알아 보면
우선순위는 +와 * 연산자가 같이 있을 경우 *연산을 먼저 실행한 후 +연산을 실행하는 것입니다.
여기서 만약 + 와 +가 있다면 어떤 연산자를 실행해야 되는가 하는 문제가 생기는 데 이것이
결합성 입니다.
+, -, *, /, %연산은 모두 왼쪽에서 오른쪽으로 결합성이 이루어 진다는 것은 알고 있을 것입니다.
하지만 대입(=)연산자는 수학에서는 왼쪽에서 오른쪽이지만
c언어에서는 오른쪽에서 왼쪽으로 결합성이 이루어 집니다.
즉, c언어 코드로 변환을 시킨다면
z = x + y;
이렇게 쓰여 지게 됩니다.
다음시간에 다시 대입연산자에 대해서 이야기를 하겠지만
수학 연산과 차이가 있는 부분이기 때문에 꼭 알고 있어야 되는 부분입니다.
그리고 나머지 연산자(%)에 대해서 말을 해 보겠습니다.
나머지 연산자는 말그대로 나눗셈의 나머지 값을 구하는 연산자 입니다.
예를 들어 11/5를 하게 되면 몫은 2가 나오고 나머지는 1이 나오게 됩니다.
여기서 우리는 나머지인 1을 구하고 싶을 때 사용을 합니다.
즉 코드로 표현한다면,
x = 11 % 5;
이렇게 나타 내면 됩니다.
여기까지가 기본적인 산술연산자에 대하여 간단하게 이야기를 해 보았습니다.
다음 시간에는 부호연산자와 대입 연산자에 대해서 알아 보도록 하겠습니다.
산술 연산을 사용한 예제
===========================================
#include <stdio.h>
int main()
{
int integer1, integer2;
int add, mul, sub, div, mod;
printf("계산할 첫번째 숫자를 입력하세요 : ");
scanf("%d", &integer1);
printf("계산할 두번째 숫자를 입력하세요 : ");
scanf("%d", &integer2);
add = integer1 + integer2;
printf("두 값을 더한 결과는 : %d\n", add);
sub = integer1 - integer2;
printf("두 값을 뺀 결과는 : %d\n", sub);
mul = integer1 * integer2;
printf("두 값을 곱한 결과는 : %d\n", mul);
div = integer1 / integer2;
printf("두 값을 나눈 결과는 : %d\n", div);
mod = integer1 % integer2;
printf("두 값을 나눈 후 나머지 결과는 : %d\n", mod);
return 0;
}
===========================================
'C Language > Programming Course' 카테고리의 다른 글
2장 연산자(4부 관계연산자) 첫번째 시간 (0) | 2009.06.24 |
---|---|
2장 연산자(3부 부호연산자와 대입연산자) 첫번째 시간 (0) | 2009.06.23 |
2장 연산자(1부 개요) 첫번째 시간 (0) | 2009.06.22 |
1장 입력과 출력(4부 문제 풀기) 첫번째 시간 (0) | 2009.06.05 |
1장 입력과 출력(3부 입력하기) 첫번째 시간 (0) | 2009.06.05 |