Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lecture 4

208 views

Published on

OOP with C# by Dr.hakim

Published in: Engineering
  • Login to see the comments

  • Be the first to like this

Lecture 4

  1. 1. Control Statements (2) Lecture 4 Dr. Hakem Beitollahi Computer Engineering Department Soran University
  2. 2. Objectives of this lecture  In this chapter you will learn:  Iteration statements (Loop statements)  for repetition statement  while statement  do…while repetition statement  break and continue statements Control Statements (2)— 2
  3. 3. The for loop Control Statements (2)— 3
  4. 4. For repetition statement (I)  General form of the for statement  for ( initialization; loopContinuationCondition; increment or decrement) statement;  The initialization is an assignment statement that is used to set the loop control variable.  The condition is a relational expression that determines when the loop exits.  The increment/decrement defines how the loop control variable changes each time the loop is repeated.  You must separate these three major sections by semicolons.  The for loop continues to execute as long as the condition is true.  Once the condition becomes false, program execution resumes on the statement following the for. Control Statements (2)— 4
  5. 5. For repetition statement (II)  for statement examples  Vary control variable from 1 to 100 in increments of 1 o for ( int i = 1; i <= 100; i++ )  Vary control variable from 100 to 1 in increments of -1 o for ( int i = 100; i >= 1; i-- )  Vary control variable from 7 to 77 in steps of 7 o for ( int i = 7; i <= 77; i += 7 )  Vary control variable from 20 to 2 in steps of -2 o for ( int i = 20; i >= 2; i -= 2 )  Vary control variable over the sequence: 2, 5, 8, 11, 14, 17, 20 o for ( int i = 2; i <= 20; i += 3 )  Vary control variable over the sequence: 99, 88, 77, 66, 55, 44, 33, 22, 11, 0 o for ( int i = 99; i >= 0; i -= 11 ) Control Statements (2)— 5
  6. 6. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i 0 Control Statements (2)— 6
  7. 7. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i 0 Control Statements (2)— 7
  8. 8. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i 0 Control Statements (2)— 8
  9. 9. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i 0 Control Statements (2)— 9
  10. 10. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i 1 Control Statements (2)— 10
  11. 11. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i 1 Control Statements (2)— 11
  12. 12. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i is 1 i 1 Control Statements (2)— 12
  13. 13. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i is 1 i 1 Control Statements (2)— 13
  14. 14. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i is 1 i 2 Control Statements (2)— 14
  15. 15. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i is 1 i 2 Control Statements (2)— 15
  16. 16. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i is 1 i is 2 i 2 Control Statements (2)— 16
  17. 17. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i is 1 i is 2 i 2 Control Statements (2)— 17
  18. 18. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i is 1 i is 2 i 3 Control Statements (2)— 18
  19. 19. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i is 1 i is 2 i 3 Control Statements (2)— 19
  20. 20. Execution Trace for (int i = 0; i < 3; ++i) { Console.WriteLine("i is“+i); } Console.WriteLine("all done“); i is 0 i is 1 i is 2 all done i 3 1 Control Statements (2)— 20
  21. 21. for repetition statement (III)  Example Control Statements (2)— 21
  22. 22. for repetition statement (IV)  In for loops, the conditional test is always performed at the top of the loop.  This means that the code inside the loop may not be executed at all if the condition is false to begin with. Control Statements (2)— 22
  23. 23. for repetition statement (V)  for Loop Variations  One of the most common variations uses the comma operator to allow two or more variables to control the loop.  Example: Control Statements (2)— 23
  24. 24. for repetition statement (VI)  The Infinite Loop with for  for loop is traditionally used for this purpose  Since none of the three expressions that form the for loop are required, you can make an endless loop by leaving the conditional expression empty: Control Statements (2)— 24
  25. 25. for repetition statement (VII)  You can exit from an infinite using break statement  Example Control Statements (2)— 25
  26. 26. for repetition statement (VIII)  for Loops with no Bodies  A statement may be empty  This means that the body of the for loop (or any other loop) may also be empty.  You can use this fact to improve the efficiency of certain algorithms and to create time delay loops.  Example for(i=0; i<10000; i++); Control Statements (2)— 26
  27. 27. Good Programming Practice 5.1  Control counting loops with integer values.  Place a blank line before and after each major control structure to make it stand out in the program. Control Statements (2)— 27
  28. 28. Common Programming Error 5.1  Floating-point values may be approximate, so controlling counting loops with floating-point variables can result in imprecise counter values and inaccurate tests for termination. Control Statements (2)— 28
  29. 29. Common Programming Error 5.3  When a for structure declares its control variable in the initialization section of the for structure header, using the control variable after the for structure’s body is a compiler error.  Example: Control Statements (2)— 29
  30. 30. Common Programming Error 5.4  Using commas in a for structure header instead of the two required semicolons is a syntax error.  Placing a semicolon immediately to the right of a for structure header’s right parenthesis makes the body of that for structure an empty statement. This is normally a logic error. Control Statements (2)— 30
  31. 31. Other math operations in for portions  The initialization, loop-continuation condition and increment or decrement portions of a for structure can contain arithmetic expressions.  Assume x = 2 and y = 10;  is equivalent to the statement Control Statements (2)— 31
  32. 32. Common Programming Error 5.6  Not using the proper relational operator in the loop-continuation condition of a loop that counts downward (e.g., using i <= 1 in a loop counting down to 1) is usually a logic error that will yield incorrect results when the program runs. Control Statements (2)— 32
  33. 33. The while loop Control Statements (2)— 33
  34. 34. The while loop (I)  The second popular loop available in C/C++/C# is the while loop.  The general form is while(condition) statement;  Example Control Statements (2)— 34
  35. 35. Example: calculate an average Control Statements (2)— 35
  36. 36. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 Control Statements (2)— 36
  37. 37. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 0 Control Statements (2)— 37
  38. 38. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 0 sum 0 Control Statements (2)— 38
  39. 39. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 0 sum 0 Control Statements (2)— 39
  40. 40. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 0 sum 0 value -- Control Statements (2)— 40
  41. 41. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 0 sum 0 value 1 Control Statements (2)— 41
  42. 42. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 42/77 numberProcessed 0 sum 1 value 1
  43. 43. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 43/77 numberProcessed 1 sum 1 value 1
  44. 44. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 1 sum 1 value 1 Control Statements (2)— 44
  45. 45. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 1 sum 1 value 1 Control Statements (2)— 45
  46. 46. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 1 sum 1 value 5 Control Statements (2)— 46
  47. 47. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 1 sum 6 value 5 Control Statements (2)— 47
  48. 48. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 2 sum 6 value 5 Control Statements (2)— 48
  49. 49. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 2 sum 6 value 5 Control Statements (2)— 49
  50. 50. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 2 sum 6 value 5 Control Statements (2)— 50
  51. 51. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 2 sum 6 value 3 Control Statements (2)— 51
  52. 52. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 2 sum 9 value 3 Control Statements (2)— 52
  53. 53. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 3 sum 9 value 3 Control Statements (2)— 53
  54. 54. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 3 sum 9 value 3 Control Statements (2)— 54
  55. 55. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 3 sum 9 value 3 Control Statements (2)— 55
  56. 56. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 3 sum 9 value 1 Control Statements (2)— 56
  57. 57. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 3 sum 10 value 1 Control Statements (2)— 57
  58. 58. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 4 sum 10 value 1 Control Statements (2)— 58
  59. 59. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 4 sum 10 value 1 Control Statements (2)— 59
  60. 60. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 4 sum 10 value 1 average 2.5 Control Statements (2)— 60
  61. 61. Execution Trace Suppose input contains: 1 5 3 1 6 listSize 4 numberProcessed 4 sum 10 value 1 average 2.5 Control Statements (2)— 61
  62. 62. Another Example with while loop Class Math include all mathematic functions. Pow(a,b) = ab Initialize counter variable x to 1 The condition is true (x=1<=10) Continue looping as long as x’s value is less than or equal to 10 Increment x by 1, which causes x to exceed 10 eventually Control Statements (2)— 62
  63. 63. While loop Control Statements (2)— 63
  64. 64. Common Programming Error  Forgetting initializing the control value of the while loop is a logical error. Example: Control Statements (2)— 64
  65. 65. The do-while loop Control Statements (2)— 65
  66. 66. The do-while loop (I)  Unlike for and while loops, which test the loop condition at the top of the loop, the do-while loop checks its condition at the bottom of the loop  This means that a do-while loop always executes at least once.  The general form of the do-while loop is do { statement; } while(condition); Control Statements (2)— 66
  67. 67. The do-while loop (II) Declare and initialize control variable counter do…while loop displays counter’s value before testing for counter’s Control Statements (2)— 67
  68. 68. Action true Expression false Control Statements (2)— 68 The do-while loop (III)
  69. 69. Loop iterations  Declaring Variables within Selection and Iteration Statements  it is possible to declare a variable within if, switch, for, while, do..while loops  A variable declared in one of these places has its scope limited to the block of code controlled by that statement /* i is local to for loop; j is known outside loop. */ int j; for(int i = 0; i<10; i++) j = i * i; /* i = 10; // *** Error *** -- i not known here! */ Control Statements (2)— 69
  70. 70. Jump Statements Control Statements (2)— 70
  71. 71.  The return statement  The break statement  The exit() statement  The continue statement Control Statements (2)— 71
  72. 72. The return statement  The return statement is used to return from a function  It is categorized as a jump statement because it causes execution to return (jump back) to the point at which the call to the function was made. Control Statements (2)— 72
  73. 73. The break Statement (I)  Causes immediate exit from control structure  Used in while, for, do…while or switch statements  The break statement has two uses:  You can use it to terminate a case in the switch statement  You can also use it to force immediate termination of a loop, bypassing the normal loop conditional test Control Statements (2)— 73
  74. 74. prints the numbers 0 through 10 on the screen. Then the loop terminates because break causes immediate exit from the loop, overriding the conditional test t<100. Control Statements (2)— 74
  75. 75. Programming Tip Programmers often use the break statement in loops in which a special condition can cause immediate termination. Control Statements (2)— 75
  76. 76. The exit() Function (I) Control Statements (2)— 76
  77. 77. Control Statements (2)— 77
  78. 78. The continue Statement (I)  Instead of forcing termination, however, continue forces the next iteration of the loop to take place, skipping any code in between.  For the for loop, continue causes the conditional test and increment portions of the loop to execute.  For the while and do-while loops, program control passes to the conditional tests. Control Statements (2)— 78
  79. 79. Control Statements (2)— 79
  80. 80. Control Statements (2)— 80
  81. 81. Control Statements (2)— 81

×