Skip to content
Toward Polymath
Go back

[C] 사칙연산

c언어에서의 사칙연산을 올바르게 수행하기 위해서는 자료형, 연산자, 그리고 연산 우선순위에 대한 이해가 필요하다. 자료형에 대해서는 앞선 Data Type 에서 다루었다.
사칙연산 중 나눗셈에 대해서 자료형에 따라 그 값과 연산이 달라지게 되는데, 나눗셈 연산자의 경우 실수 간 연산은 일반적인 나눗셈 연산과 동일하다. 하지만 정수 자료형에 나눗셈 연산자를 사용할 경우 몫만 취한다. 추가적으로 % 기호가 Modulus 연산을 수행하며 몫을 버리고 나머지만 취하게 되며 정수 자료형만 사용가능하다.

OperationSyntax
Addition+
Subtraction-
Multiplication*
Division/
Modulus%

연산자의 우선순위는 종류에 따라 달라지는데,

복합대입연산자는 이항연산자 형식을 따르며, 자기 자신이 피연산자가 된다.
(a=a+1) == (a+=1) == (a++)

a *= b + 1 
a  = a * ( b + 1 )

a *= b += 1 
a  = a* (b+=1) = a * ( b = b + 1 )

증가 / 감소 연산자가 앞 / 뒤에 위치하느냐에 따라 연산의 결과가 달라진다. 앞에 위치하는 경우 먼저 1을 증가시키고 이후 연산을 수행하고 뒤에 위치하는 경우 지정 연산을 수행한 뒤 1을 증가시킨다.

    #include <stdio.h>

    int main(){
        int a=10;

        printf("%d\n",a);
        printf("%d\n",a++);
        printf("%d\n",a);
        printf("%d\n",++a);
        

        return 0;
    }

10
10
11
12

Share this post:

Previous Post
[C] Four arithmetic operations 사칙연산
Next Post
[C] Numeral System