ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 연산자(Operators)와 우선순위
    C & C++ 2023. 1. 16. 19:28
    반응형
    SMALL

    C/C++에서 연산자란, 값을 변경하거나, 계산하거나, 판단하기 위해 사용하는 이미 정의되어 있는 특별한 기호를 말합니다.  

    구분 연산자
    산술 연산자 +, -, *, /, %, ++, --
    대입 연산자 =, +=, -=, *=, /=, %=, <<=, >>=, &=, |=, ~=, ^=
    비교 연산자(관계 연산자) <, >, >=, <=, ==, !=
    논리 연산자 &&, ||, !
    삼항 연산자 (조건) ? (식1) : (식2);
    비트 연산자 <<, >>, &, |, ~, ^

     

    산술 연산자

    사칙 연산을 위해 사용되는 연산자입니다. 이중에서 %는 정수끼리 나누고 그 나머지만을 구하는 연산자 입니다. ++ 연산자는 1씩 증가시키는 연산자입니다. -- 는 1씩 감소시키는 연산자입니다. ++과 -- 대입 연산자없이 그 값이 변경되는것에 주의해야 합니다.

     

    대입 연산자

    대입 연산자를 기준으로 우변에 있는 내용을 좌변에 대입 시키는 연산자이며, 좌변에는 하나의 변수만 올 수 있습니다.

    대입 연산자는 = 외에도 산술 연산자와 같이 쓰이는 산술 대입 연산자가 있습니다.

     

    비교 연산자

    비교 연산자 참 또는 거짓을 판단하기 위한 연산자입니다. 비교 연산자의 결과가 참 또는 거짓이 됩니다. 일반적으로 C/C++ 언어에서 0은 거짓이며 0이외의 값은 참으로 표현됩니다.

     

    논리 연산자

    &&는 AND(논리곱) 연산자로 좌항과 우항의 값이 전부 참인 경우에만 참이며, 그외에는 전부 거짓입니다. 

    ||는 OR(논리합) 연산자로 좌항과 우항 둘중 하나의 값이 참이면 참이며, 좌,우항 둘다 거짓인 경우 거짓입니다.

    !는 NOT(부정) 연산자로 현재의 참, 또는 거짓을 반전 시킵니다. 즉 참이면 거짓을, 거짓이면 참으로 나타냅니다.

     

    삼항 연산자

    제어문과 비슷한 형식이며, ? 기호 앞에 조건이 위치하며 조건이 참이면 식1을 수행하고, 거짓이면 식2를 수행합니다.

     

    비트 연산자

    비트 단위로 연산을 수행합니다. 예를들어,

    int a = 1;
    a = a << 2;

    a의 값 1을 왼쪽으로 2비트만큼 이동시키는 시프트 연산자 입니다.

    비트 연산자 설명
    << 시프트 연산자, 왼쪽으로 비트를 이동시킴, ex) a = a << 2;
    >> 시프트 연산자, 오른쪽으로 비트를 이동시킴, ex) a = a >> 2;
    & Bit AND연산자, 연산자 좌우의 값을 비트단위로 AND연산, ex) a = 4 & 2; 
    | Bit OR연산자, 연산자 좌우의 값을 비트단위로 OR연산, ex) a = 4 | 2; 
    ^ Bit XOR연산자, 연산자 좌우의 값을 비트단위로 XOR연산, ex) a = 2 ^ 1;
    ~ Bit NOT연산자, 연산자 우측의 값을 비트단위로 반전 시킴, ex) a = ~a;

     

    연산자의 우선순위

    우선순위 연산자 종류
    1 ()
    2 단항 연산자, ++, --, !, ~, &, +, -, *
    3 산술 연산자, *, /, %, +, -
    4 시프트 연산자, <<, >>
    5 비교 연산자, <, >, <=, >=, ==, !=
    6 비트 연산자, &, ^, |
    7 논리 연산자, &&, ||
    8 삼항 연산자 (조건)?(식1):(식2)
    9 대입 연산자, =, +=, -=, *= ...
    10 쉼표(콤마) 연산자   ,

     

    위 연산자 우선 순위는 모두 외울 필요는 없습니다, 첫번째 ()소괄호 연산자가 최우선이다 라는 사실말 알고 있으면, 이것을 알면 연산자의 우선순위를 개발자가 원하는대로 조정할 수 있을것입니다. 하지만 시험을 대비하려면 외우시는게 좋습니다. 정보처리 기사등의 시험 문제에 무조건 한 문제는 출제됩니다.

    반응형
    LIST

    'C & C++' 카테고리의 다른 글

    반복문  (0) 2023.01.16
    제어문  (0) 2023.01.16
    변수와 상수  (0) 2023.01.16
    Windows에서 C/C++ 개발 환경 만들기  (0) 2023.01.13
    C/C++ 언어 기초  (0) 2023.01.13
Designed by Tistory.