언어 자료구조 알고리즘/디딤돌 C언어

36. 증감 연산자

언제나휴일 2016. 1. 1. 12:10
반응형

 

증감 연산자

++, -- (증감 연산자)
 
증감 연산자는 단항 연산자로 1 증가하거나 1을 감소하는 연산이예요.
증감 연산을 수행하면 피연산자의 값을 변경하므로 피연산자는 l-value만 올 수 있어요.
 
++의 연산을 수행하면 피연산자의 값이 1 증가하고 -- 연산을 하면 1감소하죠.
 
증감 연산자는 연산자가 피연산자 앞에 올 수도 있고 뒤에 올 수도 있는데 위치에 따라 연산 결과가 달라요.
그리고 증감 연산자가 피연산자 앞에 올 때 전위 증감 연산자라 부르며 뒤에 올 때 후위 증감 연산자라 불러요.
 
전위 증감 연산이 하는 것은 피연산자의 값을 1 증감하는 것이며 연산 결과도 값을 1 증감한 피연산자예요.
하지만 후위 증감 연산에서는 피연산자의 값은 1 증감하지만 연산 결과는 연산을 수행하기 전 피연산자의 값이죠.
 
re = i++;
//re = i;
//i = i+1;
re = ++i;
//i = i+1;
//re = i;
 
여러분께서 증감 연산자를 사용할 때 다른 표현식과 혼합하여 사용하지 마세요.
혼합하지 않는다면 코드를 분석하고 이해하는 것이 어렵지 않겠지만 혼합하여 사용하면 어려울 수 있어요.
 증감 연산자는 다른 표현식과 혼합하여 사용하지 마시고 단독으로 사용하세요.  
 
◈ 전위 후위 증감 연산자 비교
#include <stdio.h>
int main()
{
    int a = 2, b = 2;
    printf("수행 전 a: %d \n",a);
    printf("++a 연산 결과: %d \n",++a);
    printf("수행 후 a: %d \n",a);
    printf("수행 전 b: %d \n",b);
    printf("b++ 연산 결과: %d \n",b++);
    printf("수행 후 b: %d \n",b);
    return 0;
}
실행 결과
수행 전 a: 2
++a 연산 결과: 3
수행 후 a: 3
수행 전 b: 2
b++ 연산 결과: 2
수행 후 b: 3
 
◈ 기본 연습
다음 프로그램의 실행 결과를 예측하시오.
#include <stdio.h>
int main()
{
    int i = 8, re = 0;
    re = i++;
    printf("i:%d re:%d \n", i, re);
    return 0;
}
 


[정답] 디딤돌 C언어 36. 증감 연산자


반응형

'언어 자료구조 알고리즘 > 디딤돌 C언어' 카테고리의 다른 글

41. 반복문 (while, do while, for)  (0) 2016.01.01
40. 선택문 (switch case)  (0) 2016.01.01
39. 조건문 (if, else)  (0) 2016.01.01
38. 정리하기  (0) 2016.01.01
37. 기타 연산자  (0) 2016.01.01
35. 대입 연산자  (0) 2016.01.01
34. 쉬프트 연산자  (0) 2016.01.01
33. 비트 연산자 ^를 이용한 암호화  (0) 2016.01.01
32. 비트 연산자  (0) 2016.01.01
31. 비교 연산자  (0) 2016.01.01