Conditional Statements in C programming are used to make decisions based on the conditions. Conditional statements execute sequentially when there is no condition around the statements. If you put some condition for a block of statements, the execution flow may change based on the result evaluated by the condition. This process is called decision making in ‘C.’
In ‘C’ programming conditional statements are possible with the help of the following two constructs:
2. If-else statement
It is also called as branching as a program decides which statement to execute based on the result of the evaluated condition.
It is one of the powerful conditional statement. If statement is responsible for modifying the flow of execution of a program. If statement is always used with a condition. The condition is evaluated first before executing any statement inside the body of If. The syntax for if statement is as follows:
if (condition) instruction;
The condition evaluates to either true or false. True is always a non-zero value, and false is a value that contains zero. Instructions can be a single instruction or a code block enclosed by curly braces < >.
Following program illustrates the use of if construct in ‘C’ programming:
#include int main() < int num1=1; int num2=2; if(num1return 0; >
Output:
num1 is smaller than num2
The above program illustrates the use of if construct to check equality of two numbers.
C has six relational operators that can be used to formulate a Boolean expression for making a decision and testing conditions, which returns true or false :
>= greater than or equal to
Notice that the equal test (==) is different from the assignment operator (=) because it is one of the most common problems that a programmer faces by mixing them up.
int x = 41; x =x+ 1; if (x == 42)Output :
You succeed
Keep in mind that a condition that evaluates to a non-zero value is considered as true.
int present = 1; if (present) printf("There is someone present in the classroom \n");
Output :
There is someone present in the classroom
The if-else is statement is an extended version of If. The general form of if-else is as follows:
if (test-expression) < True block of statements >Else < False block of statements >Statements;
n this type of a construct, if the value of test-expression is true, then the true block of statements will be executed. If the value of test-expression if false, then the false block of statements will be executed. In any case, after the execution, the control will be automatically transferred to the statements appearing outside the block of If.
Following programs illustrate the use of the if-else construct:
We will initialize a variable with some value and write a program to determine if the value is less than ten or greater than ten.
#include int main() < int num=19; if(num<10) < printf("The value is less than 10"); >else < printf("The value is greater than 10"); >return 0; >
Output:
The value is greater than 10
In ‘C’ programming we can use multiple if-else constructs within each other which are referred to as nesting of if-else statements.
There is another way to express an if-else statement is by introducing the ?: operator. In a conditional expression the ?: operator has only one statement associated with the if and the else.
#include int main() < int y; int x = 2; y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */ printf("y =%d ",y); return 0;>
Output :
When a series of decision is required, nested if-else is used. Nesting means using one if-else construct within another one.
Let’s write a program to illustrate the use of nested if-else.
#include int main() < int num=1; if(num<10) < if(num==1) < printf("The value is:%d\n",num); >else < printf("The value is greater than 1"); >> else < printf("The value is greater than 10"); >return 0; >
Output:
The value is:1
The above program checks if a number is less or greater than 10 and prints the result using nested if-else construct.
Try changing the value of variable see how the program behaves.
NOTE: In nested if-else, we have to be careful with the indentation because multiple if-else constructs are involved in this process, so it becomes difficult to figure out individual constructs. Proper indentation makes it easy to read the program.
Nested else-if is used when multipath decisions are required.
The general syntax of how else-if ladders are constructed in ‘C’ programming is as follows:
if (test - expression 1) < statement1; >else if (test - expression 2) < Statement2; >else if (test - expression 3) < Statement3; >else if (test - expression n) < Statement n; >else < default; >Statement x;
This type of structure is known as the else-if ladder. This chain generally looks like a ladder hence it is also called as an else-if ladder. The test-expressions are evaluated from top to bottom. Whenever a true test-expression if found, statement associated with it is executed. When all the n test-expressions becomes false, then the default else statement is executed.
Let us see the actual working with the help of a program.
#include int main() < int marks=83; if(marks>75) < printf("First class"); >else if(marks>65) < printf("Second class"); >else if(marks>55) < printf("Third class"); >else < printf("Fourth class"); >return 0; >
Output:
First class
The above program prints the grade as per the marks scored in a test. We have used the else-if ladder construct in the above program.
Try modifying the value and notice the change in the output.
You Might Like: