×

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

  1. Conditional control statement
  2. Jump Statements
  3. 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

  1. If statement
  2. If else statement
  3. Nested if statement
  4. 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.

Control statement in C

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:

Control statement in C

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:

Control statement in C

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:

Control statement in C

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:

Control statement in C

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:

Control statement in C

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:

Control statement in C

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:

Control statement in C

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:

Control statement in C

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:

Control statement in C

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:

Control statement in C

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.


Related Topics

Array Example in C

An array is a collection of similar types of data elements arranged in such a way that any number of values can be assigned to it. It can store values that...

4 minutes read.

Passing Array to Function in C

Need to pass Arrays? The need to pass arrays to a function arises when we need to pass a list of values to a given function. During the course of our programming...

4 minutes read.

Write() function in c

As the name suggests the write () function is used to write the file descriptor. In other words it is used to write any file name without specifying file name,...

3 minutes read.

Command line arguments in C

Command line arguments in C The arguments that are generally passed from the line of command are referred to as command line arguments. These command line arguments are always handled by...

3 minutes read.

Random Access - Lseek in C

Introduction lseek is a system call that is used to alter the location of the read/write pointer of a file descriptor. The lseek system call basically moves the current read/write location...

4 minutes read.

Pointer arithmetic in C

In the C programming language, a pointer is an address which stores a numeric value. Hence, a developer can perform several arithmetic operations on the same just as one does...

4 minutes read.

Advantages of Dynamic Memory Allocation in C

Dynamic Memory Allocation Dynamic memory allocation is a process of assigning or allocating memory to a variable during the execution of a program. Dynamic memory allocation provides storage according to the...

3 minutes read.

Pyramid Pattern in C

Pyramid Pattern in C A pyramid is a polyhedron created by connecting a base that will be a polygon, and all the lateral faces are triangles. All the bases are connected...

5 minutes read.

Else If Ladder in C

What is Else If Ladder: When there are multiple options and a user has to decide from the options, we use Else If Ladder. Basically, it is an extension of if...

3 minutes read.

Pointer in C

Pointer is a variable that is used to contain the address of another variable. We can easily create a pointer in C language. Example: int *ptr Symbol Description & (ampersand sign) Address of an operator...

1 minute read.

File Operations in C

Why do I need the file? All data will be lost when the program exits. Saving data to a file keeps it safe even if the program stops working. If there...

6 minutes read.

Addition of Matrix in C

The mathematical operation of includingor greater matrices is called the addition of matrices. A matrix is a square series of numbers, symbols, words, letters, and different things. In this article,...

3 minutes read.

What is String Comparison in C

String comparison is the process of comparing two strings (sequences of characters) to determine if they are equal, or if one is greater or less than the other. The comparison...

4 minutes read.

Fee Management System in C

The concept is to split every operation into its very own characteristic. Software is made from all of the capabilities mixed with transfer cases. An example of the capabilities may...

5 minutes read.

Find Union and Intersection of Two Arrays in C

Union You can find the union of the two sorted arrays using the join merge method on arr1[] and arr2[]. Use two index variables i and j with initial values i =...

4 minutes read.

Type qualifiers in C

Type qualifiers in C: In the C programming language, type qualifiers are the keywords that prepend to the variables to change their accessibility, i.e., we can tell that the type...

4 minutes read.

fflush in C

In this article, we will understand what is fflush(), the need for fflush and fflush(stdin), and fflush(stdout). The fflush() function is used to clear the output buffer and move the buffered...

3 minutes read.

Continue in C

C language: C language is a procedure oriented programming language. We can say that it is a platform dependent language. C language is introduced by Dennis Ritchie in the year 1970. We...

2 minutes read.

Explain the two-way selection in C

In C programming, a two-way selection statement is used to choose between two different options based on a Boolean expression. The two-way selection statement in C is the if statement. The...

6 minutes read.

Execution flow of C program

There are various steps of the execution of the C program that is given below. The following step of the execution Write source codes Preprocess Compile Link edit Load Execute Editor or...

1 minute read.