ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C Language] 11. 논리 연산자 - C 언어
    CSE/C Language 2015. 6. 13. 10:08

    1. 논리 연산자의 종류

     논리합(||)

     - 논리합은 두 항 중에 하나라도 참이면 그 결과값이 참이 되는 논리 연산자이다.


     논리곱(&&)

     - 논리곱은 두 항 모두 참이여야 참이 되고, 둘 중에 하나라도 거짓이면 결과값은 거짓이 되는 논리 연산자이다.


     논리부정(!)

     - 논리부정은 항의 결과값의 반대로 반전시킨다. 참이였다면 거짓으로, 거짓이면 참으로 반전시킨다.



    2. 논리 연산 방법


     x

    논리합(OR) 

    논리곱(AND) 

    논리부정(NOT)  x

     0

     0

     1

     1


     아래 간단한 예제로 확인해보자.

     1. (7 == 4) || (5 == 5) : 오른쪽의 5 == 5가 참이므로 논리합에 의해 결과는 이다.

     2. (5 > 3) && (4 < 3): 왼쪽항의 결과는 참이나 오른쪽항의 결과가 거짓이고 논리곱이므로 거짓이다.

     


    간단한 출력 예제


     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    /*
     * logic.c
     *
     *  Created on: 2015. 5. 11.
     *      Author: root
     */
     
    #include <stdio.h>
     
    int main(void) {
     
        puts("And(&&)");
        printf("0 && 0 = %d\n"0 && 0);
        printf("0 && 1 = %d\n"0 && 1);
        printf("1 && 0 = %d\n"1 && 0);
        printf("1 && 1 = %d\n"1 && 1);
     
     
        puts("");
        puts("OR(||)");
        printf("0 || 0 = %d\n"0 || 0);
        printf("0 || 1 = %d\n"0 || 1);
        printf("1 || 0 = %d\n"1 || 0);
        printf("1 || 1 = %d\n"1 || 1);
     
        puts("");
        puts("NOT(!)");
        printf("!0 = %d\n"!0);
        printf("!1 = %d\n"!1);
     
     
        return 0;
    }
    cs







     





     논리곱을 실제로 적용시킨 예제를 보자.


     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    /*
     * grade.c
     *
     *  Created on: 2015. 5. 11.
     *      Author: root
     */
     
    #include <stdio.h>
     
    int main(void) {
     
        int score;
     
        printf("Input score!!");
        scanf("%d", &score);
     
        if ((score <= 100) && (score > 90))
            puts("Grade A");
        else if ((score <= 90) && (score > 80))
            puts("Grade B");
        else if ((score <= 80) && (score > 70))
            puts("Grade C");
        else if ((score <= 70) && (score > 60))
            puts("Grade D");
        else
            puts("Grade F");
     
        return 0;
    }
    cs



     




    * Programming in C 서적을 참고하여 작성하였습니다 

    댓글

Designed by Tistory.