Logical Operators in C Language

This “Logical Operators in C Language” post make you perfect in C logical operators by providing list of logical operators, usage of logical operators, execution of logical operators using clear examples.


 

Logical Operators:

  • It is the operator which is primarily used to check relation between more than one expression.
  • After validating expressions logical operators return a boolean value(true-1 or false-0) using truth table.
  • List of Logical Operators
  • Logical-AND and Logical-OR operators are binary operators.
  • Logical-NOT operator is unary operator.

 

logical – AND (&&) 
logical – OR (||)
logical – NOT (!)

 

The below table represents the truth table of logical operators:
     <A>    <B>        &&         ||         !A            !B 
T        T            T           T          F             F
F        T            F           T          T             F
T        F            F           T          F             T
F        F            F           F          T             T

Important points to be noted….
1) logical AND operator evaluates the expression-2 only when expression-1 is TRUE else directly returns 0.

 

    2) logical OR operator evaluates the expression-2 only when expression-1 is FALSE else directly returns 1.

 

Example codes :

    #include<stdio.h>
    main()
    {
        int x=5 , y = 0 , a, b;
        a = ++y || ++x ;
        b = –y && ++x ;
        printf(“%d,%d,%d,%d\n”,x,y,a,b);
    }

 #include<stdio.h>
    main()
    {
        int a=5 , b=1 , c = 5 , d ;
        d = a++ && –b || c++ ;
        printf(“%d%d%d%d”,a,b,c,d);
    }

#include<stdio.h>
    main()
    {
        int a=5 , b=1 , c = 5 , d ;
        d = b++ || ++a || –c ;
        printf(“%d%d%d%d”,a,b,c,d);
    }

#include<stdio.h>
    main()
    {
        int a=1 , b=3 , c = 5 , d ;
        d = a– || ++b && –c ;
        printf(“%d%d%d%d”,a,b,c,d);
    }

#include<stdio.h>
    main()
    {
        int a=5,b=3,c=2,d=3,e,f,g,h;
        e = (b++ == ++c)    ||     (–b != d–);
        f  = (b– != d++)    &&     (–c <= –a);
        g = (c++ >= –d)    ||     (++b != –c);    
        h = (e++ <= –f)    &&   (++g != –c);
        printf(“%d,%d,%d,%d,%d,%d,%d, %d” , a,b,c,d,e,f,g,h);
    }

#include<stdio.h>
    main()
    {
      int a=5,b=0,c=3,d;
      d = a && b + c;
      printf(“%d\n”,d);
    }

#include<stdio.h>
    main()
    {
      int a=0,b=0,c=0,d;
      d = a || b == c;
      printf(“%d\n”,d);
    }

#include<stdio.h>
    main()
    {
        int a=2,b=3,c=5,d;
        d = a-2 && ++b || ++c ;
        printf(“%d,%d,%d,%d” , a, b, c, d);
    }

#include<stdio.h>
    main()
    {
      int a=2,b=3,c=4,d;
      d = a  && b++ – 3 || ++c ;
      printf(“%d,%d,%d,%d”,a,b,c,d);
    }

Share this