#include <stdio.h>

int main() {
     /* 연산자 우선 순위
     1. 괄호()
     2. 단항 연산자 ! ++ --
     3. 산술 연산자 * / -> + -
     4. 비교 연산자 > < >= <= == !=
     5. 논리 연산자 && -> ||
     6. 대입 연산자 = += -= *= /=
     */

     // 증감 연산자 ++ --
     int a = 10;
     printf("a = %d\n", a);
     a = a + 2;
     printf("a = %d\n", a);
     a += 2;
     printf("a = %d\n", a);
     a++; // ++ : 변수에 1을 더해서 다시 저장
     printf("a = %d\n", a);
     a--; // -- : 변수에 1을 빼서 다시 저장
     printf("a = %d\n", a);
     
     int b = 20;
     printf("b = %d\n", ++b); // 전위 1) +1 계산 2) printf
     printf("b = %d\n", b++); // 후위 1) printf 2) +1 계산
     printf("b = %d\n", b);

     int c = 30;
     printf("c = %d\n", --c);
     printf("c = %d\n", c--);
     printf("c = %d\n", c);
     
     // x 초기값 4
     // x = 5     
     // x = 8     
     // x = 9 

     int x = 4;
     printf("x = %d\n", ++x);
     x += 3;
     printf("x = %d\n", x++);
     printf("x = %d\n", x);

     // y 초기값 7
     // y = 8
     // y = 8
     // y = 10
     int y = 7;
     printf("y = %d\n", ++y);
     printf("y = %d\n", y++);
     printf("y = %d\n", ++y);
     
     /* 논리 연산자 ! -> && -> || 
     && : AND 양쪽 모두 참이면 참
     || : OR 하나 이상 참이면 참
     ! : NOT 참과 거짓을 반대로
     C언어에서는 참을 1, 거짓을 0
     */

     a = 5, b = 10, c = 15;
     printf("%d\n", a > 3 && b > 5);
     //               1   3    2
     printf("%d\n", b != 10 || c <= 15);
     printf("%d\n", !a);

     // 문제 : 아래 식에서 연산 순서를 적으시오
     printf("%d\n", a + b > c && c == 15);
     //               1   2   4    3
     printf("%d\n", a * b + c > b || a == 5);
     //               1   2   3   5     4
     printf("%d\n", !(a + b <= c) && b != 10);
     //             3   1    2     5    4



     return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: