이번 편의 목표: 정수 나눗셈과 실수 나눗셈의 결과 차이를 계산하고, 대입과 비교를 구분합니다.
연산자는 이미 있는 값으로 새 값을 만듭니다. 양쪽이 모두 정수면 나눗셈 결과도 정수입니다. 소수점 아래는 버려집니다.
#include <stdio.h>
int main(void) {
int late_days = 3;
int daily_fee = 100;
int fee = late_days * daily_fee;
int whole = 5 / 2;
double real_value = 5 / 2.0;
printf("%d\n", fee);
printf("%d\n", whole);
printf("%.1f\n", real_value);
printf("%d\n", late_days == 3);
return 0;
}3 곱하기 100은 300입니다. 5 나누기 2는 정수 연산이라 2입니다. 2.0이 끼면 실수 연산이라 2.5입니다. 정수를 실수로 바꿀 때는 (double)5 / 2처럼 캐스트를 적어도 됩니다.
=는 오른쪽 값을 왼쪽 변수에 넣습니다. ==는 두 값이 같은지 비교합니다. 비교 결과가 참이면 1, 거짓이면 0입니다. 마지막 줄은 1이 나옵니다.
나머지를 구할 때는 %를 씁니다. 5 % 2는 1입니다. 실수에는 %를 쓰지 않습니다.
직접 해 보기
7을 2로 나눈 정수 몫과 7.0을 2로 나눈 실수 결과를 각각 출력하세요.
해설
정수 몫은 3입니다. 실수 결과는 3.5입니다. 7 / 2와 7.0 / 2는 연산에 참여하는 타입이 다릅니다.
COMMENTS
댓글 0
이 글에 대한 의견이나 질문을 남겨 주세요.
댓글은 구글이나 카카오로 시작한 뒤에 남길 수 있습니다.
등록된 댓글이 없습니다.