In the first part we learned how to deal with conditions and how to execute a block of code only when a certain condition is fulfilled
In this chapter we will deal will what we can do if a condition is false.
For this we will make use of the else block.
Take a look at the image above. The flow chart shows how the execution of the program proceeds in either cases.
Note: It is important to know that it is not necessary to use an else block for every if statement and should be used only when necessary.
Also the placement of the else block will make a lot of difference. You will learn about this after we deal with "nested if... else..."
Lets implement a small program to implement if else.
Note that you can skip the parenthesis ( the brackets {}) if you have a single line of code inside if or else
Now that we can handle both if and else cases the next thing to do is, to move ahead with the types of conditions we can use.
We will learn how to implement more complicated (multiple) conditions with some simple examples
The three important notations one are:
/* Author : Ryan Sequeira Date : 17th October 2012 Title : Program to check if number is odd or even */ #include<stdio.h> #include<conio.h> void main() { int num=0; clrscr(); //prompt the user to enter a number printf("Enter a number : "); scanf("%d",&num); //out if else block to handle even or odd cases if(num % 2 == 0) printf("\n%d number is even",num); else printf("\n%d number is odd",num); getch(); }
Note that you can skip the parenthesis ( the brackets {}) if you have a single line of code inside if or else
Now that we can handle both if and else cases the next thing to do is, to move ahead with the types of conditions we can use.
We will learn how to implement more complicated (multiple) conditions with some simple examples
The three important notations one are:
- &&
- ||
- !
These are called Boolean operators and each of these has a meaning and should be used carefully.
It took me some time to figure out a robust example that any one (not having knowledge of Boolean logic) could understand.
So the example we are going to be using is the number line example. We will also make use of images to visually illustrate the examples.
So the example we are going to be using is the number line example. We will also make use of images to visually illustrate the examples.
First the && (AND) operator
which means the number has to be both greater than 3 and less than 5.
Implementation:
Implementation:
if(num > 3 && num < 5) { printf("Number Accepted"); }
Second the || (OR) operator
which means the number has to be either less than 3 or greater than 5.
Also it can be both condition 1 (less than 3) and condition 2 (greater than 5) , but in this example it is not possible
Also it can be both condition 1 (less than 3) and condition 2 (greater than 5) , but in this example it is not possible
Implementation:
if(num < 3 || num > 5) { printf("Number Accepted"); }
And then the ! (NOT) operator
Here we will us the same 2 conditions from 'And' example and 'Not' the result
Here we will us the same 2 conditions from 'And' example and 'Not' the result
so !{(condition 1) && (condition 2)} translates to NOT ( greater than 3 and less than 5 )
which means the number should not be greater than 3 and less than 5.
These are all the values that would have been considered false by the same condition without '!' not operator.
Implementation:
Important Observation
Not (con1 AND con 2) = Not (con1) OR Not (con2)
In this example
We can compare the 2 results to prove it:
These are all the values that would have been considered false by the same condition without '!' not operator.
Implementation:
if(!(num > 3 && num < 5)) { printf("Number Accepted"); }
Important Observation
Not (con1 AND con 2) = Not (con1) OR Not (con2)
In this example
!(num > 3 && num <5)
= !(num > 3) || !(num < 5 )
= (num < 3) OR (num > 5) ........... (This is the result of OR example)
= !(num > 3) || !(num < 5 )
= (num < 3) OR (num > 5) ........... (This is the result of OR example)
We can compare the 2 results to prove it:
I have tried my best to explain multiple conditions with Boolean operators, but if you still have any doubts or suggestions feel free to comment.
No comments:
Post a Comment