Slide 08b - Control Structure - Loop
Slide 08b - Control Structure - Loop
(Part 2)
for
while
do-while
Loop : for
Example
Write a program which does the following:
Reads 5 integers and displays the sum of all
integers
Input example: 3
Output example: 16
TK1913-C Programming
counter < 6
true
input x
sumsum+ x
counter++
output sum
TK1913-C Programming
i 1, sum 0
false
i< 6
true
input x
sumsum+ x
i++
output sum
TK1913-C Programming
i 0, sum 0
false
i< 6
true
input x
sumsum+ x
i++
output sum
TK1913-C Programming
i 0, sum 0
false
i< 5
true
input x
sumsum+ x
i++
output sum
TK1913-C Programming
The C statements:
int x, sum, i;
sum = 0;
for (i = 0; i < 5; i++) {
scanf(%d,&x);
sum = sum + x;
}
printf(%d,sum);
TK1913-C Programming
i 0, sum 0
false
i< 5
true
input x
sumsum+ x
i++
output sum
TK1913-C Programming
int x, sum, i;
sum = 0;
for (i = 0; i < 5; i++) {
scanf(%d,&x);
sum = sum + x;
}
printf(%d,sum);
9
for statement
???
Example:
for ( num = 1; num <= 3; num++ )
printf(%d\t, num);
1
num
TK1913-C Programming
10
for statement
1
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
num
TK1913-C Programming
11
for statement
1
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
num
TK1913-C Programming
12
for statement
1
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
num
TK1913-C Programming
13
for statement
2
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
num
TK1913-C Programming
14
for statement
2
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
num
TK1913-C Programming
15
for statement
2
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
bil
TK1913-C Programming
16
for statement
3
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
num
TK1913-C Programming
17
for statement
3
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
num
TK1913-C Programming
18
for statement
3
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
TK1913-C Programming
num
19
for statement
4
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
TK1913-C Programming
num
20
for statement
4
Example:
for (num = 1; num <= 3; num++ )
printf(%d\t, num);
TK1913-C Programming
num
21
for
while
do-while
TK1913-C Programming
22
Loop: while
Condition is tested first
Loop is controlled by condition or a counter
Syntax
while (condition)
statement;
Or
while (condition) {
statement;
statement;
}
TK1913-C Programming
23
TK1913-C Programming
24
input m
false
m<0 || m>100
true
WRONG INPUT
input m
Exercise:
Convert this
flowchart to a
C program
true
m>49
PASS
false
FAIL
TK1913-C Programming
25
int marks;
scanf(%d,&marks);
while (marks<0) | | (marks>100) {
printf(WRONG INPUT);
scanf(%d,&marks);
}
if (marks>49) {
printf(PASS);
else
printf(FAIL);
}
TK1913-C Programming
Double
Selection
26
Exercise
Draw the
flowchart for
this problem
Input example:
1 3 23
999
Output example:
Sum = 27
TK1913-C Programming
27
Sentinel-controlled loop
#include <stdio.h>
sum=0
void main() {
input x
int sum, x;
sum = 0;
false
scanf(%d, &x);
x!=999
while (x != 999) {
true
sum = sum + x;
sumsum+x
scanf(%d, &x);
}
input x
output sum
TK1913-C Programming
int sum, x;
sum = 0;
scanf(%d, &x);
3!=
999
!=!=
999
999
999
!= 999
while (x != 999) { 123
sum = sum + x;
scanf(%d, &x);
}
printf(\nThe sum : %d\n, sum);
_
1
23
sum
?
999
23
1
3
?
4+23
0+1
1+3
27
0
1
4
999
The sum : 27
TK1913-C Programming
29
Do-while Loop
30
do-while statement
start
???
67
end
Example :
printf(Input start and end value : );
scanf(%d %d, &start, &end);
do {
printf(%c (%d)\n, start, start);
start++;
66 <= 67
67
} while (start <= end) ; 68
???
65
66
67
68
31
_ is an even number.
0
number._Print iff even !
continue statement
_ is an even number.
2
number._Print iff even !
_ is an even number.
4
number._Print iff even !
i
0
1
5
6
4
3
2
Example:
TK1913-C Programming
0
1
32
TK1913-C Programming
33
break statement
2
3
3YeePee!
Im out of the loop!
???
4
value
i <= 7
43
21<=
<=
<=777true
true
true
i == value
24
3
1==
==44false
false
true
34
TK1913-C Programming
35
End of
st
1
1 week HOLIDAY
on the way
TK1913-C Programming
36