Presentation is loading. Please wait.

Presentation is loading. Please wait.

Program Control Topics While loop For loop Switch statement

Similar presentations


Presentation on theme: "Program Control Topics While loop For loop Switch statement"— Presentation transcript:

1 Program Control Topics While loop For loop Switch statement
The Do/While loop The break and continue Statements Logical Operators

2 While Loop Example: int counter =1; //initialization while (counter <= 10){ //repetition condition printf( "%d\n", counter ); ++counter; //increment } int counter = 1; names counter, declares it to be an integer, reserves space for it in memory, and sets it to an initial value of 1 pitt

3 while Loop while (condition) statement_to_repeat; while (condition) {
... statement_N; } /* Weight loss program */ while ( weight > 500 ) weight--; while ( weight > 500 ) { printf("Go, exercise, "); printf("then come back. \n"); printf("Enter your weight: "); scanf("%d", &weight);} University of Pittsburgh-CSD-Khalifa

4 Loops & break Statement
Break out of the loop { } can use with while do while for switch does not work with if {} else {} University of Pittsburgh-CSD-Khalifa

5 break Statement fact = 1; /* initialize factorial */ i = 1;
while( i<10 ){ /* run loop –break when fact >100*/ fact = fact * i; if ( fact > 100 ){ printf ("Factorial of %d above 100", i); break; /* break out of the while loop */ } i ++ ; } /* end while loop */ University of Pittsburgh-CSD-Khalifa

6 continue Statement Jumps to the beginning of the loop
fact = 1; i = 1; /* a program to calculate 10 ! while ( 1 ){ fact = fact * i; i ++ ; if( i<10 ) continue; /* not done yet ! Go to loop and perform next iteration*/ break; } University of Pittsburgh-CSD-Khalifa

7 The do/while repetition structure
The do/while Loop The do/while repetition structure Similar to the while structure Condition for repetition tested after the body of the loop is performed All actions are performed at least once Format: do { statement } while ( condition ); Good practice to put brackets in, even if not required

8 Example (letting counter = 1)
The do/while Loop Example (letting counter = 1) do { printf( "%d ", counter ); } while (++counter <= 10); Prints the integers from 1 to 10

9 The do/while Loop true false action(s) condition

10 1. Initialize variable 2. Loop 3. Print Program Output
1 /* 2 Using the do/while repetition structure */ 3 #include <stdio.h> 4 5 int main() 6 { 7 int counter = 1; 8 9 do { printf( "%d ", counter ); 11 } while ( ++counter <= 10 ); 12 13 return 0; 14 } 1. Initialize variable 2. Loop 3. Print Program Output

11 The break and continue Statements
Causes immediate exit from a while, for, do/while or switch structure Program execution continues with the first statement after the structure Common uses of the break statement Escape early from a loop Skip the remainder of a switch structure

12 The break and continue Statements (II)
Skips the remaining statements in the body of a while, for or do/while structure Proceeds with the next iteration of the loop while and do/while Loop-continuation test is evaluated immediately after the continue statement is executed for structure Increment expression is executed, then the loop-continuation test is evaluated

13 1. Initialize variable 2. Loop 3. Print Program Output
1 /* 2 Using the continue statement in a for structure */ 3 #include <stdio.h> 4 5 int main() 6 { 7 int x; 8 9 for ( x = 1; x <= 10; x++ ) { 10 if ( x == 5 ) continue; /* skip remaining code in loop only if x == 5 */ 14 printf( "%d ", x ); 16 } 17 18 printf( "\nUsed continue to skip printing the value 5\n" ); 19 return 0; 20 } 1. Initialize variable 2. Loop 3. Print Program Output Used continue to skip printing the value 5

14 for Statement for (initial; condition; iteration)
statement_to_repeat; for (initial; condition; iteration) { statement_1; ... statement_N; } fact = 1; /* Calculate 10 ! */ for ( i = 1; i < =10; i++) fact = fact * i; fact = 1; for (int i = 1; i < 10; i++) { fact = fact * i; printf(“value of fact= %d \n”, fact); if ( fact > 100 ) break; } University of Pittsburgh-CSD-Khalifa

15 Format when using for loops
The for Loop Format when using for loops for ( initialization; loopContinuationTest; increment ) statement Example: for( int counter = 1; counter <= 10; counter++ ) printf( "%d\n", counter ); Prints the integers from one to ten. No semicolon after last expression

16 For loops can usually be rewritten as while loops: initialization;
The for Loop For loops can usually be rewritten as while loops: initialization; while ( loopContinuationTest){ statement increment; } Initialization and increment Can be comma-separated lists for (int i = 0, j = 0; j + i <= 10; j++, i++ ) printf( "%d\n", j + i );

17 Examples Using the for Structure
1 /* 2 Summation with for */ 3 #include <stdio.h> 4 5 int main() 6 { 7 int sum = 0, number; 8 9 for ( number = 2; number <= 100; number += 2 ) sum += number; 11 12 printf( "Sum is %d\n", sum ); 13 14 return 0; 15 } Examples Using the for Structure Program to sum the even numbers from 2 to 100 Program Output Sum is 2550

18 switch Statement switch ( letter ) { switch( expression ) { case 'A':
printf("First letter\n"); break; case 'Z': printf("Last letter\n"); default : printf("Middle letter\n"); } University of Pittsburgh-CSD-Khalifa switch( expression ) { case constant1 : statement; ... break; case constantN : default : break;}

19 switch Format The switch Statement
Useful when a variable or expression is tested for all the values it can assume and different actions are taken. Format Series of case labels and an optional default case switch ( value ){ case '1': actions case '2': default: } break; causes exit from structure

20 The switch Multiple-Selection Structure (II)
true false . case a case a action(s) break case b case b action(s) case z case z action(s) default action(s)

21 2.1 Use switch loop to update count
1 /* 2 Counting letter grades */ 3 #include <stdio.h> 4 5 int main() 6 { 7 int grade; 8 int aCount = 0, bCount = 0, cCount = 0, dCount = 0, fCount = 0; 10 11 printf( "Enter the letter grades.\n" ); 12 printf( "Enter the EOF character to end input.\n" ); 13 14 while ( ( grade = getchar() ) != EOF ) { 15 switch ( grade ) { /* switch nested in while */ 17 case 'A': case 'a': /* grade was uppercase A */ aCount; /* or lowercase a */ break; 21 case 'B': case 'b': /* grade was uppercase B */ bCount; /* or lowercase b */ break; 25 case 'C': case 'c': /* grade was uppercase C */ cCount; /* or lowercase c */ break; 29 case 'D': case 'd': /* grade was uppercase D */ dCount; /* or lowercase d */ break; 1. Initialize variables 2. Input data 2.1 Use switch loop to update count

22 2.1 Use switch loop to update count 3. Print results
33 case 'F': case 'f': /* grade was uppercase F */ fCount; /* or lowercase f */ break; 37 case '\n': case' ': /* ignore these in input */ break; 40 default: /* catch all other characters */ printf( "Incorrect letter grade entered." ); printf( " Enter a new grade.\n" ); break; } 46 } 47 48 printf( "\nTotals for each letter grade are:\n" ); 49 printf( "A: %d\n", aCount ); 50 printf( "B: %d\n", bCount ); 51 printf( "C: %d\n", cCount ); 52 printf( "D: %d\n", dCount ); 53 printf( "F: %d\n", fCount ); 54 55 return 0; 56 } 2.1 Use switch loop to update count 3. Print results

23 Program Output Enter the letter grades.
Enter the EOF character to end input. A B C D F E Incorrect letter grade entered. Enter a new grade. /* in UNIX: use <return> <ctrl-d> for EOF */ Totals for each letter grade are: A: 3 B: 2 C: 3 D: 2 F: 1 Program Output

24 Variable Scope Printout: -------------- A = 3 A = 2 A = 1 int A;
void main() { A = 1; myProc(); printf ( "A = %d\n", A); } void myProc() int A = 2; while( A==2 ) int A = 3; break; . . . Variable Scope Printout: A = 3 A = 2 A = 1 University of Pittsburgh-CSD-Khalifa

25 Logical Operators && (logical AND) || (logical OR)
Returns true if both conditions are true || (logical OR) Returns true if either of its conditions are true ! (logical NOT, logical negation) Reverses the truth/falsity of its condition Unary operator, has one operand Useful as conditions in loops Expression Result true && false false true || false true !false true


Download ppt "Program Control Topics While loop For loop Switch statement"

Similar presentations


Ads by Google