Control statement in C
What is a control statement?
A control statement helps us to control the flow of the program. The control statement helps us to execute the program's instructions in a user-defined order. Moreover, Control statement helps us make decisions, execute a set of statements repeatedly, or jump to another block of statements.
Types of Control Statements in C
There are three types of control statements in the C language
- Conditional control statement
- Jump Statements
- Loop control/ Iteration statements
1. Conditional Control Statement
Sometimes, we want to execute a statement if a condition is true. If the condition is false, we need to execute another set of statements. In such case, a conditional control statement will be helpful. To execute conditional control statements, there are 4 types of statements
- If statement
- If else statement
- Nested if statement
- Switch statement
If statement:
Suppose a statement can be used to control the flow of the statement if a particular condition is true. If the condition in the if statement is true, then the statement below the if statement is executed. Else the statements will not execute and directly jump to the main code.

The syntax for the if statement:
if(condition)
{
Statements;
}
In the block diagram, if the condition is true, the statements below the if statement will be executed. Else main block statements will be executed.
Example:
#include <stdio.h>
int main() {
int a=20;
if(a==20){
printf("Hello from if block\n");
}
printf("hello from outside the if block");
return 0;
}
Output:

Explanation:
In the above example, We have created an if block with the condition that returns true if a is equal to 20 or will return false. As the condition returns true, so the statement in the if block gets executed, and then statements outside the block is executed.
If-else statement:
If-else statement is an extension of the if statement. If the if statement fails, the statement outside the block executes, but if we want other statements to be executed if the condition fails, then the if-else block will come in handy.
The syntax for if-else statement:-
if(expression)
{
statement-1;
}
else
{
Statement-2;
}
Example:
#include<stdio.h>
void main()
{
int n;
printf("Enter any number:");
scanf("%d",&n);
if(n%2==0)
printf("Given number is even");
else
printf("Given number is odd");
return 0;
Output:

Explanation:
In the above example, we have taken input from the user using the scanf() function, and then we need to check for the even or odd number. To check, we have used an if-else statement. In the if condition, we took a%2==0, which means if the value divided by 2 gives a reminder as zero, then the output will be true, which means the statement inside the if block will be executed. If the condition returns false, then else block statement will be executed.
Nested if statement
Using an if statement within another if is called a nested if statement. If a series of decisions are involved, we use a nested if statement.
Syntax:- if(expression-1)
{
If(expression-2)
{
------------
------------
{
Statements;
}
}
}
Syntax-2
if(expression-1)
{
if(expression-2)
{
statements-1;
}
else
{
statements-2;
}
}
else
{
if(expression-3)
{
statements-3;
}
else
{
statements-4;
}
}
Example:
#include<stdio.h>
void main()
{
int a,b,c,max;
printf("Enter any three numbers:");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
if(a>c)
max=a;
else
max=c;
}
else
{
if(b>c)
max=b;
else
max=c;
}
printf("Max Value for given 3 numbers:%d",max);
return 0;
}
Output:

Explanation:
The above code is written to find the maximum number among the 3 numbers taken from the user. In the above code, we have used a nested if statement. In the nested if statement, we have compared the three numbers with each other to find the maximum number.
Switch statement:
A switch statement is generally used to switch the statements according to the given condition. Generally, it performs different actions when different conditions (cases) are met. If a condition is satisfied among the given cases in the switch statement, it executes the associated statement.
Syntax:
Switch (expression or variable)
{
Case value 1;
Statement1;
Break;
----------------------
----------------------
Case value n;
Statements n;
Break.;
Default;
Default statement;
}
A default statement should have a default condition so that the default statement will execute when a condition is not present in the cases.
Example:
#include<stdio.h>
void main()
{
int a,b,opt;
printf("Enter any two numbers:");
scanf("%d%d",&a,&b);
printf("1.Addition\n2.Subtraction\n3.Multiplication\n4.Division\n5.Enter Option");
scanf("%d",&opt);
switch(opt)
{
case 1 :
printf("\nAddition %d and %d is %d",a,b,a+b);
break;
case 2 :
printf("\nSubtraction %d and %d is %d",a,b,a-b);
break;
case 3 :
printf("\nMultiplication %d and %d is %d",a,b,a*b);
break;
case 4 :
printf("\nDivision %d and %d is %d",a,b,a-b);
break;
case 5 :
printf("\nModulus %d and %d is %d",a,b,a%b);
break;
default :
printf("\nInvalid Region:");
}
}
Output:

Explanation:
In the above code, we have used switch statements to perform various arithmetic operations based on the input from the user. Suppose the input from the user is 1. In that case, the addition operation and similarly 2 for subtraction, 3 for multiplication, and 4 for the division if the number entered is not from the above then default operation will be performed.
2. Jump statements
1. Break (keyword):-
If the break keyword is executed in a loop, the control moves the command outside the loop.
Syntax:- break; (Passes control)
2. Continue (keyword):- Continue statement is the same as the break statement but instead of breaking the whole loop continue statement will skip the particular iteration of the loop and skip to the next one.
Syntax:- continue; (Passes control)
3. Goto:- The 'goto' statement is an unconditional control statement used during the execution of the program sequence by transfer of control to some other part of the program.
Syntax:- goto label;
Example:
#include <stdio.h>
int main() {
int i;
for (i = 0; i < 10; i++) {
if (i == 5) {
break;
}
printf("%d\n", i);
}
}
Output:

Explanation:
In the above example, we used the break keyword for a loop. As soon as the break statement executes, the loop will be stopped. The above code break statement will be executed when the i value equals 5. So when the i value is 5, the loop will be exited, which we observed in the output.
Example:
#include <stdio.h>
int main() {
int i;
for (i = 0; i < 10; i++) {
if (i == 5) {
continue;
}
printf("%d\n", i);
}
}
Output:

Explanation:
In the above code, we have used the continue statement. When the continue statement is executed, the loop will skip the particular iteration and go to the next iteration. In the above code, we have used the if statement to execute the continue statement. When the i value equals 5, the continue statement will execute and skip the printing of 5 and then continue to the next iteration.
Example:
#include<stdio.h>
int main(){
int n;
printf("Enter any number:");
scanf("%d",&n);
if(n==1)
goto lb1;
if(n==2)
goto lb2;
printf("WECOME\n");
lb1:
printf("Label 1\n");
lb2:
printf("Label 2\n");
}
Output:

Explanation:
In the above example, we have used the goto statement to move between the statements. When goto lb1 executes, the statement in the lb1 will be printed. Otherwise, if goto lb2 is executed, then a statement in the lb2 will be executed. In the output, we have given the number 2, lb2 executed, so lable 2 is printed in the output.
3.LOOP CONTROL STATEMENTS
Loop:- The process of repeatedly executing a block of statements is called a loop. C supports three types of looping statements. They are…
- While Loop
- do-while loop and
- for-loop
Any loop has three things. They are…
1. Initialize the index
2. Test condition
3. Update the index
1. while loop:
It is a conditional control loop statement in C.
Syntax:- while(test condition)
{
Statements;
}
While loop tests the condition, the statements in the while loop will execute if the condition is true.
Example:
#include<stdio.h>
void main()
{
int n,i=1;
printf("Enter no of elements:");
scanf("%d",&n);
printf("Natural Numbers from 1 to %d:\n",n);
while (i<=n)
{
printf("%d\t",i);
i++;
}
}
Output:

Explanation:
In the above code, we have used a while loop to print the natural numbers in the given range. Until and unless the i value is greater than or equal to the user entered value, the values will be printed.
2. do-while loop:
It is an alternative form of a while loop. The minimum no of execution of 'do-while' is '1".
Syntax:- do
{
Statements;
}
While(test condition);
Example:
#include<stdio.h>
void main()
{
int n,i=1;
printf("Enter any number:");
scanf("%d",&n);
printf("Natural numbers form 1 to %d:\n",n);
do
{
printf("%d\t",i);
i++;
}
while(i<=n);
}
Output:

Explanation:
In the above, we used the do while loop to print the natural numbers. It is the same as the while loop, but even if the while loop condition is failed, statements in the do loop will be executed once.
3. for loop:
It is C's most commonly used loop statement. It consists of three expressions.
Syntax:- for(exp1; exp2; exp3)
{
Statements;
}
Example:
#include<stdio.h>
void main()
{
int n,sum=0,i;
printf("Enter any number:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
if(n%i==0)
sum=sum+i;
}
if(n==sum)
printf("Given number is perfect");
else
printf("Given number is not perfect ");
}
Output:

Explanation:
In the above code, we have used for loop to print if the number is perfect or not. In the loop, we assigned the i value with 1, then compared the i value with a given number. Then if the condition is true, the statement will be executed, and once the statements are executed, the i value will be incremented.