생선이의 잡다한 블로그

C언어 강좌 11 - 사칙연산을 해보자! 산술연산자 본문

프로그래밍/C언어 강좌

C언어 강좌 11 - 사칙연산을 해보자! 산술연산자

생선스프 2017. 4. 11. 20:30
반응형

안녕하세요 생선스프입니다!


이번에는 사칙연산을 수행하는 산술연산자를 알아보려고 합니다


우선 시작하기 전에 연산자의 종류를 알아보도록 하겠습니다

(연산자의 이름을 누르면 해당 연산자의 강좌로 이동합니다)


산술연산자 - 사칙연산을 진행함

(복합)대입연산자 - 대입을 함

증감연산자 - 1씩 증감시킴

관계연산자 - 값을 비교

조건연산자(삼항연산자) - 조건이 참이면 앞을 실행 거짓이면 뒤를 실행

논리연산자 - 논리연산을 진행


이제 이번 강좌 시작하도록 하겠습니다


우선 산술연산자의 종류를 알아보도록 하겠습니다


 +

 더하기

 -

 빼기

 *

 곱하기

 /

 나누기한 몫

 %

 정수일때 나누기한 값의 나머지


이렇게 5가지가 있습니다


아래의 예제를 한번 보도록 하겠습니다


1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
void main()
{
    int a = 20, b = 3;
 
    printf("%d + %d = %d \n", a, b, a + b);
    printf("%d - %d = %d \n", a, b, a - b);
    printf("%d * %d = %d \n", a, b, a * b);
    printf("%d / %d = %d \n", a, b, a / b);
    printf("%d %% %d = %d \n", a, b, a % b);
}

cs


그리고 실행을 시켜보면 아래와 같이 잘 나오는 것을 확인할 수 있습니다



그러면 이제 아래의 코드롤 보도록 하겠습니다


1
2
3
4
5
6
7
8
9
#include <stdio.h>
void main()
{
    float a = 20.1, b = 3.1;
    printf("%.1f + %.1f = %f \n", a, b, a + b);
    printf("%.1f - %.1f = %f \n", a, b, a - b);
    printf("%.1f * %.1f = %f \n", a, b, a * b);
    printf("%.1f / %.1f = %f \n", a, b, a / b);
}

cs

그럼 아래와 같이 나옵니다


그런데 여기서 의문이 두 가지 생깁니다


1. 더하기한 값의 소숫점 마지막 자리 수에 왜 1이 있는가

2. % 연산자를 왜 사용하지 않았는가


우선 2번 먼저 설명하도록 하겠습니다

%연산자는 오직 정수 일때만 사용이 가능합니다


이제 1번을 설명해보겠습니다

컴퓨터는 소수점을 계산할 수 없습니다

2진수로 변환해야 하는데 이때 정확하게 바꿀 수 없는 수가 존재합니다

그래서 오차가 생기게 됩니다



그럼 이번 강좌는 여기서 마치도록 하겠습니다!


강좌 읽어주셔서 감사합니다!


공감과 댓글은 생선에게 힘이됩니다!

더 많은 C언어 강좌

반응형
Comments