• 2022. 4. 20.

    by. 데브촙

    반응형

    대입연산자

    C 언어에서는 = 기호로 표현

    변수에 상수 값 또는 다른 변수 값을 대입할 때 사용

    C 문법에서 =같다의 뜻이 아님

    x = 3; // x 변수에 3을 대입한다는 뜻

     

    산술연산자

    상수 또는 변수 값을 이용한 산술 연산에 사용되는 연산자

    + 연산자: 더하기 연산자

    연산자: 빼기 연산자

    * 연산자: 곱하기 연산을 하는데 사용

    / 연산자: 나눗셈의 결과 값 중 몫을 구하는데 사용

    % 연산자: 나눗셈의 결과 값중 나머지를 구함

    int data1 = 5, data2 = 3;
    
    int result1 = data1 + data2;
    int result2 = data1 - data2;
    int result3 = data1 * data2;
    int result4 = data1 / data2;
    int result5 = data1 % data2;

     

    증감연산자

    ++증감 연산자: 변수가 가지고 있는 값을 1 증가

    --감소 연산자 : 변수가 가지고 있는 값을 1 감소

    int i = 5;
    i++;  // i =i + 1;과 같음

    덧셈 연산자는 이항 연산자, 두 개의 메모리가 연산에 사용됨(ADD)

    증가 연산자는 단항 연산자, 한 개의 메모리가 연산에 사용됨(INC)

    단항 연산자의 연산 속도가 더 빠름

    근데 컴파일러가 스스로 최적화해서 ADD 명령어를 INC 명령어로 자동으로 변경해주곤 함.

     

     

    증감 연산자의 전위형과 후위형

    증감 연산자는 변수의 앞뒤에 사용 가능

    함께 연산을 하는 다른 연산자가 있는 경우, 결과 값이 달라질 수 있음

    후위형 (Postfix): 연산하고 난 뒤 값을 증감 i++ / i--

    전위형 (Prefix): 값을 먼저 증감한 뒤 연산 ++i / --i

    //전위형
    int a= 5, sum;
    sum = ++a; // a 값이 6으로 증가한 뒤에 sum에 대입
    
    // 후위형
    int a=5, sum;
    sum = a++; // a 값을 먼저 sum에 대입한 후 a에 1 증가

     

    관계연산자 (Relational Operator)

    두 수치 값을 비교하여 그 결과 값을 진릿값(, 거짓)으로 얻는 연산자

    연산의 결과가 참이면 1, 거짓이면 0

    A < B : AB보다 작으면 참

    A <= B : AB보다 작거나 같으면 참

    A > B : AB보다 크면 참

    A >= B : AB보다 크거나 같으면 참

    A == B : AB가 같으면 참

    A != B : AB가 같지 않으면 참

     

    대입연산자(=)와 관계연산자(==) 명확히 구분해서 사용하자!

    int data1 = 5, data2 = 3;
    
    int result1 = data1 > 7;        // 거짓
    int result2 = data2 <= data1;   // 참
    int result3 = data2 == 7;       // 거짓
    int result4 = data2 != data1;   // 참
    printf(“result : %d, %d, %d, %d\n”, result1, result2, result3, result4);         // 출력 결과 ->  0, 1, 0, 1

     

    논리연산자

    AB의 상황을 일정한 규칙(AND, OR, NOT)으로 연결해주는 연산자

    AB는 진릿값(, 거짓)을 사용

    : 0이 아닌 모든 값(참의 대표 값은 1), 거짓: 0

    #include <stdio.h>
    
    void main()
    {
    	int data1 = 5, data2 = 3; 
    	int result1 = 0 || 1; // 거짓||참->참
    	int result2 = 3 &&-1; // 참&&참->참
    	int result3 = data1 == 3 || data2 == 3;// 거짓||참->참
    	int result4 = data1 ==3 && data2 == 3;// 거짓&&참->거짓
    	int result5 = !data1;// !참->거짓
    
    	printf(“result: %d, %d, %d, %d, %d\n”, result1, result2, result3, result4, result5); //출력 결과: 1result: 1, 1, 1, 0, 0
    }

     

    연산자 우선순위

    하나의 수식에서 여러 개의 연산자를 사용했을 때

    어떤 연산자를 먼저 연산할지 정해놓은 것

     

    연산 방향

    연산자 우선순위가 같은 연산자들에 대해서도 연산자의 우선 순위를 정함

    컴퓨터에서 연산 방향을 사용하는 이유:

    컴퓨터는 정수 연산을 많이 사용하고 몫과 나머지를 구분하여 연산하기 때문에 연산 방향에 따라 결과 값이 다르게 나올 수 있음.

    반응형

    'C' 카테고리의 다른 글

    오류를 줄이는 프로그래밍 습관  (0) 2022.04.24
    C 표준 라이브러리  (0) 2022.04.18
    전처리기(Preprocessor)  (0) 2022.04.17