C언어에서는 연산이 매우 매우 중요하다고 할 수 있는데요.
예를 들어 1 부터 100까지 차례대로 적어주는 프로그램을 만든다고 가정하면,
반복도 중요하지만 숫자를 하나 하나 증가시켜주는 연산이 필요할것입니다.
이것을 도와주는것이 바로 '산술연산자' 입니다.
그 중에서도 오늘 배울것은 사칙연산과 같은 산술 연산을 배워볼것입니다.
실제로 변수를 가지고 직접 연산자를 이용한 연산을 해보셔야 체감하실 수 있습니다.
후에 나오는 연습 예제를 이용해 문제를 한번 풀어보세요!
100번 보는것보다 2~3번 코딩해 실행결과를 보는 것이 더 좋습니다 :D
그럼 산술연산자를 간단히 정리한 표를 봅시다.
산술연산자 표
연산자 | 연산방향 | 예 | 설명 | |
+ | → | A + B | A와 B를 더합니다. | |
- | → | A - B | A에서 B를 뺍니다. | |
* | → | A * B | A와 B를 곱합니다. | |
/ | → | A / B | A를 B로 나눈 몫을 연산합니다. | |
% | → | A % B | A를 B로 나눈 나머지를 연산합니다. |
위의 표로 간단한 연산자의 문법을 알아보았습니다.
아래에 연산자 각각의 예제와 설명을 아래에 정리해두었습니다.
+ 연산자 (덧셈)
+ 연산자는 다들 알다시피 덧셈을 하는 연산자입니다.
예를 하나 들어보겠습니다.
#include <stdio.h>
int main( )
{
int A = 3, B = 5;
int result; // 결과갚을 저장할 result 변수를 선언했습니다.
result = A + B;
return 0;
}
간단한 소스를 하나 작성해봤습니다.
여기에서 result의 값은 몇이 될까요?
빨간 색으로 표시된 구문을 살펴봅시다.
result = A + B;
이 구문은 " result 변수에 A(3)와 B(5)를 더한 값을 대입하겠다. " 라는 뜻을 가지고 있습니다.
식을 숫자로 풀어 써보면
result = 3 + 5; --> result = 8;
result 변수의 값은 8이 되는겁니다.
소스를 직접 작성해서 결과를 확인해보세요!
다른 예로는
A = A + A; 이런 문장을 이용해 배수를 출력하거나 하는 프로그램을 만들 수도 있습니다.
- 연산자 (뺄셈)
- 연산자는 당연하듯이 뺄셈을 하는 연산자입니다.
이것도 소스를 이용해 알아보겠습니다.
#include <stdio.h>
int main( )
{
int A = 5, B = 6;
int result;
result = A - B;
return 0;
}
자 여기에서의 result값은 얼마가 될까요?
위의 구문을 살펴봅시다.
result = A - B;
이 구문은 " A(5)에서 B(6)를 뺀 값을 result변수에 대입하겠다. " 라는 뜻을 가지고 있습니다.
이 식을 숫자로 풀어 써보면
result = 5 - 6; --> result = -1;
result 변수의 값은 -1이 됩니다. 5 - 6은 -1이니까요!
이것도 소스를 직접 작성해서 결과를 확인해보세요!
* 연산자 (곱셈)
* 연산자는 곱셈 연산을 하는 연산자입니다.
이 연산자도 소스를 이용해 알아보겠습니다.
#include <stdio.h>
int main( )
{
int A = 2, B = 3;
int result;
result = A * B;
printf("%d\n", result);
return 0;
}
자 여기에서의 result값은 얼마가 될까요?
위의 구문을 살펴봅시다.
result = A * B;
이 구문은 " A(2)와 B(3)를 곱한 값을 result변수에 대입하겠다. " 라는 뜻을 가지고 있습니다.
이 식을 숫자로 풀어 써보면
result = 2 * 3; --> result = 6;
result 변수의 값은 6이 됩니다.
2 곱하기 3은 6이니까요.
역시 소스를 직접 작성해서 결과를 확인해보세요!
/ % 연산자 (나눗셈)
/ % 이 두개의 연산자는 모두 나눗셈 연산을 하는 연산자입니다.
나눗셈 연산은 위와 같이 두가지가 있습니다.
몫을 출력하는 연산자( / )와, 나머지를 출력하는 연산자( % )가 있습니다.
나눗셈 연산자가 어떤 느낌인지 소스를 이용해서 알아보겠습니다.#include <stdio.h>
int main( )
{
int A = 10, B = 3;
int share, remain;
share = A / B;
remain = A % B;
printf("%d %d\n", share, remain);
return 0;
}
자 여기에서의 result값은 얼마가 될까요?
위의 구문을 살펴봅시다.
share = A / B;
이 구문은 " A(10)와 B(3)를 나눈 몫을 share변수에 대입하겠다. " 라는 뜻입니다.
remain = A % B;
이 구문은 " A(10)와 B(3)를 나눈 나머지를 remain변수에 대입하겠다. " 라는 뜻을 가지고있습니다.이 두개의 식을 숫자로 풀어 쓰면
(1) share = 10 / 3; --> share = 3;(2) remain = 10 % 3; --> remain = 1;(1) share 변수에 A와 B를 나눈 몫을 대입하겠다 라는 내용입니다.10 나누기 3이라면 몫은 3이 나오겠죠?(소수점 제외)
(2) remain 변수에 A와 B를 나눈 나머지를 대입하겠다. 라는 내용입니다.10 나누기 3의 나머지는 1이 나오겠죠?
나눗셈 연산자를 이용한 소스를 직접 작성해서 결과를 확인해보세요!
아직 이해가 힘드시다면 직접 문제를 풀어보면서 느낌을 이해하시기 바랍니다.
연습문제
1. + 연산자를 이용해 [ 2x1 ] 부터 [ 2x3 ]까지 출력해보세요. ( 변수 1개 )
2. - 연산자를 이용해 [ 2x3 ] 부터 [ 2x1 ]까지 출력해보세요. ( 변수 1개 )
3. * 연산자를 이용해 [ 2x1 ] 부터 [ 2x9 ]까지 출력해보세요. (변수 1개 )
4. / 연산자를 이용해 [ 30 ]을 [ 5 ]로 나누어 결과를 출력해보세요. ( 변수 2개 )
5. % 연산자를 이용해 [ 27 ]을 [ 7 ]로 나누어 결과를 출력해보세요. ( 변수 2개 )
답안
#include <stdio.h>
int main( )
{
int A = 2;
printf("2 x 1 = %d \n", A);
printf("2 x 2 = %d \n", A+A);
printf("2 x 3 = %d \n", A+A+A);
return 0;
}
#include <stdio.h>
int main(){ int A = 6;
printf("2 x 3 = %d \n", A); printf("2 x 2 = %d \n", A - 2); printf("2 x 1 = %d \n", A - 4);
return 0;}
#include <stdio.h>
int main(){ int A = 2;printf("2 x 1 = %d \n", A * 1);
printf("2 x 2 = %d \n", A * 2);
printf("2 x 3 = %d \n", A * 3);
printf("2 x 4 = %d \n", A * 4);
printf("2 x 5 = %d \n", A * 5);
printf("2 x 6 = %d \n", A * 6);
printf("2 x 7 = %d \n", A * 7);
printf("2 x 8 = %d \n", A * 8);
printf("2 x 9 = %d \n", A * 9);
return 0;}
#include <stdio.h>
int main(){ int A = 30, B = 5;printf("몫 = %d \n", A / B);
return 0;}
#include <stdio.h>
int main(){ int A = 27, B = 7;printf("나머지 = %d \n", A % B);
return 0;}
'Develop > C 언어' 카테고리의 다른 글
[4 - 2] 연산자? - 대입연산자 (0) | 2021.06.30 |
---|---|
간단히 짚고 넘어가는 C언어 부분정리 (3) | 2015.09.11 |
[알아야 할것] 1. 올바른 변수명 (0) | 2015.09.10 |
[3] 표준 입력 함수 scanf (0) | 2015.09.09 |
[2] 정수? 실수? 자료형과 변수 (1) | 2015.09.08 |