본문 바로가기
C C++/C언어 기초

C언어 # - 연산자 2 증가연산자, 감소연산자, 관계연산자

by Go! Jake 2023. 5. 1.

증가 연산자, 감소 연산자

변수값을 1씩 증가 또는 감소시키는 연산자이다. 여러 코드에서 흔히 사용되므로 반드시 숙지하도록 하자.

연산자 연산자의 기능
++num num을 1만큼 증가 후 감소한 값으로 나머지 코드 진행. num+1로 코드에 쓰임.
num++ 속한 문장을 num으로 사용하고 그 이후에 num 값을 1만큼 증가시킴
--num num을 1만큼 감소 후 감소한 값으로 나머지 코드 진행
num-- 속한 문장을 num으로 사용하고 그 이후에 num 값을 1만큼 감소시킴

사실 위 내용이 유심히 보면 충분히 이해할 수 있고, 내용의 전부이다.

예를 들면 아래와 같은 코드를 보자.

#include "stdio.h"


int main()
{
	int num=1;
	
	printf("%d\n", ++num);
	printf("%d\n", num++);
	printf("%d\n", num);
	
	return 0;
}

위 코드를 통해 결과를 예측하도록 해보자.

증가연산자 감소연산자
증가연산자 감소연산자

  • 초기 num 값은 1이다.
  • ++num값에 대한 표출은 num값이 1에서 1증가한 2가 출력되었다.
  • 그리고 num++에 대한 출력은 현재의 num 값이 그대로 나왔다.
  • 그 다음 num 값 출력은 1만큼 증가되어 있었다.

여기서 중요한 점이 있다.

아래 코드에서 a는 어떻게 정의될까?

int a = (b--) + 2;

정답은 '다음 문장으로 넘어가야만 값의 증가 및 감소가 이뤄진다.'는 것을 기억해야한다.

#include "stdio.h"

int main()
{
	int a=5, b=2;
	
	a=(b--)+2;
	
	printf("%d", a); 
	
}

결과값
결과값

b--가 적용된 것이 아닌 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인 경우 a값이 b보다 같거나 큰가?

위에 쓰여진 조건을 만족하면 참(1)을 반환하고, 만족하지 않으면 거짓(0)을 반환한다.

#include "stdio.h"

int main()
{
	int a=5, b=2;
	
	printf("a, b 값은 각각 %d %d\n", a, b); 
	
	printf("a<b? %d\n", a<b);
	printf("a>b? %d\n", a>b);
	printf("a==b? %d\n", a==b);
	printf("a!=b? %d\n", a!=b);
	printf("a<=b? %d\n", a<=b);
	printf("a>=b? %d\n", a>=b);
	
}

비교연산자
a와 b 비교연산자

 

댓글