ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 아주 쉽게 배우는 C [chapter. 3 : 논리연산자 ]
    C 2024. 3. 27. 13:46
    반응형

    C에서 가장 많이 사용되는 연산자는 사칙연산도 있지만 논리연산자도 존재한다.

     

    논리연산자는 말 그대로 참과 거짓으로 값을 반환하여 PC에서의 기본적인 논리사고를 키울 수 있는 방법이다.

     

    논리 연산자는 다음과 같다.

     

    &&

    ||

    !

     

    처음부터 하나씩 확인해 보자

     

    &&는 L-Value와 R-Value를 비교하여 값을 반환한다.

    이때 &&는 두 값이 모두 참(1)일때 1을 반환하고 다르다면 0을 반환한다.

     

    예를 들어 아래 코드를 통해 확인해 보자

     

    #include <stdio.h>
    int main()
    {
    	int a, b;
    	a = 1; b = 1;
    	printf("%d", a && b);
    }
    
    // 출력 : 1

    위 코드는 a와 b에 모두 1이 들어있는 코드다.

     

    이때 논리연산자 &&를 사용하여 두 값을 비교하고 모두 동일하기 때문에 출력은 1을 출력한다.

     

    그렇다면 두 값이 다르다면 어떻게 될까?

     

    바로한번 실행해 보자.

    #include <stdio.h>
    int main()
    {
    	int a, b;
    	a = 0; b = 1;
    	printf("%d", a && b);
    }
    
    //출력 : 0

    다음과 같이 0이 출력되게 된다.

     

    다음으로는 ||에 대해 확인해 보자.

     

    ||는 or의 개념으로 둘 중 하나라도 참 (1)을 갖게되면 무조건 1을 출력하는 연산자다.

     

    예시 코드를 확인해 보자

    #include <stdio.h>
    int main()
    {
    	int a, b;
    	a = 0; b = 1;
    	printf("%d", a || b);
    }
    
    //출력 : 1
    #include <stdio.h>
    int main()
    {
    	int a, b;
    	a = 1; b = 0;
    	printf("%d", a || b);
    }
    
    //출력 : 1
    #include <stdio.h>
    int main()
    {
    	int a, b;
    	a = 1; b = 1;
    	printf("%d", a || b);
    }
    
    //출력 : 1
    #include <stdio.h>
    int main()
    {
    	int a, b;
    	a = 0; b = 0;
    	printf("%d", a || b);
    }
    
    //출력 : 0

     

    다음과 같이 둘 중 하나라도 참인 경우에만 1을 출력하게 된다.

     

    마지막으로 !연산자다.

     

    !연산자는 현재 상태를 반전상태로 만드는 것이다.

     

    예를들어 값이 참이라면 거짓으로 변환

     

    거짓이라면 참으로 변환하는 상태를 갖게된다.

     

     

    예시를 확인해 보자.

     

     

    #include <stdio.h>
    int main()
    {
    	int a, b;
    	a = 0;
    	printf("%d", !a);
    } 
    
    
    // 출력 : 1
    #include <stdio.h>
    int main()
    {
    	int a, b;
    	a = 1;
    	printf("%d", !a);
    } 
    
    
    // 출력 : 0

     

    다음 포스팅으로는 조건문에 대해 확인해 보자

    반응형
Designed by Tistory.