91
C Programming - Decision & Loop Control Organized By: Vinay Arora Assistant Professor, CSED Thapar University, Patiala

C Prog. - Decision & Loop Controls

Embed Size (px)

Citation preview

Page 1: C Prog. - Decision & Loop Controls

C Programming - Decision & Loop

Control

Organized By: Vinay Arora

Assistant Professor, CSED

Thapar University, Patiala

Page 2: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Decision Control

� The if statement

� The if-else statement

� The conditional operators

Page 3: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Forms of if

Page 4: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Forms of if (contd.)

Page 5: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Relational Operator

Page 6: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Demonstrating - If

Page 7: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Flowchart

Page 8: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Demonstrating - If

Page 9: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Flowchart

Page 10: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Expression in Conditional Part

Page 11: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Multiple statements within if

Page 12: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Demonstrating If - Else

Page 13: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Flowchart If-Else

Page 14: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Logical Operators with If-Else

Page 15: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Logical Operators with If-Else

Page 16: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Else-if ladder

Page 17: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Logical Operators with If-Else

Page 18: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Smallest amongst 3 nos.

Page 19: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Smallest amongst 3 nos.

Page 20: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Program using Logical OR, elseif

Page 21: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Calculate Salary as per following table

Page 22: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

&& - Logical AND

� C allows usage of three logical operators, namely, &&, || and !

� These are to be read as ‘AND’ ‘OR’ and ‘NOT’ respectively.

� Don’t use the single symbol | and &. These single symbols also have a

meaning.

� The first two operators, && and ||, allow two or more conditions to be

combined in an if statement.

Page 23: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

&& - Logical AND (C Program)

Page 24: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 25: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 26: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

| | - Logical OR (C Program)

Page 27: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 28: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 29: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

! - Logical NOT

� This operator reverses the result of the expression it operates on.

� For example, if the expression evaluates to a non-zero value, then

applying ! operator to it results into a 0.

� Vice versa, if the expression evaluates to zero then on applying !

operator to it makes it 1, a non-zero value.

Page 30: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

! - Logical NOT (C Program)

Page 31: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 32: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 33: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

&&, ||, ! Operator

Page 34: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

? : - Conditional Operator

� The conditional operators ? and : are sometimes called Ternary

Operators since they take three arguments.

� They form a kind of foreshortened if-then-else.

� Their general form is, expression 1 ? expression 2 : expression 3

� 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.

Page 35: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Conditional Operator (C Program)

Page 36: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 37: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 38: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

goto Statement

� goto is used to switch the control flow.

� In a difficult programming situation it seems so easy to use a goto to

take the control.

� In most of the scenarios use of goto is depreciated.

� goto can be replaced by if-else, switch, for.

Page 39: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

goto Statement - Program

Page 40: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 41: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 42: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

switch Statement

� The control statement that allows us to make a decision from the number

of choices is called a switch.

The integer expression following the keyword switch is any C expression that

will yield an integer value.

Page 43: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

switch Statement - Flowchart

Page 44: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

switch Statement - Program

Page 45: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 46: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 47: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Loops

� Repetitive instructions is done through a Loop control instruction.

� This involves repeating some portion of the program either a

specified number of times or until a particular condition is being

satisfied.

� There are three methods by way of which we can repeat a part of a

program. They are:

(a) Using a while statement

(b) Using a do-while statement

(c) Using a for statement

Page 48: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

while Loop - Flowchart

Page 49: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

while Loop – general form

Page 50: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

while Loop – forms of conditions

Page 51: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

while Loop – C Program

Page 52: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Page 53: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

While Loop – Program 1

//Program to demonstrate simple while loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i=1;

clrscr();

while (i<=10)

{

printf("%d\n",i);

i=i+1;

}

getch();

}

Page 54: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Output

Page 55: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

While Loop – Program 2

//Program to demonstrate simple while loop with decrement operator

#include<stdio.h>

#include<conio.h>

void main()

{

int i=5;

clrscr();

while (i>=1)

{

printf("%d\n",i);

i=i-1;

}

getch();

}

Page 56: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Output

Page 57: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

While Loop – Program 3

/* Program to demonstrate simple while loop taking incremental value

as float */

#include<stdio.h>

#include<conio.h>

void main()

{

float i=10.0;

clrscr();

while (i<=10.5)

{

printf("\nCivil Engineering at Thapar");

i=i+.1;

}

getch();

}

Page 58: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Output

Page 59: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

While Loop – Program 4

//Demonstrating simple while loop with integer value out of range

#include<stdio.h>

#include<conio.h>

void main()

{

int i=1;

clrscr();

while (i<=32767)

{

printf("%d\n",i);

i=i+1;

}

getch();

}

Page 60: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Output – Infinite Loop

Page 61: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

While Loop – Program 5

//Program to demonstrate simple while loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i=1;

clrscr();

while (i<=10);

{

printf("%d\n",i);

i=i+1;

}

getch();

}

Page 62: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Output

Page 63: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

While Loop – Program 6

//Program to demonstrate post increment operator in while loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i=1;

clrscr();

while (i<=10)

{

printf("%d\n",i);

i=i++;

}

getch();

}

Page 64: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Output

Page 65: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

While Loop – Program 7

//Program to demonstrate compound assignment operator within while loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i=1;

clrscr();

while (i<=5)

{

printf("%d\n",i);

i+=1;

}

getch();

}

Page 66: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Output

Page 67: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

While Loop – Program 8

//Program to demonstrate post increment operator with while loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i=0;

clrscr();

while (i++ < 5)

{

printf("%d\n",i);

}

getch();

}

Page 68: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Output

Page 69: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

While Loop – Program 9

//Program to find out even numbers between 1-10

#include<stdio.h>

#include<conio.h>

void main()

{

int i=1;

clrscr();

while (i<=10)

{

if (i%2==0)

printf("%d\n",i);

i=i+1;

}

getch();

}

Page 70: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Output

Page 71: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Do-while Loop

WhileWhile

Do while

Page 72: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Do-while Loop – Program 10

//Program to demonstrate DO-WHILE loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i=1;

clrscr();

/*

while(i<1)

{

printf("hello i am at Thapar");

}

*/

do

{printf("hello i am at Thapar");

}

while(i<1);

getch();

}

Page 73: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Output

Page 74: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Program Transformation

Unary Post Increment

Operator

Page 75: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Program Transformation

Compound

Assignment Operator

Page 76: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop

� The for allows us to specify three things about a loop in a single line:

Page 77: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-1)

//Program to demonstrate simple For loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i;

clrscr();

for (i=1; i<=10; i=i+1)

printf("%d\n",i);

getch();

}

Page 78: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-1 Output)

Page 79: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-2)

//Program to demonstrate simple For loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i;

clrscr();

for (i=1; i<=10;)

{

printf("%d\n",i);

i=i+1;

}

getch();

}

Page 80: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-2 Output)

Page 81: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-3)

//Program to demonstrate simple For loop

//Print numbers from 1 to 5

#include<stdio.h>

#include<conio.h>

void main()

{

int i=1;

clrscr();

for (;i<=5;i=i+1)

{

printf("%d\n",i);

}

getch();

}

Page 82: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-3 Output)

Page 83: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-4)

//Program to demonstrate simple For loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i=1;

clrscr();

for (;i<=5;)

{

printf("%d\n",i);

i=i+1;

}

getch();

}

Page 84: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-4 Output)

Page 85: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-5)

//Program to demonstrate simple For loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i;

clrscr();

for (i=0;i++<5;)

{

printf("%d\n",i);

}

getch();

}

Page 86: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-5 Output)

Page 87: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-6)

//Program to demonstrate simple For loop

#include<stdio.h>

#include<conio.h>

void main()

{

int i;

clrscr();

for (i=0;++i<5;)

{

printf("%d\n",i);

}

getch();

}

Page 88: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-6 Output)

Page 89: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-7)

//Program to demonstrate NESTED For loop#include<stdio.h>

#include<conio.h>

void main(){int i,j;

clrscr();

for (i=1;i<=5;i=i+1){printf("\n");

for (j=1;j<=i;j=j+1){printf(" *");}

}

getch();}

Page 90: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

For Loop (Program-7 Output)

Page 91: C Prog. - Decision & Loop Controls

Vinay Arora

CSED

Thnx…