본문 바로가기

C언어 강좌

[C언어_04] C언어의 다양한 연산자 & 참, 거짓

안녕하세요,

이번 포스팅에서는 C언어의 다양한 연산자를 알아보는 시간을 가져보도록 하겠습니다.

수학의 연산자가 수학적 연산을 위한 약속된 기호인 것처럼, C언어의 연산자도 C언어에서 제공하는 다양한 연산을 위해 약속된 기호입니다.


| 산술 연산자

두 개의 피연산자를 요구하는 연산자를 가리켜 '이항 연산자'라고 하는데,

앞선 포스팅 [C언어_02]에서 다룬 대입 연산자(=)와 산술 연산자는 모두 이항 연산자들입니다.

 

산술 연산자 산술 연산자의 기능
+ 두 피연산자의 값을 더한다.
예) num = 4 + 3;
- 왼쪽의 피연산자 값에서 오른쪽의 피연산자 값을 뺀다.
예) num = 4 - 3;
* 두 피연산자의 값을 곱한다.
예) num = 4 * 3;
/ 왼쪽의 피연산자 값을 오른쪽의 피연산자 값으로 나눈다.
예) num = 7 / 3;
% 왼쪽의 피연산자 값을 오른쪽의 피연산자 값으로 나눴을 때 얻게 되는 나머지를 반환한다.
예) num = 7 % 3;

 

| 복합 대입 연산자

다른 연산자와 합쳐진 형태의 대입 연산자도 존재하는데, 이를 복합 대입 연산자라 하며, 종류는 아래와 같습니다.

*=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |=

이 중에서 산술 연산자와 합쳐진 복합 대입 연산자의 의미는 다음과 같습니다.

복합 대입 연산자
기호 문법 의미
+= a += b a = a + b
-= a -= b a = a - b
*= a *= b a = a * b
/= a /= b a = a / b
%= a %= b a = a % b

 

| 부호 연산의 의미를 갖는 +연산자와 -연산자

+연산자와 -연산자는 이항 연산자로서 덧셈과 뺄셈을 의미하지만,

피연산자가 하나인 단항 연산자로서 부호를 뜻하기도 합니다.

 

이는 +2, -5와 같이 숫자 앞에 붙는 부호를 뜻하는 것입니다.

 

| 증가, 감소 연산자

이 연산자는 변수에 저장된 값을 1 증가 혹은 1 감소시키는 경우에 사용됩니다. 

증가, 감소 연산자 증가, 감소 연산자의 기능
++num 값을 1 증가 후, 속한 문장의 나머지를 진행                                          (선 증가, 후 연산)
예) val = ++num;
num++ 속한 문장을 먼저 진행 후, 값을 1 증가                                                (선 연산, 후 증가)
예) val = num++;
--num 값을 1 감소 후, 속한 문장의 나머지를 진행                                          (선 감소, 후 연산)
예) val = --num;
num-- 속한 문장을 먼저 진행 후, 값을 1 감소                                                (선 연산, 후 감소)
예) val = num--;

++연산자--연산자는 이름 그대로 값을 1 증가 및 감소시키는 연산자입니다.

이 두 연산자는 삽입된 위치에 따라서 그 의미가 달라지므로 주의해야 합니다.

 

| 관계 연산자 & '참'(True), '거짓(False)'

관계 연산자는 대소와 동등의 관계를 따지는 연산자입니다.

예를 들어서 a와 b라는 변수가 있다면, 누가 더 큰지 작은지, 둘이 같은지 다른지를 따지는 연산자입니다.

그래서 관계 연산자를 두고 '비교 연산자'라고도 합니다.

 

관계 연산자의 종류는 아래와 같습니다.

관계 연산자 관계 연산자의 기능
< 예) a < b
a가 b보다 작은가?
> 예) a > b
a가 b보다 큰가?
== 예) a == b
a와 b가 같은가?
!= 예) a != b
a와 b가 다른가?
<= 예) a <= b
a가 b보다 작거나 같은가?
>= 예) a >= b
a가 b보다 크거나 같은가?

위의 관계 연산자들은 조건을 만족하면 1을, 만족하지 않으면 0을 반환한다.

여기서 말하는 1은 '참(True)'을, 0은 '거짓(False)'을 의미하는 대표적인 숫자입니다.

따라서, 다음과 같이 말하는 것이 일반적입니다.

"조건을 만족하면 '참(True)'을, 만족하지 않으면 '거짓(False)'을 반환한다."

다양한 상황에서 1과 0이라는 표현대신에 '참(True)'과 '거짓(False)'이라는 표현을 주로 사용하니 유의해야 합니다.

 

| 논리 연산자 

논리 연산자는 AND(논리곱), OR(논리합), NOT(논리부정)을 표현하는 연산자입니다.

논리 연산자 논리 연산자의 기능
&& 예) A && B
A와 B 모두 '참'이여야 결과과 '참' (AND)
|| 예) A || B
A, B 둘 중 하나라도 '참'이면 결과가 '참' (OR)
! 예) !A
A가 '참'이면 '거짓', A가 '거짓'이면 '참' (NOT)

이상으로 이번 포스팅을 마치겠습니다.

피드백 사항이나 질문이 있으시다면 댓글 달아주시고, 공감도 한 번씩 눌러주시면 감사하겠습니다.