Program Control Topics While loop For loop Switch statement

Slides:



Advertisements
Similar presentations
Making Choices in C if/else statement logical operators break and continue statements switch statement the conditional operator.
Advertisements

BBS514 Structured Programming (Yapısal Programlama)1 Selective Structures.
 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 2 - Control Structures Outline 2.11 Assignment Operators 2.12 Increment and Decrement Operators.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 4 – C Program Control Outline 4.1Introduction.
C Lecture Notes 1 Program Control (Cont...). C Lecture Notes 2 4.8The do / while Repetition Structure The do / while repetition structure –Similar to.
Control Statements (II) Ying Wu Electrical & Computer Engineering Northwestern University ECE230 Lectures Series.
Control Structures in C++ while, do/while, for switch, break, continue.
 2007 Pearson Education, Inc. All rights reserved C Program Control.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 4 - Program Control Outline 4.1Introduction 4.2The Essentials of Repetition 4.3Counter-Controlled.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Control Statements II.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved The switch Multiple-Selection Statement switch.
1 Lecture 4 for loops and switch statements Essentials of Counter-Controlled Repetition Counter-controlled repetition requires  Name of control.
 2003 Prentice Hall, Inc. All rights reserved. 1 Control Structures Outline Assignment Operators Increment and Decrement Operators Essentials of Counter-Controlled.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Program Control Outline 4.1Introduction 4.2The Essentials of Repetition 4.3Counter-Controlled.
Lecture 10: Reviews. Control Structures All C programs written in term of 3 control structures Sequence structures Programs executed sequentially by default.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
EC-111 Algorithms & Computing Lecture #4 Instructor: Jahan Zeb Department of Computer Engineering (DCE) College of E&ME NUST.
Lecture 4 C Program Control Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
1 4.8The do/while Repetition Structure The do/while repetition structure –Similar to the while structure –Condition for repetition tested after the body.
Algorithm and Programming Branching Algorithm & C Program Control Dr. Ir. Riri Fitri Sari MM MSc International Class Electrical Engineering Dept University.
Control Statements Spring Semester 2013Programming and Data Structure1.
C Program Control Angela Chih-Wei Tang ( 唐 之 瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan 2010 Fall.
Lecture 8: Choosing the Correct Loop. do … while Repetition Statement Similar to the while statement Condition for repetition only tested after the body.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Flow Control (Switch, do-while, break) Outline 4.7The.
Chapter 4 C Program Control. Objectives In this chapter, you will learn: –To be able to use the for and do … while repetition statements. –To understand.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Flow Control (for) Outline 4.1Introduction 4.2The.
Spring 2005, Gülcihan Özdemir Dağ Lecture 5, Page 1 BIL104E: Introduction to Scientific and Engineering Computing, Spring Lecture 5 Outline 5.0 Revisiting.
Lecture 2 Control Structure. Relational Operators -- From the previous lecture Relational Operator Meaning == is equal to < is less than > is greater.
Control Statements in C 1.Decision making statements 2.Looping statements 3.Branching statements
Program to calculate product of odd numbers b/w 1 and 15 #include main() { int prod = 1, x; for(x = 1; x
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Program Control Outline 4.1Introduction 4.2The Essentials of Repetition 4.3Counter-Controlled.
C++ Programming Lecture 7 Control Structure I (Selection) – Part II The Hashemite University Computer Engineering Department.
Think Possibility 1 Iterative Constructs ITERATION / LOOPS C provides three loop structures: the for-loop, the while-loop, and the do-while-loop. Each.
Beginning C For Engineers Fall 2005 Lecture 3: While loops, For loops, Nested loops, and Multiple Selection Section 2 – 9/14/05 Section 4 – 9/15/05 Bettina.
LECTURE # 8 : REPETITION STATEMENTS By Mr. Ali Edan.
 2002 Prentice Hall. All rights reserved. 1 Chapter 5 – Control Structures: Part 2 Outline 5.1Introduction 5.2 Essentials of Counter-Controlled Repetition.
C Program Control September 15, OBJECTIVES The essentials of counter-controlled repetition. To use the for and do...while repetition statements.
BIL 104E Introduction to Scientific and Engineering Computing Lecture 6.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
Dale Roberts Program Control Department of Computer and Information Science, School of Science, IUPUI Fall 2003 CSCI 230 Dale Roberts, Lecturer
 2003 Prentice Hall, Inc. All rights reserved. ECE 2551 Dr. S. Kozaitis Fall Chapter 5 - Control Statements: Part 2 Outline 5.3 for Repetition.
CHAPTER 2.2 CONTROL STRUCTURES (ITERATION) Dr. Shady Yehia Elmashad.
Introduction to Computer Programming
Chapter 4 – C Program Control
EKT120 COMPUTER PROGRAMMING
EKT150 INTRODUCTION TO COMPUTER PROGRAMMING
Lecture 7: Repeating a Known Number of Times
Control Statements: Part 2
Chapter 4 - Program Control
Chapter 2.1 Control Structures (Selection)
Week 4 – Repetition Structures / Loops
Chapter 2.2 Control Structures (Iteration)
JavaScript: Control Statements I
- Additional C Statements
Chapter 8 JavaScript: Control Statements, Part 2
Chapter 4 - Program Control
Chapter 2.2 Control Structures (Iteration)
switch Selection Structure
Computer Programming Techniques Semester 1, 1998
2.6 The if/else Selection Structure
Chapter 5 – Control Structures: Part 2
Dale Roberts, Lecturer IUPUI
Chapter 4 - Program Control
Dale Roberts, Lecturer IUPUI
C++ Programming Lecture 7 Control Structure I (Selection) – Part II
Chapter 8 JavaScript: Control Statements, Part 2
Presentation transcript:

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

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

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

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

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

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

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  

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  

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

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 { 10 printf( "%d ", counter ); 11 } while ( ++counter <= 10 ); 12 13 return 0; 14 } 1. Initialize variable 2. Loop 3. Print Program Output 1 2 3 4 5 6 7 8 9 10

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

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

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 11 if ( x == 5 ) 12 continue; /* skip remaining code in loop only 13 if x == 5 */ 14 15 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 1 2 3 4 6 7 8 9 10 Used continue to skip printing the value 5

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

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

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 );

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 ) 10 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

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;}

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  

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)

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, 9 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 16 switch ( grade ) { /* switch nested in while */ 17 18 case 'A': case 'a': /* grade was uppercase A */ 19 ++aCount; /* or lowercase a */ 20 break; 21 22 case 'B': case 'b': /* grade was uppercase B */ 23 ++bCount; /* or lowercase b */ 24 break; 25 26 case 'C': case 'c': /* grade was uppercase C */ 27 ++cCount; /* or lowercase c */ 28 break; 29 30 case 'D': case 'd': /* grade was uppercase D */ 31 ++dCount; /* or lowercase d */ 32 break; 1. Initialize variables 2. Input data 2.1 Use switch loop to update count

2.1 Use switch loop to update count 3. Print results 33 34 case 'F': case 'f': /* grade was uppercase F */ 35 ++fCount; /* or lowercase f */ 36 break; 37 38 case '\n': case' ': /* ignore these in input */ 39 break; 40 41 default: /* catch all other characters */ 42 printf( "Incorrect letter grade entered." ); 43 printf( " Enter a new grade.\n" ); 44 break; 45 } 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

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

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

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