C # while and do ... while loop (Με παραδείγματα)

Σε αυτό το άρθρο, θα μάθουμε για το while και το κάνουμε… ενώ βρόχο στο C #, πώς να τα χρησιμοποιούμε και διαφορά μεταξύ τους.

Στον προγραμματισμό, είναι συχνά επιθυμητή η εκτέλεση συγκεκριμένων ομάδων δηλώσεων για καθορισμένο αριθμό φορών. Μια πιθανή λύση θα είναι να πληκτρολογήσετε αυτές τις δηλώσεις για τον απαιτούμενο αριθμό φορών. Ωστόσο, ο αριθμός της επανάληψης μπορεί να μην είναι γνωστός εκ των προτέρων (κατά τη διάρκεια της μεταγλώττισης) ή ίσως αρκετά μεγάλος (ας πούμε 10000).

Η καλύτερη λύση σε αυτό το πρόβλημα είναι ο βρόχος. Οι βρόχοι χρησιμοποιούνται στον προγραμματισμό για να εκτελούν επανειλημμένα ένα συγκεκριμένο μπλοκ δηλώσεων μέχρι να ικανοποιηθεί κάποια συνθήκη.

Σε αυτό το άρθρο, θα μάθουμε να χρησιμοποιούμε ενώ βρόχους στο C #.

C # while loop

Η λέξη-κλειδί while χρησιμοποιείται για τη δημιουργία βρόχου while στο C #. Η σύνταξη για loop while είναι:

 ενώ (δοκιμή-έκφραση) (// body of while) 

Πώς λειτουργεί ενώ ο βρόχος;

  1. C # ενώ ο βρόχος αποτελείται από ένα test-expression.
  2. Εάν το test-expressionαξιολογηθεί true,
    1. εκτελούνται δηλώσεις εντός του loop loop.
    2. μετά την εκτέλεση, test-expressionαξιολογείται ξανά.
  3. Εάν το test-expressionαξιολογηθεί false, ο βρόχος while τερματίζεται.

ενώ το διάγραμμα ροής βρόχου

Παράδειγμα 1: while Loop

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι:

 C # For Loop: Iteration 1 C # For Loop: Iteration 2 C # For Loop: Iteration 3 C # For Loop: Iteration 4 C # For Loop: Επανάληψη 5

Αρχικά η τιμή του i είναι 1.

Όταν το πρόγραμμα φτάσει στη δήλωση loop while,

  • i <=5αξιολογείται η έκφραση της δοκιμής . Δεδομένου ότι είμαι 1 και 1 <= 5είναι true, εκτελεί το σώμα του βρόχου while. Εδώ, η γραμμή εκτυπώνεται στην οθόνη με την επανάληψη 1 και η τιμή του i αυξάνεται κατά 1 για να γίνει 2.
  • Τώρα, η δοκιμαστική έκφραση ( i <=5) αξιολογείται ξανά. Αυτή τη φορά επίσης, η έκφραση επιστρέφει true(2 <= 5), οπότε η γραμμή εκτυπώνεται στην οθόνη και η τιμή του i αυξάνεται τώρα στο 3…
  • Αυτό πηγαίνει και ο βρόχος ενώ εκτελείται έως ότου γίνω 6. Σε αυτό το σημείο, η δοκιμαστική έκφραση θα αξιολογηθεί falseκαι ως εκ τούτου ο βρόχος τερματίζεται.

Παράδειγμα 2: while loop για τον υπολογισμό των πρώτων 5 φυσικών αριθμών

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι:

 Άθροισμα = 15

Αυτό το πρόγραμμα υπολογίζει το άθροισμα των πρώτων 5 φυσικών αριθμών.

  • Αρχικά η τιμή του αθροίσματος αρχικοποιείται σε 0.
  • Σε κάθε επανάληψη, η τιμή του αθροίσματος ενημερώνεται sum+iκαι η τιμή του i αυξάνεται κατά 1.
  • Όταν η τιμή του i φτάσει το 6, η δοκιμαστική έκφραση i<=5θα επιστρέψει ψευδής και ο βρόχος τερματίζεται.

Ας δούμε τι συμβαίνει στο συγκεκριμένο πρόγραμμα σε κάθε επανάληψη.

Αρχικά, i = 1, άθροισμα = 0

Ενώ βήματα εκτέλεσης βρόχου
Επανάληψη Αξία i i <= 5 Αξία αθροίσματος
1 1 αληθής 0 + 1 = 1
2 2 αληθής 1 + 2 = 3
3 3 αληθής 3 + 3 = 6
4 4 αληθής 6 + 4 = 10
5 5 αληθής 10 + 5 = 15
6 6 ψευδής Ο βρόχος τερματίζεται

Έτσι, η τελική αξία του ποσού θα είναι 15.

C # do … while loop

Η λέξη-κλειδί do and while χρησιμοποιείται για τη δημιουργία βρόχου do … while. Είναι παρόμοιο με έναν βρόχο για λίγο, ωστόσο υπάρχει μεγάλη διαφορά μεταξύ τους.

Στο while loop, η κατάσταση ελέγχεται πριν εκτελεστεί το σώμα. Είναι το ακριβώς αντίθετο στο do… while loop, δηλαδή η κατάσταση ελέγχεται μετά την εκτέλεση του σώματος.

Γι 'αυτό, το σώμα του do … while loop θα εκτελεστεί τουλάχιστον μία φορά ανεξάρτητα από τη δοκιμαστική έκφραση.

Η σύνταξη για το do … while loop είναι:

 do (// body of do while loop) ενώ (δοκιμή-έκφραση); 

Πώς… ενώ λειτουργεί ο βρόχος;

  1. Το σώμα του do… ενώ ο βρόχος εκτελείται στην αρχή.
  2. Στη συνέχεια test-expressionαξιολογείται.
  3. Εάν test-expressionείναι true, εκτελείται το σώμα του βρόχου.
  4. Όταν test-expressionείναι false, κάντε… ενώ ο βρόχος τελειώνει.

κάνω… ενώ το διάγραμμα ροής βρόχου

Παράδειγμα 3: κάνουμε… ενώ βρόχο

 using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι:

 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50

As we can see, the above program prints the multiplication table of a number (5).

  • Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
  • Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
  • After the execution of the loop’s body, the test expression i <= 10 is evaluated. In total, the do… while loop will run for 10 times.
  • Finally, when the value of i is 11, the test-expression evaluates to false and hence terminates the loop.

Infinite while and do… while loop

If the test expression in the while and do… while loop never evaluates to false, the body of loop will run forever. Such loops are called infinite loop.

For example:

Infinite while loop

 while (true) (// σώμα του while loop) 

Απεριόριστα κάνει … ενώ βρόχο

 do (// body of while loop) ενώ (true); 

Ο άπειρος βρόχος είναι χρήσιμος όταν χρειαζόμαστε έναν βρόχο για να τρέξει όσο εκτελείται το πρόγραμμά μας.

Για παράδειγμα, εάν το πρόγραμμά σας είναι κινούμενο σχέδιο, θα πρέπει να το εκτελείτε συνεχώς μέχρι να σταματήσει. Σε τέτοιες περιπτώσεις, ένας άπειρος βρόχος είναι απαραίτητος για να συνεχίσετε να εκτελείτε συνεχώς την κινούμενη εικόνα.

ενδιαφέροντα άρθρα...