Presentation is loading. Please wait.

Presentation is loading. Please wait.

CprE 185: Intro to Problem Solving (using C)

Similar presentations


Presentation on theme: "CprE 185: Intro to Problem Solving (using C)"— Presentation transcript:

1 CprE 185: Intro to Problem Solving (using C)
Instructor: Alexander Stoytchev

2 Loops (part 1) CprE 185: Intro to Problem Solving
Iowa State University, Ames, IA Copyright © Alexander Stoytchev

3 Administrative Stuff Midterm grades due next Friday Oct 17
Please double check your grades on Web CT

4 Administrative Stuff HW5 is out (due next Wed, Oct 15 @ 8pm)
HW4 is due this Wed, Oct 8pm

5 Quick Review of Last Lecture

6 The switch Statement The switch statement provides another way to decide which statement to execute next The switch statement evaluates an expression, then attempts to match the result to one of several possible cases Each case contains a value and a list of statements The flow of control transfers to statement associated with the first case value that matches © 2004 Pearson Addison-Wesley. All rights reserved

7 The switch Statement Often a break statement is used as the last statement in each case's statement list A break statement causes control to transfer to the end of the switch statement If a break statement is not used, the flow of control will continue into the next case Sometimes this may be appropriate, but often we want to execute only the statements associated with one case © 2004 Pearson Addison-Wesley. All rights reserved

8 The switch Statement An example of a switch statement: switch (option)
{ case 'A': aCount++; break; case 'B': bCount++; case 'C': cCount++; default: otherCount++; } © 2004 Pearson Addison-Wesley. All rights reserved

9 The switch Statement A switch statement can have an optional default case The default case has no associated value and simply uses the reserved word default If the default case is present, control will transfer to it if no other case value matches If there is no default case, and no other value matches, control falls through to the statement after the switch © 2004 Pearson Addison-Wesley. All rights reserved

10 The switch Statement The expression of a switch statement must result in an integral type, meaning an integer (byte, short, int,) or a char It cannot be a floating point value (float or double) The implicit test condition in a switch statement is equality You cannot perform relational checks with a switch statement © 2004 Pearson Addison-Wesley. All rights reserved

11 The switch Statement The general syntax of a switch statement is:
and case are reserved words switch ( expression ) { case value1 : statement-list1 case value2 : statement-list2 case value3 : statement-list3 case ... } If expression matches value2, control jumps to here © 2004 Pearson Addison-Wesley. All rights reserved

12 Chapter 5 (Loops)

13 Repetition Statements
Repetition statements allow us to execute a statement multiple times Often they are referred to as loops C has three kinds of repetition statements: the while loop the do loop the for loop The programmer should choose the right kind of loop for the situation © 2004 Pearson Addison-Wesley. All rights reserved

14 There are three loop constructs in C
do-while loop (or do loop for short) while loop for loop We’ll quickly cover all of them today. We’ll revisit them again next time. Loops = repetition statements

15 Logic of an if statement
condition evaluated false statement true © 2004 Pearson Addison-Wesley. All rights reserved

16 Logic of a do Loop statement true condition evaluated false
© 2004 Pearson Addison-Wesley. All rights reserved

17 The do Statement A do statement has the following syntax: do {
} while ( condition ); The statement is executed once initially, and then the condition is evaluated The statement is executed repeatedly until the condition becomes false © 2004 Pearson Addison-Wesley. All rights reserved

18 The do Statement An example of a do loop:
int count = 0; do { count++; printf(“%d\n”, count); } while (count < 5); The body of a do loop is executed at least once © 2004 Pearson Addison-Wesley. All rights reserved

19 Example: Fixing Bad Keyboard Input
Write a program that refuses to accept a negative number as an input. The program must keep asking the user to enter a value until he/she enters a positive number. How can we do this?

20 Example: Reverse a number

21 Logic of a while Loop condition evaluated false true statement
© 2004 Pearson Addison-Wesley. All rights reserved

22 The while Statement A while statement has the following syntax:
while ( condition ) statement; If the condition is true, the statement is executed Then the condition is evaluated again, and if it is still true, the statement is executed again The statement is executed repeatedly until the condition becomes false © 2004 Pearson Addison-Wesley. All rights reserved

23 The while Statement An example of a while statement:
int count = 1; while (count <= 5) { printf (“%d\n”, count); count++; } If the condition of a while loop is false initially, the statement is never executed Therefore, the body of a while loop will execute zero or more times © 2004 Pearson Addison-Wesley. All rights reserved

24 The while Statement Let's look at some examples of loop processing
A loop can be used to maintain a running sum A sentinel value is a special input value that represents the end of input A loop can also be used for input validation, making a program more robust © 2004 Pearson Addison-Wesley. All rights reserved

25 Comparing while and do The while Loop The do Loop statement condition
true false condition evaluated The while Loop true condition evaluated statement false The do Loop © 2004 Pearson Addison-Wesley. All rights reserved

26 Logic of a for loop initialization condition evaluated false statement
true increment © 2004 Pearson Addison-Wesley. All rights reserved

27 The for Statement A for statement has the following syntax:
The initialization is executed once before the loop begins The statement is executed until the condition becomes false for ( initialization ; condition ; increment ) statement; The increment portion is executed at the end of each iteration © 2004 Pearson Addison-Wesley. All rights reserved

28 The for Statement A for loop is functionally equivalent to the following while loop structure: initialization; while ( condition ) { statement; increment; } © 2004 Pearson Addison-Wesley. All rights reserved

29 The for Statement An example of a for loop:
for (int count=1; count <= 5; count++) printf (“%d\n”, count); The initialization section can be used to declare a variable Like a while loop, the condition of a for loop is tested prior to executing the loop body Therefore, the body of a for loop will execute zero or more times © 2004 Pearson Addison-Wesley. All rights reserved

30 The for Statement The increment section can perform any calculation
Int num; for (num=100; num > 0; num -= 5) printf (“%d\n”, num); A for loop is well suited for executing statements a specific number of times that can be calculated or determined in advance © 2004 Pearson Addison-Wesley. All rights reserved

31 The for Statement Each expression in the header of a for loop is optional If the initialization is left out, no initialization is performed If the condition is left out, it is always considered to be true, and therefore creates an infinite loop If the increment is left out, no increment operation is performed © 2004 Pearson Addison-Wesley. All rights reserved

32 TO BE CONTINUED…


Download ppt "CprE 185: Intro to Problem Solving (using C)"

Similar presentations


Ads by Google