2.8 연산자

프로그램 언어에서 변수나 상수, 그리고 연산자로 구성된 식을 표현식 이라고 한다. 표현식에는 산술식과 논리식이 있다. 산술식은 산술 연산자가 사용되고, 논리식은 비교연산자 혹은 논리 연산자가 사용된다.

C언어의 연산자를 표를 통해 확인해 보자

분류 연산자
괄호 및 포인트 연산자 ()     []     ->     .
단항 연산자 ~     --     ++     (자료형)     !    *    &    sizeof
산술 승제 연산자 *     /     %
산술 가감 연산자 +     -
비트 쉬프트 연산자 <<     >>
비교 연산자 <     <=     >     >=     ==     !=
비트 논리 연산자 &     ^     |
논리 연산자 &&     ||
조건 연산자 ?:
부가 연산자 =    +=    -=    *=    /=    %=    >>=    <<=    &=    ^=    !=
순서 연산자 ,

연산 우선순위는 위쪽이 가장 높고 아래로 갈수록 낮아진다.

괄호 및 포인트 연산자 가운데 도트연산자 - . 는 구조체의 필드를 표시하는 연산자이다. 단항 연산자중 -는 음수를 나타내고, 산술 가감 연산자중 - 는 뺄셈을 나타낸다. 단항 연산자중  *는 포인트 연산자이며, (자료형)은 캐스트연산자, !는 논리 부정 연산자이다.

2.8.1 산술 연산자

산술 연산자에는 +,  -,  *,  /,  % 가 있다. 사용방법과 연산 우선순위는 수학에서와 같다. 연산자 % 는 나눗셈의 나머지를 구하는 연산자이다. 예를 들어 10%3 는 몫이 3이고 나머지가 1이므로 1이라는 결과가 나오게 된다. 수식이 복잡해지면 연산자 우선순위가 복잡해지므로 최상위 연산자인 괄호를 () 이용하는 것이 좋다.

산술 연산에서 두 피연산자의 자료형이 다르면 내부적으로 크기가 큰 자료형으로 변환하여 연산을 수행한다.  int + float 연산은 float + float 가 되며 결과 값도 float 가 된다.

다음의 예제로 산술연산자를 확인해 보자

 

calc01.png

 

 

 

calc02.png