부호연산의 의미를 갖는 + 연산자와 - 연산자
+ 연산자와 - 연산자는 이항 연산자로서 덧셈과 뺄셈을 의미하지만, 피연산자가 하나인 단항 연산자로서 부호를 뜻하기도 한다. 이는 +3, -7과 같이 숫자 앞에 붙는 부호를 뜻하는 것이므로 생소하지 않을 것이다. 그럼 이와 관련해서 다음 예제를 보자
#include <stdio.h>
int main(void)
{
int num1 = +2;
int num2 = -4;
num1 = -num1; //num1의 부호를 바꾸어 주기 위해 -를 사용했다.
printf("num1: %d \n", num1);
num2 = -num2; //num2의 부호를 바꾸어 주기 위해 -를 사용했다.
printf("num2: %d \n", num2);
return 0;
}
num1: -2 num2: 4 |
위의 예시에서 num1과 num2에 마이너스( - )를 붙인 것처럼 변수에도 단항 연산자로서의 마이너스를 붙일 수 있다.
증가, 감소 연산자
연산자 | 연산자의 기능 |
++num | 값을 1 증가 후, 속한 문장의 나머지를 진행 |
num++ | 속한문장을 먼저 진행한 후, 값을 1 증가 |
--num | 값을 1 감소 후, 속한 문장의 나머지를 진행 |
num-- | 속한문장을 먼저 진행한 후, 값을 1 감소 |
예제를 통해 증가, 감소 연산자를 이해해보자.
#include <stdio.h>
int main(void)
{
int num1 = 12;
int num2 = 12;
printf("num1: %d \n", num1);
printf("num1++: %d \n", num1++); //속한문장을 먼저 진행한 후, 값을 1 증가
printf("num1: %d \n", num1);
printf("num2: %d \n", num2);
printf("++num2: %d \n", ++num2); //값을 1 증가 후, 속한 문장의 나머지를 진행
printf("num2: %d \n", num2);
return 0;
}
num1: 12 num1++: 12 num1: 13 num2: 12 ++num2: 13 num2: 13 |
#include <stdio.h>
int main(void)
{
int num1 = 10;
int num2 = (num1--) + 2; //속한 문장을 먼저 진행한 후, 값을 1감소
printf("num1: %d \n", num1);
printf("num2: %d \n", num2);
return 0;
}
num1: 9 num2: 12 |
위의 두 번째 예시에서 num1--를 소괄호 안에 넣었지만 역시 속한 문장이 다 진행되어야 값이 1 감소하는 것을 볼 수 있다.
'C & C++ > 윤성우의 열혈 C 프로그래밍' 카테고리의 다른 글
[열혈 C] 도전! 프로그래밍1 - 유클리드 호제법과 덧셈조합 (1) | 2023.10.09 |
---|---|
[열혈 C] printf함수에서 서식문자의 다양한 활용 (1) | 2023.10.05 |
[열혈 C] 논리 연산자와 콤마 연산자 (0) | 2023.10.03 |
[열혈 C] Part 01 C언어의 기본 - 서식문자와 연산자 (1) | 2023.10.03 |
[열혈 C] Part 01 C언어의 기본 - printf와 \n (0) | 2023.09.18 |