ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C Language] 9. 증가 연산자와 감소 연산자 - C 언어
    CSE/C Language 2015. 6. 13. 10:07

    1. 증감 연산자


    ++i: 전치 증가 연산(i = i + 1 과 같다)

    i++: 후치 증가 연산

    --j: 전치 감소 연산(j = j - 1 과 같다)

    j--: 후치 감소 연산



    위의 설명으로는 부족하므로 예제를 통해 설명을 보자.


     ex: i = 7, j = 5 일 


    1.      a = i++ * 3;

    2.      b = ++i * 3;

    3.      c = i++ * 3; d = i++ * 3;

    4.      e = --i + j++;



    1번 식에서 a = 21을 출력한다. 그러나, 그 후 i 값은 8로 적용된다. 이 것이 전치 증가 연산이다.

    2번 식에서 b = 27을 출력한다. 그러고나서, i 값은 9로 적용된다. 이 것이 후치 증가 연산이다.

    3번 식에서 c = 27을 출력한다. d = 30을 출력한다. c 적용 시 i 값은 9로 곱셈을 하고 난 뒤, i 를 10으로 증가시킨 게 d에 적용된다.

    4번 식에서 e = 15를 출력한다. 3번 식에서 최종적으로 i는 11로 되었으나, 전치 감소 연산으로 i = 10, j는 후치 증가 연산이므로 5의 값을 통해 e = 10 + 5라는 식이 성립된다. 그 후, i = 10, j = 6이 된다.



    2. 증감 연산자 예제


     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    /*
     * incdec.c
     *
     *  Created on: 2015. 5. 11.
     *      Author: root
     */
     
    #include <stdio.h>
     
    int main(void) {
     
        puts("No 1.");
        {
            printf("1 2 3 4 5\n");
     
        }
     
        puts("No 2.");
        {
            int one = 1, two = 2, three = 3, four = 4, five = 5;
     
            printf("%d %d %d %d %d\n", one, two, three, four, five);
        }
     
        puts("No 3.");
        {
            int one = 1;
     
            printf("%d ", one++);
            printf("%d ", one++);
            printf("%d ", one++);
            printf("%d ", one++);
            printf("%d ", one++);
     
            puts("");
        }
     
        puts("No 4.");
        {
            int i;
            int one = 1;
     
            for (i = 0; i < 5; i++)
                printf("%d ", one++);
            puts("");
        }
     
        puts("No 5.");
        {
            int i;
     
            for (i = 0; i < 5; i++) {
                printf("%c "'1' + i);
            }
            puts("");
        }
     
        puts("No 6.");
        {
            int i;
     
            for (i = 1; i <= 5; i++)
                printf("%d ", i);
        }
     
        return 0;
    }
    cs



     모두 1 2 3 4 5를 출력한다.



     

     

     

    * Programming in C 서적을 참고하여 작성하였습니다 


    댓글

Designed by Tistory.