0% found this document useful (0 votes)
2 views40 pages

Control Statements

The document provides an overview of control statements in C programming, detailing decision control statements such as if, if-else, and switch, as well as loop control statements like while, do-while, and for. It explains the syntax and usage of these statements, including examples and flowcharts to illustrate their functionality. Additionally, it covers logical operators, conditional operators, and the exit function, highlighting the differences between exit and break statements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views40 pages

Control Statements

The document provides an overview of control statements in C programming, detailing decision control statements such as if, if-else, and switch, as well as loop control statements like while, do-while, and for. It explains the syntax and usage of these statements, including examples and flowcharts to illustrate their functionality. Additionally, it covers logical operators, conditional operators, and the exit function, highlighting the differences between exit and break statements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 40

Programming In C

Control
Statements

Objectives of these slides:


to introduce the main kinds of C control flow
Control Structures
• There may be situations where the programmer requires to alter
normal flow of execution of program or to perform the same
operation a no. of times.

• Various control statements supported by c are-

• Decision control statements


• Loop control statements
Decision Control Statements
• Decision control statements alter the normal sequential
execution of the statements of the program depending
upon the test condition to be carried out at a particular
point in program.
• Decision control statements supported by c are:-
• if statement
• if-else statement
• Else if Ladder
• Nested If
• switch statement
Decision Control Statements
• if statement
• Most simple and powerful decision control statement.
• It executes a statement or block of statements only if
the condition is true.
• Syntax:
if (condition) if (condition)
{ OR {
statement (s); statement
1;
}
statement 2;
Next statement; }

statement 3;
• In above syntax, if condition is true only then the
statements within the block are executed otherwise
How do we express the condition in C?
• By using C’s ‘relational’ operators
- The relational operators allow us to compare two values to
see whether they are equal to each other, unequal, or whether one is
greater than the other.
Precedence and Order of evaluation
this expression is true if associativity
x<y x is less than y Left to right
x>y x is greater than y
x <= y x is less than or equal to y
x >= y x is greater than or equal to
y
x == y x is equal to y Left to right
x != y x is not equal to y
• Flowchart /* Program to check whether a no. is even */
# include<stdio.h>
# include<conio.h>
void main()
False {
Condition int num;
clrscr();
True
printf(“enter the number”);
Block of
scanf(“%d”,&num)
if
if(num%2==0)
Next {
statement
printf(“\n Number is even”);
STOP }
printf(“ End of program”);
getch();
}
if – else statement
• In case of if statement, the block of statements is executed only when the
condition is true otherwise the control is transferred to the next statement
following if block.
• But if specific statements are to be executed in both cases (either condition is true
or false) then if – else statement is used.
• In if – else statement a block of statements are executed if the condition is true
but a different block of statements is executed when the condition is false.
• Syntax:
if (condition) False
Test
{ Condition
statement 1;
statement 2; True

} Block of if Block of else


else
{ Next statement
statement 3;
} STOP
/* In a company an employee is paid as under:
If his basic salary is less than Rs. 1500, then HRA = 10% of basic salary and DA = 90%
of basic salary. If his salary is either equal to or above Rs. 1500, then HRA = Rs. 500
and DA = 98% of basic salary. If the employee's salary is input through the keyboard
write a program to find his gross salary. */
Exercise: WAP to check whether a given no. is even or odd?
Nested if – else statement
• When an entire if-else is enclosed within the body of if statement
or/and in the body of else statement, it is known as nested if-else
statement.
• The ways of representing nested if –else are-

if if else if (condition1)
(condition1) (condition1) {
statement 1;
if (condition 3)
{ {
statement 3; else
if if else {
(condition2) (condition2) statement 4;
} if (condition2)
statement
statement 1; 1; statement 2;

else else else


statement statement 3;
statement 2; 2; }
}
Example of Nested if-else statement
/* A quick demo of nested if-else */
main( )
{
int i ;
printf ( "Enter either 1 or 2 " ) ;
scanf ( "%d", &i ) ;
if ( i == 1 )
printf ( “Turn left !" ) ;
else
{
if ( i == 2 )
printf ( “Turn right !" ) ;
else
printf ( “Go straight !" ) ;
}
}
If- else- if ladder
• In a program involving multiple conditions, the nested if else
statements makes the program very difficult to write and
understand if nested more deeply.
• For this ,we use if-else-if ladder.
• Syntax: if (condition1) false
statement1; condition 1

else if(condition2) false


condition 2
statement2; true
false
else if(condition3)Statement 1 true condition 3

statement 3; Statement 2 true


else
Statement 3
default statement;
Default statemen

Next statement
Switch statement
• Switch is a multi-way decision making statement which selects one
of the several alternatives based on the value of single variable or
expression.
• It is mainly used to replace multiple if-else-if statement.
• The if-else-if statement causes performance degradation as several
conditions need to be evaluated before a particular condition is
satisfied.
• Syntax: switch (expression)
{
case constant1 : statement (s); [break;]
case constant2 : statement (s); [break;]
…………………………………….
default: statement (s)
}
Logical Operators

Operator Meaning
&& Logical AND
|| Logical OR
! Logical NOT

Logical expression or a compound relational


expression-
An expression that combines two or more relational
expressions
Ex: if (a==b && b==c)
The marks obtained by a student in 5 different subjects are input through
the keyboard. The student gets a division as per the following rules:
Percentage above or equal to 60 - First division Percentage between 50 and
59 - Second division Percentage between 40 and 49 - Third division
Percentage less than 40 - Fail
• There are two ways in which we can write a program for this example.
Same example is implemented by If- else- if
ladder
The ! Operator
• This operator reverses the result of the expression it operates
on.
Example: ! ( y < 10 )
• This means “not y less than 10”.
 If y is less than 10, the expression will be false, since ( y < 10 )
is true. We can express the same condition as ( y >= 10 ).
Let : if ( ! flag ) means if ( flag == 0 )
Hierarchy of Operators Revisited
The higher the position of an operator is in the table, higher is its
priority.

Operators Type
! Logical NOT
*/% Arithmetic and modulus
+- Arithmetic
< > <= >= Relational
== != Relational
&& Logical AND
|| Logical OR
= Assignment
The Conditional Operators
 The conditional operators ? and : are sometimes called ternary operators since they
take three arguments.
 Syntax: expression 1 ? expression 2 : expression 3
– It means: if expression 1 is true (that is, if its value is non-zero), then the value
returned will be expression 2, otherwise, the value returned will be expression 3.
– Example:

or

– if a >=65 && a <=90 evaluates to


– This statement will store 3 in y True then 1 would be assigned to y
otherwise 0 would be assigned.
if x is greater than 5, otherwise, it
will store 4 in y.

The limitation of the conditional operators: after the ? or after the : only one C statement can occur.
Solve

1. 5. main()
{
int x=10,y=100%90;
if(x!=y);
2. printf(“x=%dy=%d”,x,y);
}

3.
6. main()
This will give you an error ‘Lvalue {
Required’- Why? int x=3,y=4,z=4;
printf(“ans=%d”,z>=y&&y>=z?1:0);
4. }

If(!a>=400) then?
Solve:
1.

2.

3.

4. Write C program to find the roots of quadratic equation.

4. Write a C program to check the number is prime or not.


LOOP CONTROL STATEMENTS
Looping Structures
• When we want to repeat a group of statements a no. of
times, loops are used.
• These loops are executed until the condition is true.
• When the condition becomes false, control terminates
the loop and moves on to the next instruction
immediately after the loop.
• Various looping structures are-
• while
• do – while
• for
LOOPING STATEMENTS
• Loop is divided into two parts:
• Body of the loop
• Control of loop

• Mainly control of the loop is divided into two parts:


• Entry Control loop (while, for)
• Exit Control loop (do-while)
• There are three methods by which we can repeat a part of a program. They
are:
(a) Using a for statement
(b) Using a while statement
(c) Using a do-while statement
while statement
• While loop is used to execute a set of statements as long as the
condition evaluates to true.
• It is mostly used in those cases where the programmer doesn’t
know in advance how many times the loop will be executed.
• Syntax: while (condition)
{
Statement 1 ;
Statement 2 ; condition true statement
}

Statement after while loop


Calculation of simple interest for 3 sets of p, n
and r
START

count = 1

is No
count <= 3

Yes
STOP
INPUT
p, n, r

si = p * n * r / 100

PRINT
si

count = count + 1

The variable count is many times, called either


a ‘loop counter’ or an ‘index variable’.
do- while
• do-while is similar to while except that its test condition is
evaluated at the end of the loop instead at the beginning as
in case of while loop.
• So, in do-while the body of the loop always executes at
least once even if the test condition evaluates to false
during the first iteration.
• Syntax: do
Body of loop
{
statement 1; true
statement 2; Test condition

}while (condition);
false
statement;
Next statement
for loop
• Most versatile and popular of three loop structures.
• Is used in those situations when a programmer knows in
advance the number of times a statement or block will
be executed.
• It contains loop control elements all at one place while
in other loops they are scattered over the program and
are difficult to understand.
• Syntax:-
for (initialization; condition; increment/decrement)
{
Statement( s);
}
The for is a sort of while

for (expr1; expr2; expr3)


statement;

is equivalent to:

expr1;
while (expr2) {
statement;
expr3;
}
Various other ways of writing same for loops

i=1 for (i=1; ;i+ for


for (; i<=15;i ++) +) (i=1;i<=15;)
{ { {
……..
……… ………….
}
if (i>15) i++;
break; }
……
}
Some Examples
for(i = 7; i <=77; i += 7)
statement;
for(i = 20; i >= 2; i -= 2)
statement;

for(j = 10; j > 20; j++)


statement;
for(j = 10; j > 0; j--)
statement;
Break statement
• Break statement terminates the execution of the loop in which it
is defined.
• The control is transferred immediately to the next executable
statement after the loop.
• It is mostly used to exit early from the loop by skipping the
remaining statements of loop or switch control structures.
• Syntax: break;
Incrementing and Decrementing
Incrementing
• Add 1 to c by writing:
c = c + 1;

Also: c += 1;
Also: c++;
Also: ++c;
/* Preincrementing and postincrementing */

#include <stdio.h>

int main()
{
int c;

c = 5;
printf("%d\n", c);
printf("%d\n",c++); /*post increment*/
printf("%d\n\n", c);
:

continued
c = 5;
printf("%d\n", c);
printf("%d\n",++c); /*pre-
increment*/
printf("%d\n", c);
return 0;
}
Output:
5
5
6
5
6
6
Decrementing

• Take 1 from c by writing:


c = c - 1;

Also: c -= 1;
Also: c--;
Also: --c;
Continue statement
• Like break ,continue statement also skips the remaining
statements of the body of the loop where it is defined but
instead of terminating the loop, the control is transferred
to the beginning of the loop for next iteration.
• The loop continues until the test condition of the loop
become false.
• Syntax: continue;
• E.g. for (m=1;m<=3;m++)
{ Output:
for (n=1;n<=2;n++) 1 2
{ 2 1
if (m==n) 3 1
continue; 3 2
printf(“ m=%d n=%d”);
}
}
goto Statement
• An unconditional control statement that causes the
control to jump to a different location in the program
without checking any condition.
• It is normally used to alter the normal sequence of
program execution by transferring control to some
other part of the program.
• So it is also called jump statement.
• Syntax: goto label;
• Label represents an identifier which is used to label the
destination statement to which the control should be
transferred.
label : statement;
• The goto statement causes the control to be shifted
either in forward direction or in a backward direction .
exit() function

• C provides a run time library function exit() which


when encountered in a program causes the
program to terminating without executing any
statement following it.
• Syntax: exit(status);
Status is an integer variable or constant.
• If the status is 0,then program normally
terminates without any errors.
• A non-zero status indicates abnormal termination
of the program.
• The exit() function is defined in the process.h
header file.
Difference b/w exit() & break

•Exit() is used to transfer the control


completely out of the program
whereas break is used to transfer
the control out of the loop or switch
statement.

You might also like