Presentation is loading. Please wait.

Presentation is loading. Please wait.

AEEE 195 – Repetition Structures: Part B Spring semester 2011.

Similar presentations


Presentation on theme: "AEEE 195 – Repetition Structures: Part B Spring semester 2011."— Presentation transcript:

1 AEEE 195 – Repetition Structures: Part B Spring semester 2011

2 2 Outline Repetition structures definition “while” loop “do/while” loop Inifite loop Arithmetic operators Examples

3 3 Repetition Structures Are structures that allow you to repeat execution of the same code That is, you can execute particular statements more than once in a controlled fashion Statements are executed as long as some condition remains true Also known as “loops” Sometimes referred to as “iterations”

4 4 “ while ” Repetition Structure Actions will be performed as long as some condition is true For example (pseudocode), while (something is true)‏ { do this (again and again...)‏ } Can have various kinds of conditions tested

5 5 Parts of a While Loop Every while loop will always contain three main elements:  Priming: initialize your variables.  Testing: test against some known condition.  Updating: update the variable that is tested.

6 6 Simple While Loop #include #define MAX 10 main ()‏ { int index =1; while (index <= MAX) { printf ("Index: %d\n", index); index = index + 1; } OUTPUT: Index: 1 Index: 2 Index: 3 Index: 4 Index: 5 Index: 6 Index: 7 Index: 8 Index: 9 Index: 10 1. Priming 2. Test Condition 3. Update

7 7 While Loop Flowchart 1. Priming Set index=1 2. Test index <= 10 3a. print index 3b. Update index = index + 1; TRUE FALSE next iteration

8 8 Infinite Loop Infinite Loop: A loop that never ends.  Generally, you want to avoid these!  There are special cases, however, when you do want to create infinite loops on purpose.

9 9 Infinite Loop: Example #1 #include #define MAX 10 main ()‏ { int index =1; while (index <= MAX) { printf ("Index: %d\n", index); } Here, part 3 is deleted : the index = index + 1 statement. Index: 1 … [forever]

10 10 Infinite Loop: Example #2 #include /*no MAX here*/ main ()‏ { int index = 1; while (index > 0) { printf ("Index: %d\n", index); index = index + 1; } Here, part 2 has changed : the test condition. Index: 1 Index: 2 Index: 3 Index: 4 Index: 5 … [forever]

11 11 “ do/while ” Repetition Structure Similar to the while structure But instead of testing the condition at the top, test is at the bottom of the loop Used when you want to execute the loop AT LEAST ONCE

12 12 do/while pseudocode do { something } while (condition is true) ; Note the semicolon at the end

13 13 do/while example int iCounter = 1; do { printf( “%d “, iCounter ); iCounter = iCounter + 1; } while ( iCounter <= 10 ) ;

14 14 do/while loop Flowchart 1. Priming Set index=1; 3. Test index <= 10 2a. print index 2b. Update index = index + 1; TRUE FALSE

15 15 Example: while vs do-while structures int num; printf(“Give a positive number: ); scanf(“%d”, &num); while(num <=0)‏ { printf(“Give a positive number: ); scanf(“%d”, &num); } printf(“The number is %d\n”, num); int num; do { printf(“Give a positive number: ); scanf(“%d”, &num); } while(num <=0); printf(“The number is %d\n”, num);

16 16 Shortcuts C provides abbreviations for some common operations  Assignment operators  Increment/Decrement operators

17 17 Assignment Operators Abbreviations are provided for the basic binary operations  Addition  Subtraction  Multiplication  Division  Modulus (%)‏

18 18 Addition Assignment Operator Instead of writing iCount = iCount + 1; You can write iCount += 1 ; Adds the value of the expression on the right to the variable on the left and stores the new total in the variable on the left

19 19 Subtraction Assignment Operator Instead of writing iCount = iCount - 1; You can write iCount -= 1 ; Subtracts the value of the expression on the right from the variable on the left and stores the new total in the variable on the left

20 20 Multiplication Assignment Operator Instead of writing iCount = iCount * 2; You can write iCount *= 2; Multiplies the variable on the left by the value of the expression on the right and stores the new total in the variable on the left

21 21 Division Assignment Operator Instead of writing iCount = iCount / 2; You can write iCount /= 2; Divides the variable on the left by the value of the expression on the right and stores the new total in the variable on the left

22 22 Modulus Assignment Operator Instead of writing iSeconds = iSeconds % 60; You can write iSeconds %= 60; Takes the remainder of dividing the variable on the left by the value of the expression on the right, and stores the new total in the variable on the left

23 23 Examples Assume variable int c = 10; 3 to cc = c % 7;c %= 7;10%= 2 to cc = c / 5;c /= 5;10/= 60 to cc = c * 6;c *= 6;10*= 7 to cc = c – 3;c -= 3;10-= 17 to cc = c + 7;c += 7;10+= AssignsMeaningSample Initial Value Operator

24 24 Increment and Decrement Operators C provides unary increment operators ++ and decrement operators –- (no spaces between them)‏ Increment operators add 1 Decrement operators subtract 1 Not for other assignment operators (*, /, %)‏

25 25 Increment Operator ++ Instead of writing iCount = iCount + 1; or iCount += 1; You can write iCount++ ; ( post-increment ) or ++iCount ; ( pre-increment)‏

26 26 Post-increment The ++ operator is after the variable Causes the initial value of the variable to be used in the expression where it appears, and THEN adds the 1 to the variable For example, int iCount = 5; printf( “%d\n”, iCount++ ); Would print 5… but iCount is incremented to 6 after the statement

27 27 Pre-increment The ++ operator is before the variable Adds 1 to the initial value of the variable BEFORE it is used in the expression where it appears For example, int iCount = 5; printf( “%d\n”, ++iCount); Would print 6… and iCount is incremented to 6 after the statement

28 28 More examples ++ post-increment vs. pre-increment int iTotal = 0; int iCount = 5; iTotal = iCount++ * 2; printf( “%d\n”, iTotal); printf( “%d\n”, iCount); Would print 10 for iTotal and then 6 for iCount iTotal = ++iCount * 2; printf( “%d\n”, iTotal); printf( “%d\n”, iCount); Would print 14 for iTotal and then 7 for iCount

29 29 Decrement Operator -- Similar to increment in syntax/operation Instead of writing iCount = iCount - 1; or iCount -= 1; You can write iCount-- ; or --iCount ;

30 30 Post-decrement The -- operator is after the variable Causes the initial value of the variable to be used in the expression where it appears, and THEN subtracts the 1 from the variable For example, int iCount = 5; printf( “%d\n”, iCount-- ); Would print 5… but iCount is decremented to 4 after the statement

31 31 Pre-decrement The -- operator is before the variable Subtracts 1 from the initial value of the variable BEFORE it is used in the expression where it appears For example, int iCount = 5; printf( “%d\n”, --iCount); Would print 4… and iCount is decremented to 4 after the statement

32 32 More examples -- post-decrement vs. pre-decrement int iTotal = 0; int iCount = 5; iTotal = iCount-- * 2; printf( “%d\n”, iTotal); printf( “%d\n”, iCount); Would print 10 for iTotal and then 4 for iCount iTotal = --iCount * 2; printf( “%d\n”, iTotal); printf( “%d\n”, iCount); Would print 6 for iTotal and then 3 for iCount

33 33 Summary Table Subtract 1 from c THEN use new value of c in expression --c-- Use value of c in expression THEN subtract 1 from c c---- Add 1 to c THEN use the new value of c in expression ++c++ Use value of c in expression THEN add 1 to c c++++ ExplanationSampleOperator


Download ppt "AEEE 195 – Repetition Structures: Part B Spring semester 2011."

Similar presentations


Ads by Google