Σε αυτό το άρθρο, θα μάθουμε για το βρόχο στο C # και τους διαφορετικούς τρόπους χρήσης τους σε ένα πρόγραμμα.
Στον προγραμματισμό, είναι συχνά επιθυμητή η εκτέλεση συγκεκριμένων ομάδων δηλώσεων για καθορισμένο αριθμό φορών. Μια πιθανή λύση θα είναι να πληκτρολογήσετε αυτές τις δηλώσεις για τον απαιτούμενο αριθμό φορών. Ωστόσο, ο αριθμός της επανάληψης μπορεί να μην είναι γνωστός εκ των προτέρων (κατά τη διάρκεια της μεταγλώττισης) ή ίσως αρκετά μεγάλος (ας πούμε 10000).
Η καλύτερη λύση σε αυτό το πρόβλημα είναι ο βρόχος. Οι βρόχοι χρησιμοποιούνται στον προγραμματισμό για να εκτελούν επανειλημμένα ένα συγκεκριμένο μπλοκ δηλώσεων μέχρι να ικανοποιηθεί κάποια συνθήκη.
Σε αυτό το άρθρο, θα αναζητήσουμε βρόχο στο C #.
C # για βρόχο
Η λέξη-κλειδί for χρησιμοποιείται για τη δημιουργία βρόχου στο C #. Η σύνταξη για το loop είναι:
για (αρχικοποίηση, συνθήκη, επαναληπτικό) (// body of for loop)
Πώς λειτουργεί το βρόχο;
- C # για το βρόχο έχει τρεις καταστάσεις:
initialization
,condition
καιiterator
. - Η
initialization
δήλωση εκτελείται στην αρχή και μόνο μία φορά. Εδώ, η μεταβλητή συνήθως δηλώνεται και αρχικοποιείται. - Στη συνέχεια,
condition
αξιολογείται. Ηcondition
είναι μια δυαδική παράσταση, δηλαδή επιστρέφει είτεtrue
ήfalse
. - Εάν η
condition
αξιολόγηση αξιολογείται ωςtrue
εξής:- Εκτελούνται οι δηλώσεις εντός του για βρόχο.
- Στη συνέχεια,
iterator
εκτελείται η δήλωση που συνήθως αλλάζει την τιμή της αρχικοποιημένης μεταβλητής. - Και πάλι
condition
αξιολογείται. - Η διαδικασία συνεχίζεται έως ότου
condition
αξιολογηθείfalse
.
- Εάν το
condition
αξιολογηθείfalse
, το for for loop τερματίζεται.
για το διάγραμμα ροής Loop
Παράδειγμα 1: C # για βρόχο
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", 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
Σε αυτό το πρόγραμμα,
initialization
η δήλωση είναιint i=1
condition
η δήλωση είναιi<=5
iterator
η δήλωση είναιi++
Όταν εκτελείται το πρόγραμμα,
- Πρώτον, η μεταβλητή i δηλώνεται και αρχικοποιείται σε 1.
- Στη συνέχεια,
i<=5
αξιολογείται η συνθήκη ( ). - Δεδομένου ότι η συνθήκη επιστρέφει
true
, το πρόγραμμα εκτελεί το σώμα του βρόχου. Εκτυπώνει τη δεδομένη γραμμή με την επανάληψη 1 (η επανάληψη σημαίνει απλώς επανάληψη). - Τώρα,
i++
αξιολογείται ο επαναληπτικός ( ). Αυτό αυξάνει την τιμή του i έως 2. - Η συνθήκη (
i<=5
) αξιολογείται ξανά και στο τέλος, η τιμή του i αυξάνεται κατά 1. Η συνθήκη θα αξιολογηθείtrue
για τις πρώτες 5 φορές. - Όταν η τιμή του i θα είναι 6 και η συνθήκη θα είναι
false
, ως εκ τούτου ο βρόχος θα τερματιστεί.
Παράδειγμα 2: για τον βρόχο να υπολογίσει το άθροισμα των πρώτων φυσικών αριθμών
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int n = 5,sum = 0; for (int i=1; i<=n; i++) ( // sum = sum + i; sum += i; ) Console.WriteLine("Sum of first (0) natural numbers = (1)", n, sum); ) ) )
Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι:
Άθροισμα των πρώτων 5 φυσικών αριθμών = 15
Εδώ, η τιμή του αθροίσματος και του n αρχικοποιούνται σε 0 και 5 αντίστοιχα. Η μεταβλητή επανάληψης αρχικοποιείται σε 1 και αυξάνεται σε κάθε επανάληψη.
Μέσα στο βρόχο for, η τιμή του αθροίσματος αυξάνεται από το i δηλαδή sum = sum + i
. Το for loop συνεχίζεται έως ότου το i είναι μικρότερο ή ίσο με n (είσοδος χρήστη).
Ας δούμε τι συμβαίνει στο συγκεκριμένο πρόγραμμα σε κάθε επανάληψη.
Αρχικά, i = 1, άθροισμα = 0 και n = 3
Για βήματα εκτέλεσης βρόχουΕπανάληψη | Αξία 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 όταν n = 5.
Πολλαπλές εκφράσεις μέσα σε ένα βρόχο
Μπορούμε επίσης να χρησιμοποιήσουμε πολλές εκφράσεις μέσα σε ένα για βρόχο. Αυτό σημαίνει ότι μπορούμε να έχουμε περισσότερες από μία δηλώσεις αρχικοποίησης ή / και επαναλήψεων εντός ενός βρόχου για. Ας δούμε το παρακάτω παράδειγμα.
Παράδειγμα 3: για βρόχο με πολλές εκφράσεις αρχικοποίησης και επαναλήψεων
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=0, j=0; i+j<=5; i++, j++) ( Console.WriteLine("i = (0) and j = (1)", i,j); ) ) ) )
Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι:
i = 0 και j = 0 i = 1 και j = 1 i = 2 και j = 2
Σε αυτό το πρόγραμμα, έχουμε δηλώσει και αρχικοποιήσει δύο μεταβλητές: i και j στη δήλωση αρχικοποίησης.
Επίσης, έχουμε δύο εκφράσεις στο τμήμα επαναλήψεων. Αυτό σημαίνει ότι και τα i και j αυξάνονται κατά 1 σε κάθε επανάληψη.
Για βρόχο χωρίς αρχικοποίηση και επαναληπτικές δηλώσεις
Η αρχικοποίηση, η συνθήκη και η επαναληπτική δήλωση είναι προαιρετικά σε ένα για βρόχο. Αυτό σημαίνει ότι μπορούμε να τρέξουμε ένα βρόχο χωρίς αυτές τις δηλώσεις.
Σε τέτοιες περιπτώσεις, για το βρόχο ενεργεί ως βρόχος για λίγο. Ας δούμε το παρακάτω παράδειγμα.
Παράδειγμα 4: για βρόχο χωρίς αρχικοποίηση και επαναληπτική δήλωση
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( int i = 1; for ( ; 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.
Ομοίως, η συνθήκη είναι επίσης μια προαιρετική δήλωση. Ωστόσο, εάν δεν χρησιμοποιήσουμε τη δοκιμαστική έκφραση, το for loop δεν θα δοκιμάσει καμία κατάσταση και θα εκτελεστεί για πάντα (άπειρος βρόχος).
Άπειρο για βρόχο
Εάν η συνθήκη στο βρόχο για αγκύλη είναι πάντα αληθινή, ο βρόχος θα τρέξει για πάντα. Αυτό ονομάζεται άπειρο για βρόχο.
Παράδειγμα 5: Άπειρο για βρόχο
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( for (int i=1 ; i>0; i++) ( Console.WriteLine("C# For Loop: Iteration (0)", i); ) ) ) )
Εδώ, αρχικοποιώ στο 1 και η κατάσταση είναι i>0
. Σε κάθε επανάληψη αυξάνουμε την τιμή του i με 1, οπότε η κατάσταση δεν θα είναι ποτέ false
. Αυτό θα κάνει το βρόχο να εκτελείται απεριόριστα.
Μπορούμε επίσης να δημιουργήσουμε έναν άπειρο βρόχο αντικαθιστώντας την κατάσταση με ένα κενό. Για παράδειγμα,
για (;;) (// body of for loop)
ή
για (αρχικοποίηση; επαναληπτικό) (// body of for loop)