ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C언어] 3-2. C언어의 연산자
    프로그래밍/C 2014. 4. 2. 20:38
    반응형

    1. C언어의 연산자 종류


    연산자란

    - +,-,곱셈,나눗셈의 기호를 +,-,*,/로 정의하는데 이를 연산자라 한다.

    - 수식을 구성하는 요소로 사용된다.


    * 연산식(수식)

    - 연산자(operator)는 연산에 사용되는 기호를 말하며 +, -, *, /, ++, --, =, >, <, &&, ||, <<, >> 등이다.

    - 대부분은 단항 또는 이항연산자이고 조건 연산자인 (?:) 유일한 삼항 연산자이다.

    - 연산자는 그 기능에 따라 산술, 증감, 관계, 논리, 비트, 대입, 조건 및 기타 연산자로 분류된다.


    2. 산술 연산자와 증감 연산자




    * 산술 연산자

    - 산술 연산자는 기본 사칙연산을 할 수 있도록 +, -, *, /, % 연산자를 말한다.

    * 증감 연산자

    - (++)는 변수의 값을 1만큼 증가시키는 연산자, (--)는 변수의 값을 -1 만큼 감소시키는 연산자

    - 반드시 변수에만 사용해야한다.

    - 전위형, 후위형이 있다.

     구분

    증감 연산자 

    연산의 값 

    전위형 

    ++x 

    증가된 변수 x의 값 

    --x 

    감소된 변수 x의 값 

     후위형

    x++

    증가되기 전 변수 x의 값 

    x-- 

    감소되기 전 변수의 x 값 


    3. 관계 연산자

    - 두수의 값을 비교하기 위한 연산자, 비교 연산자라고도 한다.

    - >, >=, <, <=, ==, != 가 있다. 결과 값으로는 true, false, 0,1의 값을 얻는다.

    - if나 while문의 조건식에서의 참과 거짓을 판별하기 위해 주로 사용


    4. 논리 연산자

    - AND(&&), OR(||), NOT(!) 3가지가 존재한다.

    - AND의 경우 두개의 입력값이 모두 참인 경우만 참값 1을 가진다.

    - OR의 경우 두개중 한개라고 참값이면 결과값으로 참값 1을 가진다.

    - NOT의 경우 단항 연산자로서 입력값의 반대값, 즉 입력이 1이면 출력은 0, 입력이 0이면 출력은 1의 값을 가진다.


    5. 비트 연산자와 비트 이동 연산자

    - 비트 연산자는 값을 비트단위의 2진수로 표현한 후 비트 AND(&), 비트 OR(|), 비트XOR(^), 비트NOT(~)을 수행하는 연산자.

    - 각 연산자의 기능은 2진수의 비트단위로 나누어서 연산을 수행한다는 점 외에는 논리 연산자의 기능과 동일하다.

    * 비트연산자에서는 자세하게 다루지 않겠다. 왜냐하면 과거 처음 비트연산자를 공부할때 너무나도 많은 시간을 투자하는데 비하여 최근에 비약적인 CPU의 발전으로 비트연산자의 장점인 속도면에서도 일반 함수를 사용하는것과 거의 차이가 나지않는다고 한다. 자세히 알고 싶으신 분들은 http://pusna25.blog.me/100148079994 이 블로그를 참고하길 바란다. 매우 자세히 설명해주셨다.


    6. 대입 연산자와 조건 연산자


    * 대입 연산자

    - 대입 연산자는 치환 연산자라고 하며 대입 연산자 (=)는 좌측에 있는 변수에 우측에 있는 수식의 결과값을 대입하는 연산자이다.

    * 조건 연산자

    - 조건 연산자 (?:)는 3개의 피연산자를 갖는 삼항 연산자로 다음과 같은 형식으로 지정한다.

    형식 : 수식1 ? 수식2 : 수식3;

    수식1 : 조건식 또는 값

    수식2 : 수식1이 참일 때 선택되는 값 또는 식

    수식3 : 수식1이 거짓일 때 선택되는 값 또는 식




    7. 기타 연산자


    * sizeof 연산자

    - sizeof연산자는 주어진 값이나 데이터형의 byte크기를 알고자 할 때 사용


    * 형변환 연산자

    - 형변환이란 정수형의 값을 실수형으로 변환하거나 실수형의 값이 정수형으로 변환되는 것을 의미


    - 암시적 형변환 : 프로그래머가 소스상에서 지정하지 않아도 컴파일러에 의해서 자동으로 처리되는 형변환

    - 명시적 형변환 : 형변환 연산자에 의해서 강제로 처리되는것으로 프로그래머가 소스 코드상에서 명시적으로 형변환을 수행하는것.


    * 콤마 연산자

    - 콤마 연산자는 한 문장에 여러 함수 호출문을 호출하거나 둘 이상의 변수를 선언할 때 사용가능


    8. 연산자의 우선 순위

    - 연산자의 우선순위는 아래와 같다

    단항 연산자 > 산술 연산자 > 관계 연산자 > 논리 연산자 > 대입 연산자 > 콤마 연산자

    - 같은 우선 순위의 연산자가 함께 쓰이면 결합 방향에 따라 우선순위가 결정된다.


    * 정리후기

    - 문제 푸는건 쉬웠는데 주관식 문제들이 참;; 개념물어보는건 좋은데 ASCII코드를 외우는건(?) 아니지만 ASCII 코드 를 알고 있어야 풀수 있는 문제들이 있었다.. 나중에 비트연산자나 필요시공부를 준비해야겠다.

    반응형

    '프로그래밍 > C' 카테고리의 다른 글

    [C언어] 4-2. 반복 제어문  (0) 2014.04.05
    [C언어] 4-1. 조건 분기 제어문  (0) 2014.04.04
    [C언어] 3-1. 표준 입출력 함수  (0) 2014.04.02
    [C언어] 2-3. 선행처리기  (0) 2014.04.02
    [C언어] 2-2. 상수  (0) 2014.04.02

    댓글

Designed by Tistory.