연산자와 오퍼랜드

연산자 : 연산의 기능을 가진 기호, 영어로는 operator라고 한다.

오퍼랜드 : 연산의 대상이 되는 변수 혹은 정수

 

사칙연산

사칙연산은 수학에서는 가장 기초적인 연산인 것처럼 C언어에서도 가장 기본적인 연산입니다.

덧셈, 뺄셈은 수학에서 사용하는 데로 기호 사용하시면 됩니다.

다만 곱셈과 나눗셈은 기호가 수학적 기호와 다른 점이 있으니 집고 넘어가야 합니다.

곱셈 같은 경우는 'X' 기호 대신 '*'(애스터리스크)를 곱셈 연산자로 사용합니다.

 

나눗셈의 경우는 두 가지 연산자를 가지고 있습니다.

'/' 연산자 : 나눗셈의 을 계산

'%' 연산자 : 나눗셈의 나머지를 계산

 

 + Tip!

 '%'연산자의 경우 정수끼리 연산에서만 사용가능하다!!

 

부동소수점수끼리의 연산에서는 나눗셈에서 소수점 이하를 버리지 않기 때문이다.

 ex) 5/2 = 2, 5%2 = 1 // 정수끼리의 나눗셈

     5.0/2.0 = 2.5, 5.0%2.0 = X(0) // 부동소수점수끼리의 나눗셈

 

두 개의 정수를 입력받아 사칙연산을 하는 프로그램

 

위 예제를 보시면 한 가지 특이한 점이 있습니다.

printf에서 %를 표시할 때 %를 두번 연달아 써주는 부분인데요.

이러한 작업이 필요한 이유는 컴퓨터가 서식문자와 혼동하지 않기 위함입니다.

일종의 이스케이프 문자라고나 할까요?

이전에 백슬래시를 출력하기 위해서는 두 번 연달아 써야한다고 했던 것과 비슷한 맥락이라 보시면 됩니다.

다만 puts는 문자열만 출력하는 함수이기 때문에 이러한 작업 없이 % 한 번만 써도 그대로 출력된다는 점도 키포인트네요!

 

+추가 정보 승제 연산자가감 연산자

곱셈과 나눗셈에 관련된 연산자(*, /, %)는 승제 연산자라고 합니다.

덧셈과 뺄셈에 관련된 연산자(+, -)는 가감 연산자라 부릅니다.

 

단항 산술 연산자

소제목을 보시고 모르시는 단어가 있으실지도 모르겠습니다.

항이라는 게 머지?라고 말이죠. 항은 수학에서의 개념과 비슷합니다.

수학에서의 항은 수 혹은 문자의 곱으로 이루어진 식을 의미한다고 합니다. (ex. 10, 3xy...) 

하지만 C언어에서는 곱셈기호를 생략이 안되기 때문에 간단하게 오퍼랜드 자체를 항으로 보셔도 무방합니다.

 

그렇다면 단항이라는건 하나의 오퍼랜드만 있다는 거고, 단항 연산자는 단항에서 연산을 하는 연산자를 의미하겠죠.

이번에 알려드릴 단항 산술 연산자는 +연산자와 -연산자입니다.

 

 

예제를 보시면 바로 어떤 기능을 하는 연산자인지 감이 오실겁니다.

단항 + 연산자 : 그대로의 값

단항 - 연산자 : 부호를 반전시킨 값

단항 + 연산자는 사용할 일이 없지만 단항 - 연산자의 반대되는 개념으로써 존재한다고 이해하시면 될 것 같습니다.

 

대입연산자

대입 연산자는 이전에 변수를 선언하고 대입하는 과정에서 사용한 적이 있는 연산자입니다.

004.C 변수와 자료형 강의 예제

해당 강의 바로가기

대입 연산자는 =(equal)기호를 사용하며 수학에서의 등호의 의미와는 전혀 다릅니다.

왼쪽 오퍼랜드에 오른쪽 오퍼랜드를 대입한다는 의미로, 위 예제와 같은 경우는 x라는 변수에 15라는 정수가 대입되게 됩니다.

수학에서와는 다른 의미를 가지고 있다는 점 주의하셔야 겠습니다.

수학에서 등호의 의미는 ==라는 연산자를 이용하니 미리 알아두셔도 좋습니다.