0% found this document useful (0 votes)
15 views

C Control Statements

Uploaded by

subhendujena2002
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

C Control Statements

Uploaded by

subhendujena2002
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 89

C Control Statements

C if else Statement
The if-else statement in C is used to perform the
operations based on some specific condition. The
operations specified in if block is executed if and only if
the given condition is true.

There are the following variants of if statement in C


language.

o If statement
o If-else statement
o If else-if ladder
o Nested if

If Statement
The if statement is used to check some given condition
and perform some operations depending upon the
correctness of that condition. It is mostly used in the
scenario where we need to perform the different
operations for the different conditions. The syntax of the
if statement is given below.

1. if(expression){
2. //code to be executed
3. }

/* Program to illustrate the if construct*/


#include<stdio.h>
void main()
{
int i;
printf(“Enter a number:”);
scanf(“%d”, &i);
if(i%3==0)
printf(“Number entered is divisible by 3.\n”);
}
Output:
Run1:
Enter a number: 30
Number entered is divisible by 3.
Run2:
Enter a number: 31
No message is printed since 31 is not divisible by 3.

/* Program to illustrate the if construct*/


#include<stdio.h>
void main()
{
float years, secs;
int success;
printf(“Input your age in years:”);
success=scanf(“%f”, &years);
if(success==0)
printf(“The input is not a floating-point number.\n”);
secs=years*365*24*60*60;
printf(“You have lived for %f seconds\n”, secs);
}
Output:
Run1:
Input your age in years: 75
You have lived for 2365199872.000000 seconds.
Run2:
Enter a number: sundeep
The input is not a floating-point number.
You have lived for 0.000000 seconds.

/* Program to illustrate the if construct*/


#include<stdio.h>
void main()
{
float years, secs;
int success;
printf(“Input your age in years:”);
success=scanf(“%f”, &years);
if(success==0)
printf(“The input is not a floating-point number.\n”);
if(success!=0)
{
secs=years*365*24*60*60;
printf(“You have lived for %f seconds\n”, secs);
}
}
Output:
Run1:
Input your age in years: 75
You have lived for 2365199872.000000 seconds.

Program to check if a number is EVEN or ODD.

Let's see a simple example of C language if statement.


1. #include<stdio.h>
2. int main(){
3. int number=0;
4. printf("Enter a number:");
5. scanf("%d",&number);
6. if(number%2==0){
7. printf("%d is even number",number);
8. }
9. return 0;
10. }

Output
Enter a number:4
4 is even number
enter a number:5

Program to find the largest number of the three.

#include<stdio.h>
main()
{
float a, b, c, big;
printf(“Input a b c\n”);
scanf(“%f %f %f”, &a, &b, &c);
/* Computing the largest of three numbers*/
big=a;
if(b>big) big=b;
if(c>big) big=c;
printf(“Largest of the three numbers=%7.2f
\n”,big);
}
Run 1:
Input a b c
10.00 20.00 45.00
Largest of the three numbers=45.00
Run 2:
Input a b c
78.00 43.00 23.00
Largest of the three numbers=78.00
Alternative Approach to find the largest of
three numbers
1. #include <stdio.h>
2. int main()
3. {
4. int a, b, c;
5. printf("Enter three numbers?");
6. scanf("%d %d %d",&a,&b,&c);
7. if(a>b && a>c)
8. {
9. printf("%d is largest",a);
10. }
11. if(b>a && b > c)
12. {
13. printf("%d is largest",b);
14. }
15. if(c>a && c>b)
16. {
17. printf("%d is largest",c);
18. }
19. if(a == b && a == c)
20. {
21. printf("All are equal");
22. }
23. }

Output
Enter three numbers?
12 23 34
34 is largest

If-else Statement
The if-else statement is used to perform two operations for a
single condition. The if-else statement is an extension to the if
statement using which, we can perform two different
operations, i.e., one is for the correctness of that condition, and
the other is for the incorrectness of the condition. Here, we must
notice that if and else block cannot be executed simultaneously.
Using if-else statement is always preferable since it always
invokes an otherwise case with every if condition. The syntax
of the if-else statement is given below.
1. if(expression){
2. //code to be executed if condition is true
3. }else{
4. //code to be executed if condition is false
5. }
Program to check if a number is EVEN or ODD.

Let's see the simple example to check whether a number is even


or odd using if-else statement in C language.

1. #include<stdio.h>
2. int main(){
3. int number=0;
4. printf("enter a number:");
5. scanf("%d",&number);
6. if(number%2==0){
7. printf("%d is even number",number);
8. }
9. else{
10. printf("%d is odd number",number);
11. }
12. return 0;
13. }

Output
enter a number:4
4 is even number
enter a number:5
5 is odd number

/* Program to check for a floating point input using if else


construct*/
#include<stdio.h>
void main()
{
float years, secs;
int success;
printf(“Input your age in years:”);
success=scanf(“%f”, &years);
if(success==0)
printf(“The input is not a floating-point number.\n”);
else
{
secs=years*365*24*60*60;
printf(“You have lived for %f seconds\n”, secs);
}
}
Output:
Run1:
Input your age in years: 100
You have lived for 3153600000.000000 seconds.
/* Program to illustrate if else construct*/
#include<stdio.h>
void main()
{
int input;
printf(“Input an integer:”);
if (input)
printf(“It is non-zero.\n”);
else
printf(“It is zero.\n”);
}
Output:
Run1:
Input an integer:12
It is non-zero.
Run2:
Input an integer:0
It is zero.

Program to check whether a person is eligible to vote or not.


1. #include <stdio.h>
2. int main()
3. {
4. int age;
5. printf("Enter your age?");
6. scanf("%d",&age);
7. if(age>=18)
8. {
9. printf("You are eligible to vote...");
10. }
11. else
12. {
13. printf("Sorry ... you can't vote");
14. }
15. }

Output
Enter your age?18
You are eligible to vote...
Enter your age?13
Sorry ... you can't vote

If else-if ladder Statement


The if-else-if ladder statement is an extension to the if-
else statement. It is used in the scenario where there are
multiple cases to be performed for different conditions.
In if-else-if ladder statement, if a condition is true then
the statements defined in the if block will be executed,
otherwise if some other condition is true then the
statements defined in the else-if block will be executed,
at the last if none of the condition is true then the
statements defined in the else block will be executed.
There are multiple else-if blocks possible. It is similar to
the switch case statement where the default is executed
instead of else block if none of the cases is matched.

1. if(condition1){
2. //code to be executed if condition1 is true
3. }else if(condition2){
4. //code to be executed if condition2 is true
5. }
6. else if(condition3){
7. //code to be executed if condition3 is true
8. }
9. ...
10. else{
11. //code to be executed if all the conditions are f
alse
12. }
The example of an if-else-if statement in C language is
given below.

1. #include<stdio.h>
2. int main(){
3. int number=0;
4. printf("enter a number:");
5. scanf("%d",&number);
6. if(number==10){
7. printf("number is equals to 10");
8. }
9. else if(number==50){
10. printf("number is equal to 50");
11. }
12. else if(number==100){
13. printf("number is equal to 100");
14. }
15. else{
16. printf("number is not equal to 10, 50 or 100");

17. }
18. return 0;
19. }

Output

enter a number:4
number is not equal to 10, 50 or 100
enter a number:50
number is equal to 50

Program to calculate the grade of the student


according to the specified marks.
1. #include <stdio.h>
2. int main()
3. {
4. int marks;
5. printf("Enter your marks?");
6. scanf("%d",&marks);
7. if(marks > 85 && marks <= 100)
8. {
9. printf("Congrats ! you scored grade A ...");
10. }
11. else if (marks > 60 && marks <= 85)
12. {
13. printf("You scored grade B + ...");
14. }
15. else if (marks > 40 && marks <= 60)
16. {
17. printf("You scored grade B ...");
18. }
19. else if (marks > 30 && marks <= 40)
20. {
21. printf("You scored grade C ...");
22. }
23. else
24. {
25. printf("Sorry you are fail ...");
26. }
27. }

Output
Enter your marks?10
Sorry you are fail ...
Enter your marks?40
You scored grade C ...
Enter your marks?90
Congrats ! you scored grade A ...

C Switch Statement
The switch statement in C is an alternate to if-else-if
ladder statement which allows us to execute multiple
operations for the different possibles values of a single
variable called switch variable. Here, We can define
various statements in the multiple cases for the different
values of a single variable.
The syntax of switch statement is given below:

1. switch(expression){
2. case value1:
3. //code to be executed;
4. break; //optional
5. case value2:
6. //code to be executed;
7. break; //optional
8. ......
9.
10. default:
11. code to be executed if all cases are not matche
d;
12. }

Rules for switch statement in C language


1) The switch expression must be of an integer or
character type.

2) The case value must be an integer or character


constant.

3) The case value can be used only inside the switch


statement.

4) The break statement in switch case is not must. It is


optional. If there is no break statement found in the case,
all the cases will be executed present after the matched
case. It is known as fall through the state of C switch
statement.

Let's try to understand it by the examples. We are


assuming that there are following variables.

1. int x,y,z;
2. char a,b;
3. float f;

Valid Switch Invalid Switch Valid Case Invalid Case

switch(x) switch(f) case 3; case 2.5;

switch(x>y) switch(x+2.5) case 'a'; case x;

switch(a+b-2) case 1+2; case x+2;

switch(func(x,y)) case 'x'>'y'; case 1,2,3;

Functioning of switch case statement


First, the integer expression specified in the switch
statement is evaluated. This value is then matched one by
one with the constant values given in the different cases.
If a match is found, then all the statements specified in
that case are executed along with the all the cases present
after that case including the default statement. No two
cases can have similar values. If the matched case
contains a break statement, then all the cases present
after that will be skipped, and the control comes out of
the switch. Otherwise, all the cases following the matched
case will be executed.

Let's see a simple example of c language switch


statement.

1. #include<stdio.h>
2. int main(){
3. int number=0;
4. printf("enter a number:");
5. scanf("%d",&number);
6. switch(number){
7. case 10:
8. printf("number is equals to 10");
9. break;
10. case 50:
11. printf("number is equal to 50");
12. break;
13. case 100:
14. printf("number is equal to 100");
15. break;
16. default:
17. printf("number is not equal to 10, 50 or 100");

18. }
19. return 0;
20. }

Output
enter a number:4
number is not equal to 10, 50 or 100
enter a number:50
number is equal to 50

Switch case example 2


1. #include <stdio.h>
2. int main()
3. {
4. int x = 10, y = 5;
5. switch(x>y && x+y>0)
6. {
7. case 1:
8. printf("hi");
9. break;
10. case 0:
11. printf("bye");
12. break;
13. default:
14. printf(" Hello bye ");
15. }
16.
17. }

Output
hi
C Switch statement is fall-through
In C language, the switch statement is fall through; it
means if you don't use a break statement in the switch
case, all the cases after the matching case will be
executed.

Let's try to understand the fall through state of switch


statement by the example given below.

1. #include<stdio.h>
2. int main(){
3. int number=0;
4.
5. printf("enter a number:");
6. scanf("%d",&number);
7.
8. switch(number){
9. case 10:
10. printf("number is equal to 10\n");
11. case 50:
12. printf("number is equal to 50\n");
13. case 100:
14. printf("number is equal to 100\n");
15. default:
16. printf("number is not equal to 10, 50 or 100");
17. }
18. return 0;
19. }
Output
enter a number:10
number is equal to 10
number is equal to 50
number is equal to 100
number is not equal to 10, 50 or 100

Output
enter a number:50
number is equal to 50
number is equal to 100
number is not equal to 10, 50 or 100

Nested switch case statement


We can use as many switch statement as we want inside
a switch statement. Such type of statements is called
nested switch case statements. Consider the following
example.

1. #include <stdio.h>
2. int main () {
3.
4. int i = 10;
5. int j = 20;
6.
7. switch(i) {
8.
9. case 10:
10. printf("the value of i evaluated in outer sw
itch: %d\n",i);
11. case 20:
12. switch(j) {
13. case 20:
14. printf("The value of j evaluated in nest
ed switch: %d\n",j);
15. }
16. }
17.
18. printf("Exact value of i is : %d\n", i );
19. printf("Exact value of j is : %d\n", j );
20.
21. return 0;
22. }

Output
the value of i evaluated in outer switch:
10
The value of j evaluated in nested switch:
20
Exact value of i is : 10
Exact value of j is : 20

if-else vrs switch


What is an if-else statement?

An if-else statement in C programming is a conditional


statement that executes a different set of statements
based on the condition that is true or false. The 'if' block
will be executed only when the specified condition is true,
and if the specified condition is false, then the else block
will be executed.

Let's see a simple example of c language switch


statement.
Switch case example 1

1. #include<stdio.h>
2. int main(){
3. int number=0;
4. printf("enter a number:");
5. scanf("%d",&number);
6. switch(number){
7. case 10:
8. printf("number is equals to 10");
9. break;
10. case 50:
11. printf("number is equal to 50");
12. break;
13. case 100:
14. printf("number is equal to 100");
15. break;
16. default:
17. printf("number is not equal to 10, 50 or 100");

18. }
19. return 0;
20. }

Output
enter a number:4
number is not equal to 10, 50 or 100
enter a number:50
number is equal to 50

Switch case example 2


1. #include <stdio.h>
2. int main()
3. {
4. int x = 10, y = 5;
5. switch(x>y && x+y>0)
6. {
7. case 1:
8. printf("hi");
9. break;
10. case 0:
11. printf("bye");
12. break;
13. default:
14. printf(" Hello bye ");
15. }
16.
17. }

Output
hi
C Switch statement is fall-through

In C language, the switch statement is fall through; it means if


you don't use a break statement in the switch case, all the
cases after the matching case will be executed.
Let's try to understand the fall through state of switch
statement by the example given below.
1. #include<stdio.h>
2. int main(){
3. int number=0;
4.
5. printf("enter a number:");
6. scanf("%d",&number);
7.
8. switch(number){
9. case 10:
10. printf("number is equal to 10\n");
11. case 50:
12. printf("number is equal to 50\n");
13. case 100:
14. printf("number is equal to 100\n");
15. default:
16. printf("number is not equal to 10, 50 or 100");
17. }
18. return 0;
19. }

Output
enter a number:10
number is equal to 10
number is equal to 50
number is equal to 100
number is not equal to 10, 50 or 100

Output
enter a number:50
number is equal to 50
number is equal to 100
number is not equal to 10, 50 or 100
Nested switch case statement
We can use as many switch statement as we want inside a
switch statement. Such type of statements is called nested
switch case statements. Consider the following example.
1. #include <stdio.h>
2. int main () {
3.
4. int i = 10;
5. int j = 20;
6.
7. switch(i) {
8.
9. case 10:
10. printf("the value of i evaluated in outer switch:
%d\n",i);
11. case 20:
12. switch(j) {
13. case 20:
14. printf("The value of j evaluated in nested s
witch: %d\n",j);
15. }
16. }
17.
18. printf("Exact value of i is : %d\n", i );
19. printf("Exact value of j is : %d\n", j );
20.
21. return 0;
22. }

Output
the value of i evaluated in outer switch:
10
The value of j evaluated in nested switch:
20
Exact value of i is : 10
Exact value of j is : 20

if-else vs switch

What is an if-else statement?

An if-else statement in C programming is a conditional


statement that executes a different set of statements
based on the condition that is true or false. The 'if' block
will be executed only when the specified condition is true,
and if the specified condition is false, then the else block
will be executed.

Syntax of if-else statement is given below:

1. if(expression)
2. {
3. // statements;
4. }
5. else
6. {
7. // statements;
8. }
What is a switch statement?

A switch statement is a conditional statement used in C


Programming to check the value of a variable and
compare it with all the cases. If the value is matched with
any case, then its corresponding statements will be
executed. Each case has some name or number known as
the identifier. The value entered by the user will be
compared with all the cases until the case is found. If the
value entered by the user is not matched with any case,
then the default statement will be executed.

Syntax of the switch statement is given below:

1. switch(expression)
2. {
3. case constant 1:
4. // statements;
5. break;
6. case constant 2:
7. // statements;
8. break;
9. case constant n:
10. // statements;
11. break;
12. default:
13. // statements;
14. }
Similarity b/w if-else and switch

Both the if-else and switch are the decision-making


statements. Here, decision-making statements mean that
the output of the expression will decide which statements
are to be executed.
Differences b/w if-else and switch statement

The following are the differences between if-else and


switch statement are:

o Definition

if-else
Based on the result of the expression in the 'if-else' statement,
the block of statements will be executed. If the condition is
true, then the 'if' block will be executed otherwise 'else' block
will execute.

Switch statement

The switch statement contains multiple cases or choices.


The user will decide the case, which is to execute.

o Expression

If-else
It can contain a single expression or multiple expressions for
multiple choices. In this, an expression is evaluated based on
the range of values or conditions. It checks both equality and
logical expressions.

Switch
It contains only a single expression, and this expression is
either a single integer object or a string object. It checks only
equality expression.

o Evaluation

If-else
An if-else statement can evaluate almost all the types of data
such as integer, floating-point, character, pointer, or Boolean.

Switch
A switch statement can evaluate either an integer or a
character.

o Sequence of Execution

If-else

In the case of 'if-else' statement, either the 'if' block or the


'else' block will be executed based on the condition.

Switch

In the case of the 'switch' statement, one case after


another will be executed until the break keyword is not
found, or the default statement is executed.

o Default Execution
If-else

If the condition is not true within the 'if' statement, then


by default, the else block statements will be executed.

Switch

If the expression specified within the switch statement is


not matched with any of the cases, then the default
statement, if defined, will be executed.

o Values

If-else

Values are based on the condition specified inside the 'if'


statement. The value will decide either the 'if' or 'else'
block is to be executed.

Switch

In this case, value is decided by the user. Based on the


choice of the user, the case will be executed.

o Use

If-else

It evaluates a condition to be true or false.

Switch

A switch statement compares the value of the variable


with multiple cases. If the value is matched with any of the
cases, then the block of statements associated with this
case will be executed.

o Editing

If-else

Editing in 'if-else' statement is not easy as if we remove


the 'else' statement, then it will create the havoc.

Switch

Editing in switch statement is easier as compared to the


'if-else' statement. If we remove any of the cases from the
switch, then it will not interrupt the execution of other
cases. Therefore, we can say that the switch statement is
easy to modify and maintain.

o Speed

If-else

If the choices are multiple, then the speed of the


execution of 'if-else' statements is slow.

Switch

The case constants in the switch statement create a jump


table at the compile time. This jump table chooses the
path of the execution based on the value of the
expression. If we have a multiple choice, then the
execution of the switch statement will be much faster than
the equivalent logic of 'if-else' statement.
Let's summarize the above differences in a tabular
form.

If-else switch

Definition Depending on the The user will decide


condition in the 'if' which statement is to
statement, 'if' and be executed.
'else' blocks are
executed.

Expression It contains either It contains a single


logical or equality expression which can
expression. be either a character or
integer variable.

Evaluation It evaluates all types It evaluates either an


of data, such as integer, or character.
integer, floating-
point, character or
Boolean.

Sequence First, the condition is It executes one case


of checked. If the after another till the
execution condition is true break keyword is not
then 'if' block is found, or the default
executed otherwise statement is executed.
'else' block

Default If the condition is If the value does not


execution not true, then by match with any case,
default, else block then by default, default
will be executed. statement is executed.

Editing Editing is not easy in Cases in a switch


the 'if-else' statement are easy to
statement. maintain and modify.
Therefore, we can say
that the removal or
editing of any case will
not interrupt the
execution of other
cases.

Speed If there are multiple If we have multiple


choices choices then the switch
implemented statement is the best
through 'if-else', option as the speed of
then the speed of the execution will be
the execution will be much higher than 'if-
slow. else'.

C Loops
The looping can be defined as repeating the same
process multiple times until a specific condition satisfies.
There are three types of loops used in the C language.
Here, we are going to learn all the aspects of C loops.

Why use loops in C language?


The looping simplifies the complex problems into the
easy ones. It enables us to alter the flow of the program
so that instead of writing the same code again and again,
we can repeat the same code for a finite number of times.
For example, if we need to print the first 10 natural
numbers then, instead of using the printf statement 10
times, we can print inside a loop which runs up to 10
iterations.

Advantage of loops in C
1) It provides code reusability.

2) Using loops, we do not need to write the same code


again and again.

3) Using loops, we can traverse over the elements of


data structures (array or linked lists).

Types of C Loops
There are three types of loops in C Program that is given
below:

1. do while
2. while
3. for
do-while loop in C

The do-while loop continues until a given condition


satisfies. It is also called post tested loop. It is used when
it is necessary to execute the loop at least once (mostly
menu driven programs).

The syntax of do while loop in ‘C’ Program is given below:

1. do{
2. //code to be executed
3. }while(condition);

while loop in C
The while loop in c is to be used in the scenario where we
don't know the number of iterations in advance. The
block of statements is executed in the while loop until the
condition specified in the while loop is satisfied. It is also
called a pre-tested loop.

The syntax of while loop in c language is given below:

1. while(condition){
2. //code to be executed
3. }

for loop in C
The for loop is used in the case where we need to execute
some part of the code until the given condition is
satisfied. The for loop is also called as a per-tested loop.
It is better to use for loop if the number of iteration is
known in advance.

The syntax of for loop in c language is given below:


1. for(initialization;condition;incr/decr){
2. //code to be executed
3. }

Example 1
#include<stdio.h>
void main ()
{
int i;
for(i=1;i<=10;i++)
printf(“%i”, 5*i);
}

Output

5 10 15 20 25 30 35 40 45 50

Syntax of the for loop

i. for(j=0;j<25;j++) // No semicolon here


statement; // Single statement body

ii. for(j=0;j<15;j++) // No semicolon here

{
statement;
….//Compound statement body
statement;
} //No semicolon here
iii. for(j=0;j<25;j++);// Loop with no body

iv. for(i=0, j=0;j<25;j++, i--)


printf(“%d %d\n”, i, j); // Multiple initialization
and multiple update by using comma operator

v. for(;j<25;j++)
printf(“%d\n”, j); // Initialization expression not
used

vi. for(;;j++)
printf(“%d\n”, j); // Initialization and test
expression not used

vii. for(;;)
printf(“ I cannot stop.”); // Initialization, test and
update expression not used

do while loop in C
The do while loop is a post tested loop. Using the do-
while loop, we can repeat the execution of several parts
of the statements. The do-while loop is mainly used in the
case where we need to execute the loop at least once. The
do-while loop is mostly used in menu-driven programs
where the termination condition depends upon the end
user.
do while loop syntax
The syntax of the C language do-while loop is given
below:

1. do{
2. //code to be executed
3. }while(condition);

Syntax of the do while loop

i. do // No semicolon here
statement; // Single statement body
while(n<100); // Semicolon here

ii. do // No semicolon here


{
statement;
….//Compound statement body
//Multiple statement body
statement;
} while(n<100); //Semicolon here

Example 1
1. #include<stdio.h>
2. #include<stdlib.h>
3. void main ()
4. {
5. char c;
6. int choice,dummy;
7. do{
8. printf("\n1. Print Hello\n2. Print C
Programme\n3. Exit\n");
9. scanf("%d",&choice);
10. switch(choice)
11. {
12. case 1 :
13. printf("Hello");
14. break;
15. case 2:
16. printf("C Programme ");
17. break;
18. case 3:
19. exit(0);
20. break;
21. default:
22. printf("please enter valid choice");
23. }
24. printf("do you want to enter more?");
25. scanf("%d",&dummy);
26. scanf("%c",&c);
27. }while(c=='y');
28. }

Output
1. Print Hello
2. Print C Programme
3. Exit
1
Hello
do you want to enter more?
y

1. Print Hello
2. Print C Programme
3. Exit
2
C Programme
do you want to enter more?
n

do while example

There is given the simple program of c language


do while loop where we are printing the table of 1.
1. #include<stdio.h>
2. int main(){
3. int i=1;
4. do{
5. printf("%d \n",i);
6. i++;
7. }while(i<=10);
8. return 0;
9. }
Output
1
2
3
4
5
6
7
8
9
10
Program to print table for the given number using
do while loop
1. #include<stdio.h>
2. int main(){
3. int i=1,number=0;
4. printf("Enter a number: ");
5. scanf("%d",&number);
6. do{
7. printf("%d \n",(number*i));
8. i++;
9. }while(i<=10);
10. return 0;
11. }
Output
Enter a number: 5
5
10
15
20
25
30
35
40
45
50
Enter a number: 10
10
20
30
40
50
60
70
80
90
100

Infinitive do while loop


The do-while loop will run infinite times if we pass any non-
zero value as the conditional expression.

1. do{
2. //statement
3. }while(1);

while loop in C
While loop is also known as a pre-tested loop. In general, a
while loop allows a part of the code to be executed multiple
times depending upon a given boolean condition. It can be
viewed as a repeating if statement. The while loop is mostly
used in the case where the number of iterations is known in
advance.
Syntax of while loop in C language
The syntax of while loop in c language is given below:
1. while(condition){
2. //code to be executed
3. }

Syntax of the while loop

i. while(n!=0) // No semicolon here


statement; // Single statement body

ii. while(n<45) // No semicolon here


{
statement;
….//Compound statement body
statement;
} //No semicolon here

iii. while(j--);// Semicolon here →Loop with no body

iv. while(1) // No semicolon here → Infinite loop


puts(“ I cannot stop.”);

Example of the while loop in C language


Let's see the simple program of while loop that prints table of
1.
1. #include<stdio.h>
2. int main(){
3. int i=1;
4. while(i<=10){
5. printf("%d \n",i);
6. i++;
7. }
8. return 0;
9. }

Output
1
2
3
4
5
6
7
8
9
10

Program to print table for the given number using


while loop in C
1. #include<stdio.h>
2. int main(){
3. int i=1,number=0,b=9;
4. printf("Enter a number: ");
5. scanf("%d",&number);
6. while(i<=10){
7. printf("%d \n",(number*i));
8. i++;
9. }
10. return 0;
11. }

Output
Enter a number: 50
50
100
150
200
250
300
350
400
450
500
Enter a number: 100
100
200
300
400
500
600
700
800
900
1000

Program to find the average of the marks using while


loop in C
# include<stdio.h>
void main()
{
/* i is the input variable, sum is the sum of the marks, num is
the number of marks. */
int i, num=0;
float sum=0, average;
printf(“Input the marks, -1 at the end.\n”);
scanf(“%d”, &i);
while(i!=-1)
{
sum+=i;
sum++;
scanf(%d”, &i);
}
average=sum/num;
printf(“The average is %.2f”,average);
}
Output:
Input the marks, -1 at the end.
12
14
16
18
-1
The average is 15.00

Properties of while loop


o A conditional expression is used to check the
condition. The statements defined inside the while
loop will repeatedly execute until the given condition
fails.
o The condition will be true if it returns 0. The condition
will be false if it returns any non-zero number.
o In while loop, the condition expression is
compulsory.
o Running a while loop without a body is possible.
o We can have more than one conditional expression
in while loop.
o If the loop body contains only one statement, then
the braces are optional.
Example 1
1. #include<stdio.h>
2. void main ()
3. {
4. int j = 1;
5. while(j+=2;j<=10)
6. {
7. printf("%d ",j);
8. }
9. printf("%d",j);
10. }
Output
3 5 7 9 11
Example 2
1. #include<stdio.h>
2. void main ()
3. {
4. while()
5. {
6. printf("hello C Programming");
7. }
8. }
Output
compile time error: while loop can't be
empty
Example 3
1. #include<stdio.h>
2. void main ()
3. {
4. int x = 10, y = 2;
5. while(x+y-1)
6. {
7. printf("%d %d",x--,y--);
8. }
9. }
Output
infinite loop

Infinitive while loop in C


If the expression passed in while loop results in any non-zero
value then the loop will run the infinite number of times.

1. while(1){
2. //statement
3. }
for loop in C
The for loop in C language is used to iterate the
statements or a part of the program several times. It is
frequently used to traverse the data structures like the
array and linked list.
Syntax of for loop in C

The syntax of for loop in c language is given below:

1. for(Expression 1; Expression 2; Expression 3){


2. //code to be executed
3. }
C for loop Examples
Let's see the simple program of for loop that prints table
of 1.

1. #include<stdio.h>
2. int main(){
3. int i=0;
4. for(i=1;i<=10;i++){
5. printf("%d \n",i);
6. }
7. return 0;
8. }

Output
1
2
3
4
5
6
7
8
9
10

Program to illustrate the sum of squares


1. #include<stdio.h>
2. void main()
3. {
4. int i=1;
5. int sum=0, sum_of_squares=0;
6. for(i=15;i>=2;i-=2)
7. {
8. sum+=i;
9. sum_of_squares+=i*i;
10. }
11. printf("Sum of first 7 positive even
numbers=%d\n",sum);
12. printf("Sum of their squares=%d\n",
sum_of_squares);
13. }

Output
Sum of first 7 positive even numbers=56
Sum of their squares=560
C Program: Print table for the given number using C
for loop
14. #include<stdio.h>
15. int main(){
16. int i=1,number=0;
17. printf("Enter a number: ");
18. scanf("%d",&number);
19. for(i=1;i<=10;i++){
20. printf("%d \n",(number*i));
21. }
22. return 0;
23. }

Output
Enter a number: 2
2
4
6
8
10
12
14
16
18
20
Enter a number: 1000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000

Example 3

/*To check for a palindrome*/


1. #include <stdio.h>
2. void main()
3. {
4. int n.num.digit,sum=0,rev=0;
5. printf(“Input the number”);
6. scanf(“%d”,&num);
7. n=num;
8. do
9. {
10. digit=num%10;
11. num+=digit;
12. rev=rev*10+digit;
13. num/=10;
14. }
15. while(num!=0);
16. printf(“Sum of the digits of the
number=%4d\n”,sum);
17. printf(“Reverse of the number=%7d\n”,rev);
18. if(n==rev)
19. printf(“The number is a palindrome\n”);
20. else
21. printf(“The number is not a palindrome\n”);
22. }

Output
RUN1
Enter the number: 1234
Sum of the digits of the number=10
Reverse of the number=4321
The number is not a palindrome
RUN2
Enter the number: 1221
Sum of the digits of the number=6
Reverse of the number=1221
The number is a palindrome
Properties of Expression 1
o The expression represents the initialization of the

loop variable.
o We can initialize more than one variable in
Expression 1.
o Expression 1 is optional.

o In C, we cannot declare the variables in Expression 1.

However, It can be an exception in some compilers.

Example 1
1. #include <stdio.h>
2. int main()
3. {
4. int a,b,c;
5. for(a=0,b=12,c=23;a<2;a++)
6. {
7. printf("%d ",a+b+c);
8. }
9. }

Output
35 36

Example 2
1. #include <stdio.h>
2. int main()
3. {
4. int i=1;
5. for(;i<5;i++)
6. {
7. printf("%d ",i);
8. }
9. }

Output
1 2 3 4

Properties of Expression 2
o Expression 2 is a conditional expression. It checks for

a specific condition to be satisfied. If it is not, the loop


is terminated.
o Expression 2 can have more than one condition.

However, the loop will iterate until the last condition


becomes false. Other conditions will be treated as
statements.
o Expression 2 is optional.
o Expression 2 can perform the task of expression 1
and expression 3. That is, we can initialize the variable
as well as update the loop variable in expression 2
itself.
o We can pass zero or non-zero value in expression 2.
However, in C, any non-zero value is true, and zero is
false by default.

Example 1

1. #include <stdio.h>
2. int main()
3. {
4. int i;
5. for(i=0;i<=4;i++)
6. {
7. printf("%d ",i);
8. }
9. }

Output
0 1 2 3 4

Example 2

1. #include <stdio.h>
2. int main()
3. {
4. int i,j,k;
5. for(i=0,j=0,k=0;i<4,k<8,j<10;i++)
6. {
7. printf("%d %d %d\n",i,j,k);
8. j+=2;
9. k+=3;
10. }
11. }

Output
0 0 0
1 2 3
2 4 6
3 6 9
4 8 12

Example 3

1. #include <stdio.h>
2. int main()
3. {
4. int i;
5. for(i=0;;i++)
6. {
7. printf("%d",i);
8. }
9. }

Output
infinite loop
Properties of Expression 3
o Expression 3 is used to update the loop variable.
o We can update more than one variable at the same
time.
o Expression 3 is optional.

Example 1

1. #include<stdio.h>
2. void main ()
3. {
4. int i=0,j=2;
5. for(i = 0;i<5;i++,j=j+2)
6. {
7. printf("%d %d\n",i,j);
8. }
9. }

Output
0 2
1 4
2 6
3 8
4 10

Loop body
The braces {} are used to define the scope of the loop.
However, if the loop contains only one statement, then
we don't need to use braces. A loop without a body is
possible. The braces work as a block separator, i.e., the
value variable declared inside for loop is valid only for that
block and not outside. Consider the following example.

1. #include<stdio.h>
2. void main ()
3. {
4. int i;
5. for(i=0;i<10;i++)
6. {
7. int i = 20;
8. printf("%d ",i);
9. }
10. }

Output
20 20 20 20 20 20 20 20 20 20

Infinitive for loop in C


To make a for loop infinite, we need not give any
expression in the syntax. Instead of that, we need to
provide two semicolons to validate the syntax of the for
loop. This will work as an infinite for loop.

1. #include<stdio.h>
2. void main ()
3. {
4. for(;;)
5. {
6. printf("welcome to C Programming");
7. }
8. }

If you run this program, you will see above statement


infinite times.

Nested Loops in C
C supports nesting of loops in C. Nesting of loops is the
feature in C that allows the looping of statements inside
another loop. Let's observe an example of nesting loops in C.
Any number of loops can be defined inside another loop, i.e.,
there is no restriction for defining any number of loops. The
nesting level can be defined at n times. You can define any
type of loop inside another loop; for example, you can define
'while' loop inside a 'for' loop.

Syntax of Nested loop


1. Outer_loop
2. {
3. Inner_loop
4. {
5. // inner loop statements.
6. }
7. // outer loop statements.
8. }

Outer_loop and Inner_loop are the valid loops that can be a


'for' loop, 'while' loop or 'do-while' loop.
Nested for loop

The nested for loop means any type of loop which is


defined inside the 'for' loop.

1. for (initialization; condition; update)


2. {
3. for(initialization; condition; update)
4. {
5. // inner loop statements.
6. }
7. // outer loop statements.
8. }

Example of nested for loop

1. #include <stdio.h>
2. int main()
3. {
4. int n;// variable declaration
5. printf("Enter the value of n :");
6. // Displaying the n tables.
7. for(int i=1;i<=n;i++) // outer loop
8. {
9. for(int j=1;j<=10;j++) // inner loop
10. {
11. printf("%d\t",(i*j)); // printing the value.
12. }
13. printf("\n");
14. }
Explanation of the above code

o First, the 'i' variable is initialized to 1 and then


program control passes to the i<=n.
o The program control checks whether the condition
'i<=n' is true or not.
o If the condition is true, then the program control
passes to the inner loop.
o The inner loop will get executed until the condition
is true.
o After the execution of the inner loop, the control
moves back to the update of the outer loop, i.e., i++.
o After incrementing the value of the loop counter, the
condition is checked again, i.e., i<=n.
o If the condition is true, then the inner loop will be
executed again.
o This process will continue until the condition of the
outer loop is true.

Output:

Nested while loop


The nested while loop means any type of loop which is
defined inside the 'while' loop.

1. while(condition)
2. {
3. while(condition)
4. {
5. // inner loop statements.
6. }
7. // outer loop statements.
8. }

Example of nested while loop

1. #include <stdio.h>
2. int main()
3. {
4. int rows; // variable declaration
5. int columns; // variable declaration
6. int k=1; // variable initialization
7. printf("Enter the number of rows :"); // input the n
umber of rows.
8. scanf("%d",&rows);
9. printf("\nEnter the number of columns :"); // input
the number of columns.
10. scanf("%d",&columns);
11. int a[rows][columns]; //2d array declaration

12. int i=1;


13. while(i<=rows) // outer loop
14. {
15. int j=1;
16. while(j<=columns) // inner loop
17. {
18. printf("%d\t",k); // printing the value of
k.
19. k++; // increment counter
20. j++;
21. }
22. i++;
23. printf("\n");
24. }
25. }

Explanation of the above code.

o We have created the 2d array, i.e., int


a[rows][columns].
o The program initializes the 'i' variable by 1.
o Now, control moves to the while loop, and this loop
checks whether the condition is true, then the
program control moves to the inner loop.
o After the execution of the inner loop, the control
moves to the update of the outer loop, i.e., i++.
o After incrementing the value of 'i', the condition
(i<=rows) is checked.
o If the condition is true, the control then again moves
to the inner loop.
o This process continues until the condition of the
outer loop is true.

Output:

Nested do..while loop

The nested do..while loop means any type of loop which


is defined inside the 'do..while' loop.

1. do
2. {
3. do
4. {
5. // inner loop statements.
6. }while(condition);
7. // outer loop statements.
8. }while(condition);

Example of nested do..while loop.

1. #include <stdio.h>
2. int main()
3. {
4. /*printing the pattern
5. ********
6. ********
7. ********
8. ******** */
9. int i=1;
10. do // outer loop
11. {
12. int j=1;
13. do // inner loop
14. {
15. printf("*");
16. j++;
17. }while(j<=8);
18. printf("\n");
19. i++;
20. }while(i<=4);
21. }

Output:
Explanation of the above code.

o First, we initialize the outer loop counter variable, i.e.,


'i' by 1.
o As we know that the do..while loop executes once
without checking the condition, so the inner loop is
executed without checking the condition in the outer
loop.
o After the execution of the inner loop, the control
moves to the update of the i++.
o When the loop counter value is incremented, the
condition is checked. If the condition in the outer
loop is true, then the inner loop is executed.
o This process will continue until the condition in the
outer loop is true.
Infinite Loop in C
What is infinite loop?
An infinite loop is a looping construct that does not terminate
the loop and executes the loop forever. It is also called
an indefinite loop or an endless loop. It either produces a
continuous output or no output.
When to use an infinite loop

An infinite loop is useful for those applications that


accept the user input and generate the output
continuously until the user exits from the application
manually. In the following situations, this type of loop
can be used:
o All the operating systems run in an infinite loop as it
does not exist after performing some task. It comes
out of an infinite loop only when the user manually
shuts down the system.
o All the servers run in an infinite loop as the server
responds to all the client requests. It comes out of an
indefinite loop only when the administrator shuts
down the server manually.
o All the games also run in an infinite loop. The game
will accept the user requests until the user exits from
the game.
We can create an infinite loop through various loop structures.
The following are the loop structures through which we will
define the infinite loop:
o for loop
o while loop
o do-while loop
o go to statement
o C macros
For loop

Let's see the infinite 'for' loop. The following is the


definition for the infinite for loop:

1. for(; ;)
2. {
3. // body of the for loop.
4. }

As we know that all the parts of the 'for' loop are


optional, and in the above for loop, we have not
mentioned any condition; so, this loop will execute infinite
times.

Let's understand through an example.

1. #include <stdio.h>
2. int main()
3. {
4. for(;;)
5. {
6. printf("Hello C Programme");
7. }
8. return 0;
9. }

In the above code, we run the 'for' loop infinite times,


so "Hello C Programming" will be displayed infinitely.

Output

Hello C Programme Hello C Programme


Hello C Programme Hello C Programme
Hello C Programme Hello C Programme
Hello C Programme Hello C Programme
Hello C Programme Hello C Programme
Hello C Programme Hello C Programme

while loop

Now, we will see how to create an infinite loop using a


while loop. The following is the definition for the infinite
while loop:

1. while(1)
2. {
3. // body of the loop..
4. }

In the above while loop, we put '1' inside the loop


condition. As we know that any non-zero integer
represents the true condition while '0' represents the false
condition.
Let's look at a simple example.

1. #include <stdio.h>
2. int main()
3. {
4. int i=0;
5. while(1)
6. {
7. i++;
8. printf("i is :%d",i);
9. }
10. return 0;
11. }

In the above code, we have defined a while loop, which


runs infinite times as it does not contain any condition.
The value of 'i' will be updated an infinite number of
times.

Output
do..while loop

The do..while loop can also be used to create the infinite


loop. The following is the syntax to create the
infinite do..while loop.

1. do
2. {
3. // body of the loop..
4. }while(1);

The above do..while loop represents the infinite condition


as we provide the '1' value inside the loop condition. As
we already know that non-zero integer represents the
true condition, so this loop will run infinite times.

goto statement

We can also use the goto statement to define the infinite


loop.

1. infinite_loop;
2. // body statements.
3. goto infinite_loop;

In the above code, the goto statement transfers the


control to the infinite loop.

Macros

We can also create the infinite loop with the help of a


macro constant. Let's understand through an example.
1. #include <stdio.h>
2. #define infinite for(;;)
3. int main()
4. {
5.
6. infinite
7. {
8. printf("hello");
9. }
10.
11. return 0;
12. }

In the above code, we have defined a macro named as


'infinite', and its value is 'for(;;)'. Whenever the word
'infinite' comes in a program then it will be replaced with
a 'for(;;)'.

Output
Till now, we have seen various ways to define an infinite
loop. However, we need some approach to come out of
the infinite loop. In order to come out of the infinite loop,
we can use the break statement.

Let's understand through an example.

1. #include <stdio.h>
2. int main()
3. {
4. char ch;
5. while(1)
6. {
7. ch=getchar();
8. if(ch=='n')
9. {
10. break;
11. }
12. printf("hello");
13. }
14. return 0;
15. }

In the above code, we have defined the while loop, which


will execute an infinite number of times until we press the
key 'n'. We have added the 'if' statement inside the while
loop. The 'if' statement contains the break keyword, and
the break keyword brings control out of the loop.

Unintentional infinite loops

Sometimes the situation arises where unintentional


infinite loops occur due to the bug in the code. If we are
the beginners, then it becomes very difficult to trace
them. Below are some measures to trace an unintentional
infinite loop:

o We should examine the semicolons carefully.


Sometimes we put the semicolon at the wrong place,
which leads to the infinite loop.

1. #include <stdio.h>
2. int main()
3. {
4. int i=1;
5. while(i<=10);
6. {
7. printf("%d", i);
8. i++;
9. }
10. return 0;
11. }

In the above code, we put the semicolon after the


condition of the while loop which leads to the infinite
loop. Due to this semicolon, the internal body of the while
loop will not execute.

o We should check the logical conditions carefully.


Sometimes by mistake, we place the assignment
operator (=) instead of a relational operator (= =).

1. #include <stdio.h>
2. int main()
3. {
4. char ch='n';
5. while(ch='y')
6. {
7. printf("hello");
8. }
9. return 0;
10. }

In the above code, we use the assignment operator


(ch='y') which leads to the execution of loop infinite
number of times.

o We use the wrong loop condition which causes the


loop to be executed indefinitely.
1. #include <stdio.h>
2. int main()
3. {
4. for(int i=1;i>=1;i++)
5. {
6. printf("hello");
7. }
8. return 0;
9. }

The above code will execute the 'for loop' infinite number
of times. As we put the condition (i>=1), which will always
be true for every condition, it means that "hello" will be
printed infinitely.

o We should be careful when we are using


the break keyword in the nested loop because it will
terminate the execution of the nearest loop, not the
entire loop.

1. #include <stdio.h>
2. int main()
3. {
4. while(1)
5. {
6. for(int i=1;i<=10;i++)
7. {
8. if(i%2==0)
9. {
10. break;
11. }
12. }
13. }
14. return 0;
15. }

In the above code, the while loop will be executed an


infinite number of times as we use the break keyword in
an inner loop. This break keyword will bring the control
out of the inner loop, not from the outer loop.

o We should be very careful when we are using the


floating-point value inside the loop as we cannot
underestimate the floating-point errors.

1. #include <stdio.h>
2. int main()
3. {
4. float x = 3.0;
5. while (x != 4.0) {
6. printf("x = %f\n", x);
7. x += 0.1;
8. }
9. return 0;
10. }

In the above code, the loop will run infinite times as the
computer represents a floating-point value as a real value.
The computer will represent the value of 4.0 as 3.999999
or 4.000001, so the condition (x !=4.0) will never be false.
The solution to this problem is to write the condition as
(k<=4.0).

C break statement
The break is a keyword in C which is used to bring the
program control out of the loop. The break statement is
used inside loops or switch statement. The break
statement breaks the loop one by one, i.e., in the case of
nested loops, it breaks the inner loop first and then
proceeds to outer loops. The break statement in C can be
used in the following two scenarios:

1. With switch case


2. With loop
Syntax:
1. //loop or switch case
2. break;

Example
1. #include<stdio.h>
2. #include<stdlib.h>
3. void main ()
4. {
5. int i;
6. for(i = 0; i<10; i++)
7. {
8. printf("%d ",i);
9. if(i == 5)
10. break;
11. }
12. printf("came outside of loop i = %d",i);
13.
14. }

Output
0 1 2 3 4 5 came outside of loop i = 5
Example of C break statement with switch case

Click here to see the example of C break with switch


statement.

C break statement with the nested loop


In such case, it breaks only the inner loop, but not outer
loop.

1. #include<stdio.h>
2. int main(){
3. int i=1,j=1;//initializing a local variable
4. for(i=1;i<=3;i++){
5. for(j=1;j<=3;j++){
6. printf("%d &d\n",i,j);
7. if(i==2 && j==2){
8. break;//will break loop of j only
9. }
10. }//end of for loop
11. return 0;
12. }
Output
1 1
1 2
1 3
2 1
2 2
3 1
3 2
3 3

As you can see the output on the console, 2 3 is not


printed because there is a break statement after printing
i==2 and j==2. But 3 1, 3 2 and 3 3 are printed because
the break statement is used to break the inner loop only.

break statement with while loop


Consider the following example to use break statement
inside while loop.

1. #include<stdio.h>
2. void main ()
3. {
4. int i = 0;
5. while(1)
6. {
7. printf("%d ",i);
8. i++;
9. if(i == 10)
10. break;
11. }
12. printf("came out of while loop");
13. }

Output
0 1 2 3 4 5 6 7 8 9 came out of
while loop

break statement with do-while loop


Consider the following example to use the break
statement with a do-while loop.

1. #include<stdio.h>
2. void main ()
3. {
4. int n=2,i,choice;
5. do
6. {
7. i=1;
8. while(i<=10)
9. {
10. printf("%d X %d = %d\n",n,i,n*i);
11. i++;
12. }
13. printf("do you want to continue with the ta
ble of %d , enter any non-
zero value to continue.",n+1);
14. scanf("%d",&choice);
15. if(choice == 0)
16. {
17. break;
18. }
19. n++;
20. }while(1);
21. }

Output
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
2 X 10 = 20
do you want to continue with the table of
3 , enter any non-zero value to continue.1
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27
3 X 10 = 30
do you want to continue with the table of
4 , enter any non-zero value to continue.0
C continue statement
The continue statement in C language is used to bring the
program control to the beginning of the loop. The continue
statement skips some lines of code inside the loop and
continues with the next iteration. It is mainly used for a
condition so that we can skip some code for a particular
condition.
Syntax:
1. //loop statements
2. continue;
3. //some lines of the code which is to be skipped
Continue statement example 1
1. #include<stdio.h>
2. void main ()
3. {
4. int i = 0;
5. while(i!=10)
6. {
7. printf("%d", i);
8. continue;
9. i++;
10. }
11. }

Output
infinite loop

Continue statement example 2


1. #include<stdio.h>
2. int main(){
3. int i=1;//initializing a local variable
4. //starting a loop from 1 to 10
5. for(i=1;i<=10;i++){
6. if(i==5){//if value of i is equal to 5, it will continue the lo
op
7. continue;
8. }
9. printf("%d \n",i);
10. }//end of for loop
11. return 0;
12. }

Output
1
2
3
4
6
7
8
9
10

As you can see, 5 is not printed on the console because loop is


continued at i==5.
C continue statement with inner loop
In such case, C continue statement continues only inner
loop, but not outer loop.

1. #include<stdio.h>
2. int main(){
3. int i=1,j=1;//initializing a local variable
4. for(i=1;i<=3;i++){
5. for(j=1;j<=3;j++){
6. if(i==2 && j==2){
7. continue;//will continue loop of j only
8. }
9. printf("%d %d\n",i,j);
10. }
11. }//end of for loop
12. return 0;
13. }

Output
1 1
1 2
1 3
2 1
2 3
3 1
3 2
3 3

As you can see, 2 2 is not printed on the console because


inner loop is continued at i==2 and j==2.

C goto statement
The goto statement is known as jump statement in C. As the
name suggests, goto is used to transfer the program control to
a predefined label. The goto statment can be used to repeat
some part of the code for a particular condition. It can also be
used to break the multiple loops which can't be done by using
a single break statement. However, using goto is avoided
these days since it makes the program less readable and
complicated.
Syntax:
1. label:
2. //some part of the code;
3. goto label;
goto example
Let's see a simple example to use goto statement in C
language.
1. #include <stdio.h>
2. int main()
3. {
4. int num,i=1;
5. printf("Enter the number whose table you want to print?
");
6. scanf("%d",&num);
7. table:
8. printf("%d x %d = %d\n",num,i,num*i);
9. i++;
10. if(i<=10)
11. goto table;
12. }

Output:
Enter the number whose table you want to
print?10
10 x 1 = 10
10 x 2 = 20
10 x 3 = 30
10 x 4 = 40
10 x 5 = 50
10 x 6 = 60
10 x 7 = 70
10 x 8 = 80
10 x 9 = 90
10 x 10 = 100

When should we use goto?


The only condition in which using goto is preferable is
when we need to break the multiple loops using a single
statement at the same time. Consider the following
example.

1. #include <stdio.h>
2. int main()
3. {
4. int i, j, k;
5. for(i=0;i<10;i++)
6. {
7. for(j=0;j<5;j++)
8. {
9. for(k=0;k<3;k++)
10. {
11. printf("%d %d %d\n",i,j,k);
12. if(j == 3)
13. {
14. goto out;
15. }
16. }
17. }
18. }
19. out:
20. printf("came out of the loop");
21. }
0 0 0
0 0 1
0 0 2
0 1 0
0 1 1
0 1 2
0 2 0
0 2 1
0 2 2
0 3 0
came out of the loop

Type Casting in C
Typecasting allows us to convert one data type into other.
In C language, we use cast operator for typecasting which
is denoted by (type).

Syntax:
1. (type)value;
Note: It is always recommended to convert the lower
value to higher for avoiding data loss.

Without Type Casting:

1. int f= 9/4;
2. printf("f : %d\n", f );//Output: 2

With Type Casting:

1. float f=(float) 9/4;


2. printf("f : %f\n", f );//Output: 2.250000

Type Casting example


Let's see a simple example to cast int value into the float.

1. #include<stdio.h>
2. int main(){
3. float f= (float)9/4;
4. printf("f : %f\n", f );
5. return 0;
6. }

Output:
f : 2.250000

You might also like