C : 연산자

  • 연산자와 유형이란 무엇입니까?
  • 예시가 있는 카테고리



  • 1. 연산자와 유형은 무엇입니까?
    - 연산자는 컴파일러에게 특정 수학 또는 논리 기능을 수행하도록 지시하는 기호입니다. 예를 들어 +는 더하기를 수행하는 연산자입니다.
    - 연산자의 범주는 번호에 따라 다릅니다. 피연산자의

    2. 산술 연산자: 수치 값(상수 및 변수)에 대한 수학 연산을 수행합니다.
    2.1 + : 더하기 또는 단항 더하기
    2.2 - : 빼기 또는 단항 빼기
    2.3 * : 곱셈
    2.4/: 분할
    2.5 % : 나눗셈 후 나머지(모듈로 나눗셈)
    2.6++ :증가(사전 및 사후 증분)
    2.7 -- :decrement(감소 전후)

    /*arithmetic operators*/
    #include <stdio.h>
    int main()
    {
        int a = 5,b = 7, c;
    
        c = a+b;
        printf("a+b = %d \n",c);
        c = a-b;
        printf("a-b = %d \n",c);
        c = a*b;
        printf("a*b = %d \n",c);
        c = a/b;
        printf("a/b = %d \n",c);
        c = a%b;
        printf("Remainder when a/b = %d \n",c);
        printf("++a = %d \n", ++a);
        printf("--b = %d \n", --b);
        printf("++c = %f \n", ++c);
        printf("--d = %f \n", --d);
    
        return 0;
    }
    


    Increment++는 값을 1만큼 증가시키는 반면 decrement --는 값을 1만큼 감소시킵니다. 이 두 연산자는 단항 연산자이므로 단일 피연산자에서만 작동합니다.

    3. 관계 연산자: 두 피연산자 간의 관계를 확인합니다. 관계가 true이면 1을 반환하고, 그렇지 않으면 값 0을 반환합니다. 의사 결정 및 루프에 사용됩니다.
    3.1 == : 같음
    3.2 != : 같지 않음
    3.3 < : 미만
    3.4 > : 보다 큼
    3.5 <= : 이하
    3.6 >= : 크거나 같음

    // relational operators
    #include <stdio.h>
    int main()
    {
        int a = 9, b = 2;
    
        printf("%d == %d is %d \n", a, b, a == b);
        printf("%d > %d is %d \n", a, b, a > b);
        printf("%d < %d is %d \n", a, b, a < b);
        printf("%d != %d is %d \n", a, b, a != b);
        printf("%d >= %d is %d \n", a, b, a >= b);
        printf("%d <= %d is %d \n", a, b, a <= b);
    
        return 0;
    }
    


    4. 할당 연산자: 변수에 값을 할당하는 데 사용됩니다.
    4.1 = : a = b와 유사
    4.2 += : a=a+b와 유사
    4.3 -= : a=a-b와 유사
    4.4 *= : a=a*b와 유사
    4.5/= : a=a/b와 유사
    4.6 %= : a=a%b와 유사

    // assignment operators
    #include <stdio.h>
    int main()
    {
        int a = 8, c;
    
        c = a;      // c is 5
        printf("c = %d\n", c);
        c += a;     // c is 10 
        printf("c = %d\n", c);
        c -= a;     // c is 5
        printf("c = %d\n", c);
        c *= a;     // c is 25
        printf("c = %d\n", c);
        c /= a;     // c is 5
        printf("c = %d\n", c);
        c %= a;     // c = 0
        printf("c = %d\n", c);
    
        return 0;
    }
    


    5.논리 연산자: 논리 연산자가 있는 표현식은 표현식의 결과가 참인지 거짓인지에 따라 0 또는 1을 반환합니다. 논리 연산자는 일반적으로 C 프로그래밍에서 의사 결정에 사용됩니다.
    5.1 && : 논리적 AND. 모든 피연산자가 참인 경우에만 참
    5.2 || : 논리적 OR. 피연산자 중 하나가 참인 경우에만 참
    5.3! : 논리적 NOT. 피연산자가 0인 경우에만 참

    // logical operators
    #include <stdio.h>
    int main()
    {
        int a = 9, b = 2, c = 16, result;
    
        result = (a == b) && (c > b);
        printf("(a == b) && (c > b) is %d \n", result);
    
        result = (a == b) && (c < b);
        printf("(a == b) && (c < b) is %d \n", result);
    
        result = (a == b) || (c < b);
        printf("(a == b) || (c < b) is %d \n", result);
    
        result = (a != b) || (c < b);
        printf("(a != b) || (c < b) is %d \n", result);
    
        result = !(a != b);
        printf("!(a != b) is %d \n", result);
    
        result = !(a == b);
        printf("!(a == b) is %d \n", result);
    
        return 0;
    }
    


    6.비트 연산자: 계산 중에 수학 연산이 비트 수준으로 변환되어 처리 속도가 빨라지고 전력이 절약됩니다. C 프로그래밍에서 비트 수준 연산을 수행하는 데 사용됩니다.
    6.1 & : 비트 AND
    6.2 | : 비트 OR
    6.3 ^ : 비트 배타적 OR
    6.4 ~ : 비트 보수
    6.5 << : 왼쪽으로 이동
    6.6 >> : 오른쪽으로 이동

    // bitwise operators 
    #include <stdio.h> 
    int main() 
    { 
        unsigned char a = 5, b = 9; 
        printf("a = %d, 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 = %d\n", a = ~a); 
        printf("b<<1 = %d\n", b << 1); 
        printf("b>>1 = %d\n", b >> 1); 
    
        return 0; 
    } 
    


    7. 기타 연산자:
    7.1 sizeof() : 변수의 크기를 반환합니다.
    7.2 & : 변수의 주소를 반환합니다.
    7.3 * : 변수에 대한 포인터.
    7.4? : 조건식.

    8. 삼항 연산자: 삼항 연산자는 테스트 조건을 평가하고 조건의 결과에 따라 코드 블록을 실행합니다.
    상태 ? 식1 : 식2;
    -여기서 조건을 평가하고 조건이 참이면 식1을 실행하고 거짓이면 식2를 실행한다.
    - 삼항 연산자는 3개의 피연산자(조건, 표현식1, 표현식2)를 취합니다. 따라서 이름은 삼항 연산자입니다.

    //without ternary operator
    int a = 1, b = 2, ans;
    if (a == 1) {
        if (b == 2) {
            ans = 3;
        } else {
            ans = 5;
        }
    } else {
        ans = 0;
    }
    printf ("%d\n", ans);
    



    //with ternary operator i.e. conversion of above code
    int a = 1, b = 2, ans;
    ans = (a == 1 ? (b == 2 ? 3 : 5) : 0);
    printf ("%d\n", ans);
    

    좋은 웹페이지 즐겨찾기