-
[C Language] 8. 사칙 연산자와 나머지 연산자 - C 언어CSE/C Language 2015. 6. 13. 10:06
1. 사칙연산자의 종류
+, -, *, /
abc = 5 + 17; // 22
def = 10 - 2; // 8
ghi = 11 * 6; // 66
jkl = 60 / 3; // 20
2. 주의사항
- 정수 나누기 정수는 정수이다.
- 0으로 나눌 수 없다.
수학에서는 5 / 2에 대한 답은 당연히 2.5가 되지만, C에서는 2가 된다. 정수가 아니라 실수이기 때문에 소수점 이하를 저장할 수 없다.
2.5라는 값을 출력하기 위해서는 다음과 같이 사용해야 한다.
1. 5.0 / 2.0
2. 5.0 / 2
3. 5 / 2.0
4. 5. / 2.
아래 예제를 통해 위 연산을 직접 실행해보자.
1234567891011121314151617181920212223242526272829/** float.c** Created on: 2015. 5. 11.* Author: root*/#include <stdio.h>#define PRINTF(a, b) printf(#a" / "#b" = %.1f\n", a / b)#define PRINTD(a, b) printf(#a" / "#b" = %d\n", a / b)int main(void) {PRINTF(5.0, 2.0);PRINTF(5.0, 2);PRINTF(5, 2.0);PRINTF(5., 2.);PRINTF(5, 2);puts("");PRINTD(5.0, 2.0);PRINTD(5.0, 2);PRINTD(5, 2.0);PRINTD(5., 2.);PRINTD(5, 2);return 0;}cs 3. 나머지 연산자(%)
- 숫자를 나누면 몫과 나머지를 얻을 수 있다.
5 % 4 결과값: 1
7 % 3 결과값: 1
10 % 7 결과값: 3
- 나머지 연산자에서 조심할 것은 부동소수와 결합하여 사용할 수 없다는 것이다. (ex: 5.7 / 4 X)
예제를 통해 나머지 연산자를 살펴보도록 하자.
- 10 글자마다 자동 개행 추가
12345678910111213141516171819202122/** mod.c** Created on: 2015. 5. 11.* Author: root*/#include <stdio.h>int main(void) {int i;for (i = 0; i < 26; i++) {printf("%c ", 'a' + i);if (((i + 1) % 10) == 0)putchar('\n');}return 0;}cs - 초 입력을 통한 시, 분, 초 구하기
12345678910111213141516171819202122232425262728293031/** mod2.c** Created on: 2015. 5. 11.* Author: root*/#include <stdio.h>#define MIN 60#define HOUR 3600int main(void) {int seconds;int hours, minutes;int min_left, sec_left;printf("Input seconds(< 86400): ");scanf("%d", &seconds);hours = seconds / HOUR;minutes = seconds / MIN;min_left = minutes % MIN;sec_left = seconds % MIN;printf("%d seconds is %d:%d:%d", seconds, hours, min_left, sec_left);return 0;}cs - 입력 범위 내의 7의 배수 구하기
1234567891011121314151617181920212223242526/** mod3.c** Created on: 2015. 5. 11.* Author: root*/#include <stdio.h>#define MULTIPLE 7int main(void ) {int i;int num;puts("Input number between 1 to 100.");scanf("%d", &num);for (i = 1; i < num; i++) {if ((i % MULTIPLE) == 0)printf("%d\n", i);}return 0;}cs * Programming in C 서적을 참고하여 작성하였습니다
'CSE > C Language' 카테고리의 다른 글
[C Language] 11. 논리 연산자 - C 언어 (0) 2015.06.13 [C Language] 10. 관계 연산자와 상등 연산자 - C 언어 (0) 2015.06.13 [C Language] 9. 증가 연산자와 감소 연산자 - C 언어 (0) 2015.06.13 [C Language] 7. 대입 연산자(Assign operator) - C 언어 (0) 2015.06.13 [C Language] 6. 연산자 개요(Introduction to operator) - C 언어 (0) 2015.06.13 [C Language] 5. 입출력 함수(I/O Function) - C 언어 (0) 2015.06.13