증가 연산자, 감소 연산자
변수값을 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);
}
'C C++ > C언어 기초' 카테고리의 다른 글
C++ # - 클래스를 위한 C++에서의 구조체 (0) | 2023.05.10 |
---|---|
C언어 # - 연산자 - 1 (대입연산자, 산술연산자, 복합대입연산자) (0) | 2023.04.25 |
C언어 # - 주석 달기 (0) | 2023.03.15 |
[C/C++] 동적 메모리 할당 (malloc 함수, calloc 함수, realloc 함수) (0) | 2022.07.09 |
C언어의 메모리 구조 (0) | 2022.07.09 |
댓글