1 / 21

CS 101 Introductory Programming - Lecture 7: Loops In C & Good Coding Practices

CS 101 Introductory Programming - Lecture 7: Loops In C & Good Coding Practices. Presenter: Ankur Chattopadhyay. Flowcharts for sequential, selection and iterative control structures. Command. Command. Command. Command. False. True. Done. Test. Setup. Command. Commands

solada
Download Presentation

CS 101 Introductory Programming - Lecture 7: Loops In C & Good Coding Practices

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. CS 101 Introductory Programming - Lecture 7: Loops In C & Good Coding Practices Presenter: Ankur Chattopadhyay

  2. Flowcharts for sequential, selection and iterative control structures Command Command Command Command False True Done Test Setup Command Commands to execute if False Commands to execute if True Commands Command Command Command Command Sequential Structure (straight-line structure) Example Selection Structure (decision or branching structure) Iterative Structure (looping structure) 2

  3. Repetition Statements • Repetition statements allow us to execute a statement multiple times • Often they are referred to as loops • Like conditional statements, they are controlled by Boolean expressions • C has three kinds of repetition statements: • the while loop • the do loop • the for loop

  4. The statement is executed until the condition becomes false The initialization is executed once before the loop begins The increment portion is executed at the end of each iteration The for Statement • A for statement has the following syntax: for ( initialization ; condition ; increment ){ statement; }

  5. initialization condition evaluated true false statement increment Logic of a for loop

  6. Examplesof for loop: Lecture 6 //Multiplication Algorithm inta, b, product, count; printf("Enter two non-negative numbers: "); scanf("%i %i", &a, &b); for (product = 0, count = 0; count < b; count = count + 1) { product = product + a; } printf("The product of %i and %i is %i\n", a, b, product); //Sum of first n natural numbers intsum = 0; // the accumulator for (inti = 1; i <= n; i++) { sum += i; }

  7. Dissecting The for Statement • Each expression in the header of a for loop is optional • If the initialization is left out, no initialization is performed • If the condition is left out, it is always considered to be true, and therefore creates an infinite loop • We usually call this a “forever loop” • If the increment is left out, no increment operation is performed

  8. The while Statement • A while statement has the following syntax: while ( condition ){ statement; } • If the condition is true, the statement is executed • Then the condition is evaluated again, and if it is still true, the statement is executed again • The statement is executed repeatedly until the condition becomes false

  9. condition evaluated true false statement Logic of a while Loop

  10. The while Statement • An example of a while statement: int count = 1; while (count <= 5){ printf(“%i”, count); count++; } • If the condition of a while loop is false initially, the statement is never executed • Therefore, the body of a while loop will execute zero or more times

  11. Analyzing The while Statement • A while loop is functionally equivalent to the following structure: initialization; while ( condition ){ statement; increment; }

  12. Examplesof while loop // for loop example: Lecture 6 for (product = 0, count = 0; count < b; count = count + 1) { product = product + a; } Counter-Controlled Loop - Definite Repetition // equivalent while loop (note: a for loop is more appropriate in this case) product = 0; count = 0; while (count < b) { product = product + a; count = count + 1; }

  13. Another Exampleof while loop Sentinel-Controlled Loop: Indefinite Repetition Nesting an if statement inside a loop intkeep_going = 1; while (keep_going == 1) { // computation would go here ... int answer; printf("Continue? (1 for yes, 0 for no) "); scanf("%i", &answer); if (answer == 0) { keep_going = 0; } }

  14. The do-while Statement • A do-while statement (also called a do loop) has the following syntax: do{ statement; } while ( condition ) • The statement is executed once initially, and then the condition is evaluated • The statement is executed repeatedly until the condition becomes false

  15. statement true condition evaluated false Logic of a do-while Loop

  16. Example of ado Statement • An example of a do loop: int count = 0; do{ count++; printf(“%i”, count); } while (count < 5); • The body of a do loop executes at least once

  17. The while Loop The do Loop condition evaluated statement true true false condition evaluated statement false Comparing while and do

  18. Infinite Loops • The body of a while loop eventually must make the condition false • If not, it is called an infinite loop, which will execute until the user interrupts the program • This is a common logical (semantic) error • You should always double check the logic of a program to ensure that your loops will terminate normally

  19. Example: Infinite Loop • An example of an infinite loop: int count = 1; while (count <= 25){ printf(“%i”, count); count = count - 1; } • This loop will continue executing forever

  20. Good Coding Style Practice • Always place braces around the body of a while loop. • Advantages: • Easier to read • Will not forget to add the braces if you go back and add a second statement to the loop body • Less likely to make a semantic error • Indent the body of a loop - usespaces -- be consistent!

  21. Some Case Studies/Sample Programs To Try Out • Problem 1: - Write a C program that takes a series of integer scores as inputs using a loop, exits if a score entered is negative and computes the average of all the scores entered. • Problem 2: • Write a C program that takes an integer number as input and determines whether the number is prime or not. • Problem 3: Using loops in a C program print the following pattern - 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 (Hint: Use nested loops)

More Related