A variable in C is a named memory location used to store data that can be changed during program execution. Each variable has a data type, a name, and a value.

SrikanthS494888 4 views 31 slides Oct 27, 2025
Slide 1
Slide 1 of 31
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31

About This Presentation

c


Slide Content

Chapter 5
Repetition
and Loop
Statements
Instructor:
Yuksel & Demirer

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-2
Repetition in Programs
•In most software, the statements in the program
may need to repeat for many times.
–e.g., calculate the value of n!.
–If n = 10000, it’s not elegant to write the code as
1*2*3*…*10000.
•LoopLoop is a control structure that repeats a group
of steps in a program.
–Loop bodyLoop body stands for the repeated statements.
•There are three C loop control statements:
–whilewhile, forfor, and do-whiledo-while.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-3
Flow Diagram of Loop Choice Process
e.g., calculate the value of n!
e.g., read the content in a file

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-4
Comparison of Loop Choices (1/2)
Kind When to Use C Structure
Counting loopWe know how many loop
repetitions will be needed
in advance.
while, for
Sentinel-
controlled loop
Input of a list of data ended
by a special value
while, for
Endfile-
controlled loop
Input of a list of data from
a data file
while, for

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-5
Comparison of Loop Choices (2/2)
Kind When to Use C Structure
Input validation
loop
Repeated interactive input
of a value until a desired
value is entered.
do-while
General
conditional
loop
Repeated processing of
data until a desired
condition is met.
while, for

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-6
The while Statement in C
•The syntax of while statement in C:
while (loop repetition conditionloop repetition condition)
statement
•Loop repetition conditionLoop repetition condition is the condition
which controls the loop.
•The statement is repeated as long as the loop
repetition condition is truetrue.
•A loop is called an infinite loopinfinite loop if the loop
repetition condition is always true.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-7
An Example of a while Loop
Statement
Loop repetition condition
Loop control variableLoop control variable is the variable whose value controls
loop repetition.
In this example, count_emp is the loop control variable.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-8
Flowchart for a while Loop
Loop repetition condition
Statement

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-9
Compound Assignment Operators
(1/2)
•The loop body usually consists of statements of
the form: variable = variable op expression.
–e.g., count_emp = count_emp + 1;
•C provides compound assignment operatorscompound assignment operators
which enable a more concise notation for this
kind of statements.
–““variable op = expression”variable op = expression” is the same to
“variable = variable op expression.”

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-10
Compound Assignment Operators (2/2)
Simple Assignment
Operators
Compound Assignment
Operators
count_emp =
count_emp + 1;
count_emp += 1;
time = time -1; time -= 1;
product = product *
item;
product *= item;
total = total /
number;
total /= number;
n = n % (x+1); n %= x+1;

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-11
The for Statement in C
•The syntax of for statement in C:
for (initialization expressioninitialization expression;
loop repetition conditionloop repetition condition;
update expressionupdate expression)
statement
•The initialization expressioninitialization expression set the initial value of the
loop control variable.
•The loop repetition conditionloop repetition condition test the value of the loop
control variable.
•The update expressionupdate expression update the loop control
variable.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-12
An Example of the for Loop
Loop repetition condition
Initialization Expression
Update Expression
count_emp is set to 0 initially.
count_emp should not exceed the value of number_emp.
count_emp is increased by one after each iteration.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-13
Increment and Decrement Operators
•The statements of increment and decrement are
commonly used in the for loop.
•The increment (i.e., ++++) or decrement (i.e., ----)
operators are the frequently used operators
which take only one operand.
•The increment/decrement operators increase or
decrease the value of the single operand.
–e.g., for (int i = 0; i < 100; i++i++){ … }
–The variable i increases one after each iteration.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-14
Comparison of Prefix and Postfix
Increments
The value of the expression (that uses the ++/-- operators)
depends on the position of the operator.
The value
of j is
increased
The value
of j is not
increased

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-15
Sentinel-Controlled Loops
•Sometimes we may not know how many times
the loop will repeat.
•One way to do this is to choose a sentinel valuesentinel value
as an end marker.
–The loop exits when the sentinel valuesentinel value is read.
•If the user wish to exit the loop, he or she has to
input the sentinel valuesentinel value.
–It is similar to the “logout” function in many
applications.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-16
An Example of Sentinel-Controlled
while Loops
If the user wish to exit the loop,
he or she has to input -99.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-17
An Example of Endfile-Controlled
Loops
•fscanffscanf is a function used to read file.
•EOFEOF stands for the special value of end-file returned by
fscanffscanf.
•This loop repeats until reading the end of the file.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-18
Nested Loops
•Usually used to work with two dimensional arrays
(later).
•Nested loops consist of an outer loop with or more
inner loops.
•Each time the outer loop is repeated, the inner loops are
reentered
–Their loop control expressions are reevaluated
–All required iterations are performed again.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-19
Nested Loops
•Nested loops consist of an outer loopouter loop with one
or more inner loopsinner loops.
•e.g.,
for (i=1;i<=100;i++){
for(j=1;j<=50;j++){

}
}
•The above loop will run for 100*50 iterations.
Inner loop
Outer loop

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-20
What is the Output?
lcv1 = 0;
sum = 0;
while (lcv1 < 100)
{
lcv2 = 0;
while (lcv2 < 100)
{
sum = sum + 1;
lcv2++;
}
lcv1++;
}
printf(“Sum is %d\n”, sum);
/* Output = */
Sum is 10000

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-21
What is the Output?
int a=0, b=0, sum=0;
for(a=0; a<6; a+=2)
for(b=0; b>4; b--)
sum=sum+1;
printf(“%d”,sum);
/* Output = */
Sum is 0

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-22
Do While statement
•Both the for statement and the while statement
evaluate the loop condition before the first
execution of the loop body.
•In most cases, this pre-test is desirable and
prevents the loop from executing when there
may be no data items to process
•There are some situations, generally involving
interactive input, when we know that a loop
must execute at least one time.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-23
The do-while Statement in C
•The syntax of do-while statement in C:
do
statement
while (loop repetition conditionloop repetition condition);
•The statement is first executed.
•If the loop repetition conditionloop repetition condition is true, the
statement is repeated.
•Otherwise, the loop is exited.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-24
An Example of the do-while Loop
/* Find even number input */
do{
printf(“Enter a value: ”);
scanf(“%d”, &num);
}while (num % 2 !=0)
This loop will repeat if the user
inputs odd number.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-25
Do-While Example
do
{
printf("Enter a letter from A through E> ");
scanf("%c", &letter_choice);
}while (letter_choice < ’A’ || letter_choice > ’E’);

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-26
Flag Controlled Loops
•Sometimes a loop repetition condition becomes so complex
that placing the full expression in its usual spot is awkward.
•In many cases, the condition may be simplified by using a
flag.
while (flag)
{
….
}
•A flag is a type int variable used to represent whether or not
a certain event has occurred.
•A flag has one of two values: 1 (true) and 0 (false).

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-27
Endfile-controlled loops
•Many library functions return helpful data as the value of the
function.
•For example, scanf returns the number of data items it
actually obtained.
num = scanf(“%d%d%d”, &n1, &n2, &n3);
•A data file is always terminated by an endfile character (EOF)
that can be detected by the scanf and fscanf functions.
•You can write a program that processes a list of data of any
length from a file without requiring a special sentinel value at
the end of the data file.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-28
#include <stdio.h>
int main(void) {
FILE *inp;
int sum = 0, score, input_status;
inp = fopen("scores.dat", "r");
input_status = fscanf(inp, "%d", &score);
while (input_status != EOF)
{
printf("%d ", score);
sum += score;
input_status = fscanf(inp, "%d", &score);
}
printf("\nSum of exam scores is %d\n", sum);
fclose(inp);
return 0;
}
/* Output */
55 33 77
Sum of exam scores is 165

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-29
What is the Output?
int i, sum=0,status=0;
status = scanf(“%d”,&i);
while(status!=EOF)
{
sum+=i;
status = scanf(“%d”,&i);
}
printf(“%d\n”, sum);
/* Input = */
2
4
6
ctl-d
/* Output = */
12

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-30
In class work (1/2)
•Write a program that prompts the user to input
an integer n.
•Draw a triangle with n levels by star symbols.
For example,
n = 3,
*
**
***
•After drawing the triangle, repeat the above
process until the user input a negative integer.

Copyright ©2004 Pearson Addison-Wesley. All rights reserved. 5-31
In class work #4 (2/2)
•An usage scenario:
Please input: 2
*
**
Please input: 3
*
**
***
Please input: -9
Thank you for using this program.
Tags