Logical operators

View

These operators are used to combine two conditions. Various logical operators in C are-

  1. Logical AND operator – Symbol - &&
  2. Logical OR operator – Symbol - | |
  3. Logical NOT operator – Symbol - !
Out of these Logical AND and Logical OR are binary operators whereas Logical NOT is an unary operator.

 

Logical AND operator

Syntax-

                         (condition-1) AND operator (condition-2)

This operator returns TRUE when both the conditions are TRUE, otherwise it returns FALSE.

Truth Table


Example-1

Let a =10, b = 20, c = 30

(a > b) && (a > c)                                          //          False
(b > a) && (b > c)                                          //          False
(c > a) && (c > b)                                          //          True

 

Example-2

Let a =10, b = 20, c = 30, d =40

(a > b) && (a > c) && (a > d)                                               //          False
(b > a) && (b > c) && (b > d)                                              //          False
(c > a) && (c > b) && (c > d)                                               //          False
(d > a) && (d > b) && (d > c)                                              //          True

 

Logical OR operator

Syntax-

                         (condition-1) OR operator (condition-2)

This operator returns TRUE when any of both the conditions are TRUE. If both the conditions are FALSE it returns FALSE.

Truth Table



Example-1

Let a =10, b = 20, c = 30

(a > b) | | (a > c)                                              //          False
(b > a) | | (b > c)                                              //          True
(c > a) | | (c > b)                                              //          True

 

Example-2

Let a =10, b = 20, c = 30, d =40

(a > b) | | (a > c) | | (a > d)                                           //          False
(b > a) | | (b > c) | | (b > d)                                          //          True
(c > a) | | (c > b) | | (c > d)                                           //          True
(d > a) | | (d > b) | | (d > c)                                          //          True

 

Logical NOT operator

Syntax-

                         NOT operator (condition-1)

This operator returns TRUE when condition is FALSE and FALSE when condition is TRUE

 

Truth Table



Example-1

Let a =10, b = 20

!(a > b)                                                //          True
!(b > a)                                                //          False

 

Mixing of Logical operators


Precedence order of Logical operators and associativity

 Example-

Let condition a =True, b = False, c = True, d =False

a | | b && c                          means-            a | | (b && c)                        output-True
a && b | | c && d                 means-            (a && b) | | (c && d)             output-False
a && b && c | | d                 means-            ((a && b) && c) | | d             output-False
!a && b | | c                         means-            (( !a ) && b) | | c                   output-True

 

Example-3

Marks of 5 subjects are input through the keyboard. Write a Program in C to print the total marks, percentage and division.


/* Program to display total marks, percentage and division [division.c] */
#include < stdio.h >
#include < conio.h >
void main ( )
{
               // Variable Declaration
               int s1, s2, s3, s4, s5, total ;
               float per ;
               clrscr ( );

               // Input
               printf ( “ \n Enter the marks of Physics \n “ );
               scanf ( “ %d “, &s1 );
               printf ( “ \n Enter the marks of Chemistry \n “ );
               scanf ( “ %d “, &s2 );
               printf ( “ \n Enter the marks of Maths \n “ );
               scanf ( “ %d “, &s3 );
               printf ( “ \n Enter the marks of English \n “ );
               scanf ( “ %d “, &s4 );
               printf ( “ \n Enter the marks of Computer Science \n “ );
              scanf ( “ %d “, &s5 );

               // Processing and Output
               total = s1 + s2 + s3 + s4 +s5 ;
               per = total / 5.0 ;
               printf ( “ \n Total Marks = %d“, total );
               printf ( “ \n Percentage = %f “, per );
               if ( per > = 75 )
               printf ( “ \n First Division with Distinction \n “ );
               if ( per > = 60 && per < 75)
               printf ( “ \n First Division \n “ );
               if ( per > = 45 && per < 60)
               printf ( “ \n Second Division \n “ );
               if ( per > = 33 && per < 45)
               printf ( “ \n Third Division \n “ );
               if ( per < 33 )
               printf ( “ \n Fail \n “ );
               getch ( );
 }

Last modified: Tuesday, 21 September 2021, 9:43 AM