Jump Statements in C
In C language, jump statements break the program's flow or eliminate a certain area. They may carry out additional activities inside the loops, switch statements, and functions. Jump statements come in four different types.
Types of Jump statements in c
- Break
- Continue
- Goto
- Return
1. Break Statement in C
The break statement automatically ends loops like for, while, and do-while, and initiates the execution of the next blocks. Moreover, it ends the conditional statements. If we execute the break statement within a nested loop, the break expression will first break the inner loop. The outer loop will therefore continue to run because the inner loop's break statement does not affect it.
Syntax
break;
Flow chart of Break statement
Break statement inside the loop
- The loop's processing begins first.
- The loop's body is executed only if the loop's condition is satisfied; otherwise, the loop is broken.
- The break conditions written inside the body of the loops are examined if it runs. If it is true, it ends the loop instantly; if it is false, it continues until it either meets the break conditions or the loop condition changes from true to false.
Break statement inside Switch
- An expression of conditions makes up the switch case. It has cases by the conditional statement. Every case contains the break statement.
- The code within that case is executed if the conditions inside the instance for the conditional statement are true.
- Following that, it encounters a break statement and breaks out of it, which causes it to suspend the processing of the entire switch block.
Example:
Break statement in while loop
The while loop continuously runs until the condition within is satisfied. Therefore, the program requires that the loop run until the variable n is greater than or equal to 5. But, there is a requirement for the break statement within the while loop. If n equals 2, then break. As a result, the code publishes the value of an as 1, then breaks (ends the while loop) and performs the print statement independently of the while loop when it finds 2.
#include<stdio.h> void main() { int n = 1; // Initialize the value to variable n while (n <= 5) //, the loop will iterate until the value is 5 { if (n == 2) // if n is 2 break; // exit out of the loop printf("N=%d \n", n); n++; } }
Output
N=1
Break inside Switch statement.
As the switch statement comprises statements and cases, we have conditional statement switch(n) here and situations where n has different values.
The software will request user-supplied values for n, and if any value is submitted as input the result of inside any case, the code within that case will fully run and will break (end the conditional statements) to the end. The default case will be executed if the value of a does not match either value within the cases.
#include<stdio.h> void main() { int n = 0; // initialize the variable to 0 printf("Give input number:"); scanf("%d", & n); switch (n) { case 1: //If the n value is 1, then execute the statement and break printf("Excellenet\n"); break; case 2: //If the n value is 2, then execute the statement and break printf("Nice\n"); break; case 3: //If the n value is 3, then execute the statement and break printf("Wonderful\n"); break; default: // the default value if the switch case does not have a value printf("Poor \n"); } printf("Exit Out of Switch"); // exit out of switch }
Output
Given input:3 Wonderful Exit Out of Switch
Break statement inside the inner loop
The inner loop in the code is set up to run for six iterations. Still, as immediately as the value of j rises over 2, it breaks the inner loop and terminates execution, leaving the outer loop unaltered.
#include <stdio.h> int main() { for (int i = 0; i < 4; i++) { for (int j = 1; j <= 6; j++) { if (j > 2) // the break condition in the inner loop break; else printf("1"); } printf("\n"); } return 0; }
Output
11 11 11 11
2. Continue Statement in C
The C continues in the jump statement and skips the specified loop execution. It is identical to the break statement in that it skipped the current iteration and began the loop's next repetition instead of ending the current one. It moves program control to the loop's starting point.
The innermost loop's iteration is the only one skipped when the continue statement is used in a nested loop. The outer loop is unaffected.
Syntax
continue;
Flow chart of Continue Statement
- The loop begins, and initially, it calculates if the loop's condition is true or false.
- If it is false, the loop ends right away.
- The continued statement's condition is verified if the loop conditions are true.
- The loop's body may be executed if the condition for continue is false.
- If continue condition is false, the current repetition of the loop is skipped, and the next repetition is started instead.
Uses of Continue
Continue is a method used to skip the iterations that we don't require in a sequence if you would like a sequence to run but would rather skip a few of the series iterations.
How Does a Continue Statement in C Work as an Example?
Example1
In the program below, if the following loop's continued for iteration i=4 are true, the subsequent iteration is skipped. Control is transferred to the updating statement of the for loop, where i equals 5, and the subsequent iteration begins.
#include<stdio.h> int main() { int i; for ( i = 1; i <= 9; i++ ) { if( i == 4) // the continue condition { continue; // the continue condition } printf("The values is = %d \n",i); } }
Output
The value is = 1 The value is = 2 The value is = 3 The value is = 5 The value is = 6 The value is = 7 The value is = 8 The value is = 9
Example2
Nested loops in C using the continue expression
Rolling two dice and counting any instances in which the results are different, a nested loop employs the continue statement in the program. Dice 1 and Dice 2 are represented by the outside and inner for loops, respectively. Since the program contains a nested loop, both dice are rolled while running. The present iteration of the inner loop of the program is skipped if the total amount of dice in roll 1 equals the number of dice in roll 2, and program control is transferred to the subsequent iteration. Dice will display the same number six certain times for 36 iterations, resulting in an output of 30.
#include<stdio.h> void main() { int dice1, dice2, c = 0; for( dice1 = 1; dice1 <= 6; dice1++) { for( dice2 = 1; dice2 <= 6 ; dice2++) { if (dice1==dice2) // if the values are same { continue; } c = c + 1; } } printf("The different numbers obtained on the die are %d",c); }
Output
The different numbers obtained on the die are 30
3. Goto statement in C
Goto statements can be applied anywhere in the program, unlike the continue statement, which is limited to use in loops. The continue statement neglects the present iteration within the loop and moves on to the afterward one, but with the goto statement, we can choose where the program control should continue when skipping.
This sentence instructs the program control direction to go using the label notion. The program's jump takes place within the same function.
Syntax
goto label;
Flow Chat of goto Statement
Since the word goto is written in statement 1, statement 2 cannot be reached by the program control in this case, and statement 1's label is label 3.
Example1:
Check whether the number is even or odd using the goto statement.
The if condition in the program has logic for even numbers. If satisfied, it will go to the Even statement; if not, it will be moved to the Odd statement.
#include<stdio.h> int main() { int n; printf("\nEnter the value:");// enter the number scanf("%d", & n); if (n % 2 == 0) // condition for even number goto Even; // statement 1(goto) else goto Odd; //statement 2(goto) Even: // label for even number printf("The given number is Even\n"); exit(0); Odd: //label for even number printf("The given number is Odd\n"); return 0; }
Output
Enter the value:34 The given number is Even
Example 2:
Print 1 to 15 numbers using the goto statement.
The label in this program contains code that will increment and print the value of an until it exceeds or equals 15. If the label's condition is true, the program will continue printing values until the label is; if not, it will end.
#include<stdio.h> int main() { int n = 1; //initialising the variable with value 15 label: // code for label printf("%d\n", n); n++; if (n <= 15) goto label; // moves to label return 0; }
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
The return statement, a jump statement used in C programs, is used to stop or finish an operation instantly, whether or not it contains a value, and to bring the program's operation back to the point it was called.
4. Return Statement in C
The return statement, a jump statement used in C programs, is used to stop or finish an operation instantly, whether or not it contains a value, and to bring the program's operation back to the point it was called.
The void type-declared function has no return value.
Syntax:
return expression;
Functions utilize the return statement to return a value to the caller function. Nevertheless, any subsequent return statements will be canceled and useless after the first one has been executed.
Example
The program determines the sum of the digits from 1 to 10. Here, the logic for computing the numbers from 1 to 10 are included in the int sumNumbers() block, which runs first. After computation, the return argument outputs the value of the sum. Now that the sum value has been assigned from the function sumOfNumber(); program control shifts to the main function. After displaying the sum value, the return value is employed to end the main function.
#include<stdio.h> int sumOfNumbers() { int sum= 0; int i; for( i = 0; i <= 10 ; i++) { sum += i; } return sum; } void main() { int sum = sumOfNumbers(); printf("The sum of numbers from 1 to 10 is= %d\n",sum); return; }
Output
The sum of numbers from 1 to 10 is= 55