1 / 31

Chapter 5

Chapter 5. Repetition and Loop Statements. Repetition in Programs. In most commercial software, you can repeat a process many times. When using an editor program, you can move the cursor to a program line and perform as many edit operations as you need to.

gavan
Download Presentation

Chapter 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 5 Repetition and Loop Statements

  2. Repetition in Programs • In most commercial software, you can repeat a process many times. • When using an editor program, you can move the cursor to a program line and perform as many edit operations as you need to. • Loop is a control structure that repeats a group of steps in a program. • Three C loop control statements • while • for • do-while

  3. Flow Diagram of Loop Choice

  4. Comparison of Loop Kinds

  5. The while statement • Counter-controlled loop (or counting loop) • A loop whose required number of iterations can be determined before loop execution begins. • The syntax while (loop repetition condition) statement; • Loop repetition condition: the condition that controls loop repetition. • Infinite loop: a loop that executes forever

  6. Example count_emp = 0; /* no employees processed yet */ while (count_emp < 7) { /* test value of count_emp */ printf("Hours> "); scanf("%d", &hours); printf("Rate> "); scanf("%lf", &rate); pay = hours * rate; printf("Pay is $%6.2f\n", pay); count_emp = count_emp + 1; /* increment count_emp */ } printf("\nAll employees processed\n");

  7. Flowchart for a while Loop

  8. Computing a Sum or a Product in a Loop • Loops often accumulate a sum or a product by repeating an addition or multiplication operation. • Accumulator • A variable used to store a value being computed in increments during the execution of a loop.

  9. Example

  10. Compound Assignment Operators • C provide special assignment operators variableop =expression;

  11. The for Statement • Three loop control components with the loop body. • Initialization of the loop control variable, • Test of the loop repetition condition, and • Change (update) of the loop control variable. • The for statement in C supplies a designed place for each of these three components .

  12. Counting Loop by for Statement

  13. for Statement

  14. Increment and Decrement Operators • The increment (i.e., ++) or decrement (i.e., --) operators are the frequently used operators which take only one operand. for(int i=0; i<100; i++) {…} for(int i=100; i>0; i--) {…} • Side effect: the value of its operand is incremented/decremented by one.

  15. Prefix and Postfix Increments • The value of the expression in which the ++/-- operator is used depends on the position of the operator.

  16. Example: Factorial Function

  17. Inc. and Dec. Other Than 1

  18. Conditional Loops • In many programming situations, you will not be able to determine the exact number of loop repetitions before loop execution begins. • Example: Monitor Gasoline Storage Tank (Fig. 5.9)

  19. Loop Design • Problem-Solving Questions for Loop Design • What are the inputs? • What are the outputs? • Is there any repetition? • Do I know in advance how many time steps will be repeated? • How do I know how long to keep repeating the steps? • Sentinel-Controlled Loops • Endfile-Controlled Loops • Infinite Loops on Faulty Data

  20. Sentinel-Controlled Loops • One way to do this is to instruct the user to enter a unique data value, called a sentinel value, after the last data item.(Fig. 5.10)

  21. Endfile-Controlled Loops • A data file is always terminated by an endfile character that can be detected by the scanf and fscanf functions. • EOF stands for the endfile character.

  22. Example of Endfile-Controlled Loops

  23. Infinite Loops on Faulty Data • 70  7o • Detect faulty data

  24. Nested Loops • Consist of an outer loop with one or more inner loops. (Fig. 5.13)

  25. The do-while Statement • When we know that a loop must execute at least one time.

  26. Flag-Controlled Loops • A flag is a variable used to represent whether or not a certain event has occurred. (Fig. 5.14)

  27. Homework #5 • Due: 2006/10/25 • 利用迴圈和 '*'可以畫出許多圖形 1.定義一個CENTER常數(#define CENTER 20)表示所有圖形的中心位置 2.實作出一個 function prototype 如下: void triangle(int n); 其作用是繪出 n 排星號的等腰三角形 若n為正時,則畫出三角形是正立的,如a. (n=4) 若n為負時,則畫出三角形是倒立的,如b. (n=-4) 3.主程式將輸入多個整數(最後以0結尾),印出其對應的圖案 並判斷每個整數若不在-9 與 9 的範圍內則不予理會之 a. b. * ******* *** ***** ***** *** ******* *

  28. Summary • Repetition and Loop Statements • Counter-Controller Loop • Sentinel-Controller Loop • Endfile-Controller Loop • Input Validation Loop • General Conditional Loop • while, for, and do-while • Compound Assignment Operators

More Related