문타쿠, 공부하다.
[C언어 코딩 도장] Unit 14. 곱셈, 나눗셈하기 본문
14.1 곱셈, 나눗셈하기
"정수의 곱셈과 나눗셈"
#include <stdio.h>
int main(void)
{
int num1;
int num2;
num1 = 2 * 3;
num2 = 7 / 2;
printf("%d\n", num1);
printf("%d\n", num2);
return 0;
}
- 정수끼리 나눗셈을 하면 결과 값도 정수이다.
- 정수는 0으로 나눌 수 없으며, 정수를 0으로 직접 나누면 컴파일 에러가 발생한다.
- 변수에 정수와 0을 저장해서 나누면 콤파일 에러는 발생하지 않지만 실행을 하면 에러가 발생한다.
"실수의 곱셈과 나눗셈"
#include <stdio.h>
int main(void)
{
float num1;
float num2;
num1 = 2.73f * 3.81f;
num2 = 7.0f / 2.0f;
printf("%f\n", num1);
printf("%f\n", num2);
return 0;
}
- 위의 코드에서 실수끼리 곱했을 때 결과 값으로 10.4013이 나와야하는데 10.401299가 나온다. -> 오차 발생
- 실수의 계산에서는 곱셈뿐만 아니라 덧셈, 뺄셈, 나눗셈에서도 오차가 발생한다.
- 실수도 소스 코드에서 0으로 직접 나누면 컴파일 에러가 발생한다.
- 변수에 실수와 0.0을 저장해서 나누면 정수와는 다르게 inf(무한대)가 나온다.
"0을 어떤 수로 나누면 어떻게 될까?"
#include <stdio.h>
int main(void)
{
int num1;
num1 = 0 / 10;
printf("%d\n", num1);
return 0;
}
#include <stdio.h>
int main(void)
{
float num1 = 0.0f;
float num2 = 10.0f;
float num3;
num3 = num1 / num2;
printf("%f\n", num3);
return 0;
}
- 0을 어떤 수로 나누면 결과는 0이다.
14.2 변수 하나에서 값을 곱하거나 나누기
#include <stdio.h>
int main(void)
{
int num1 = 2;
int num2 = 7;
num1 = num1 * 3;
num2 = num2 / 2;
printf("%d\n", num1);
printf("%d\n", num2);
return 0;
}
#include <stdio.h>
int main(void)
{
int num1 = 2;
int num2 = 7;
num1 *= 3;
num2 /= 2;
printf("%d\n", num1);
printf("%d\n", num2);
return 0;
}
'C언어 > C언어 코딩 도장' 카테고리의 다른 글
[C언어 코딩 도장] Unit 15. 나머지 연산하기 (0) | 2023.08.23 |
---|---|
[C언어 코딩 도장] Unit 14. 연습문제 및 심사문제 (0) | 2023.08.23 |
[C언어 코딩 도장] Unit 13. 연습문제 및 심사문제 (0) | 2023.08.22 |
[C언어 코딩 도장] Unit 13. 증가, 감소 연산자 사용하기 (0) | 2023.08.22 |
[C언어 코딩 도장] Unit 12. 연습문제 및 심사문제 (0) | 2023.08.22 |