C++ do…while βρόχος με Παραδείγματα
Τι είναι ο βρόχος do-while;
Ο βρόχος do-while επαναλαμβάνει ένα τμήμα του C++ πρόγραμμα αρκετές φορές. Στον βρόχο do-while, η δοκιμαστική έκφραση προστίθεται στο κάτω μέρος του βρόχου. Το σώμα του βρόχου έρχεται πριν από τη δοκιμαστική έκφραση. Αυτός είναι ο λόγος για τον οποίο το σώμα του βρόχου πρέπει να εκτελεστεί για μία φορά, ακόμη και όταν η έκφραση δοκιμής αξιολογηθεί ως false στην πρώτη δοκιμή.
Πότε να χρησιμοποιήσετε έναν βρόχο do-while;
Ο βρόχος do-while θα πρέπει να χρησιμοποιείται όταν ο αριθμός των επαναλήψεων δεν είναι σταθερός και ο βρόχος πρέπει να εκτελεστεί τουλάχιστον μία φορά. ο C++ μεταγλωττιστής εκτελεί πρώτα το σώμα του βρόχου πριν από την αξιολόγηση της συνθήκης. Αυτό σημαίνει ότι ο βρόχος πρέπει να επιστρέψει ένα αποτέλεσμα. Αυτό συμβαίνει ακόμη και όταν η συνθήκη δοκιμής αξιολογείται ως ψευδής κατά την πρώτη αξιολόγηση. Εφόσον το σώμα του βρόχου έχει ήδη εκτελεστεί, πρέπει να επιστρέψει το αποτέλεσμα.
Σύνταξη
Η βασική σύνταξη του C++ Ο βρόχος do while έχει ως εξής:
do{ //code }while(condition);
Η συνθήκη είναι δοκιμαστική έκφραση. Πρέπει να είναι αληθές για να εκτελεστεί ο βρόχος. Τα { και } σηματοδοτούν το σώμα του βρόχου do while. Έρχεται πριν από την κατάσταση. Ως εκ τούτου, εκτελείται πριν από τη συνθήκη.
Πώς λειτουργεί ο βρόχος do-while;
Επεξήγηση διαγράμματος ροής:
- Έναρξη του βρόχου do while.
- Το σώμα του do while βρόχου.
- Η έκφραση ή η συνθήκη δοκιμής που πρέπει να αξιολογηθεί.
- Εάν η δοκιμαστική έκφραση είναι αληθής, το C++ ο μεταγλωττιστής εκτέλεσε το σώμα του βρόχου do while.
- Εάν η δοκιμαστική έκφραση είναι ψευδής, το C++ Ο μεταγλωττιστής εκτελεί τις εντολές μετά το σώμα του βρόχου.
- Δηλώσεις που έρχονται μετά το σώμα του βρόχου.
Παράδειγμα 1
#include <iostream> using namespace std; int main() { // Local variable int x = 1; do { cout << "X is: " << x << endl; x = x + 1; } while (x < 5); return 0; }
Παραγωγή:
Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:
Επεξήγηση κώδικα:
- Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
- Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
- Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος. Το { επισημαίνει την αρχή του σώματος της συνάρτησης main().
- Ένα σχόλιο. Ο C++ ο μεταγλωττιστής θα το παρακάμψει.
- Δηλώνουμε μια ακέραια μεταβλητή x και της εκχωρούμε τιμή 1.
- Δημιουργία βρόχου do-while. Το { επισημαίνει την αρχή του σώματος του βρόχου.
- Για να εκτυπώσετε την τιμή της μεταβλητής x μαζί με άλλο κείμενο στην κονσόλα. Το endl είναι α C++ λέξη-κλειδί που σημαίνει τελική γραμμή.
- Αύξηση της τιμής του x κατά 1 μετά από κάθε επανάληψη.
- Τέλος του σώματος του βρόχου. Η δοκιμαστική έκφραση έχει προστεθεί στο τέλος του σώματος του βρόχου. Ελέγχει εάν η τιμή του x είναι μικρότερη από 5.
- Η συνάρτηση main() θα πρέπει να επιστρέψει μια τιμή εάν το πρόγραμμα εκτελείται σωστά.
- Τέλος του σώματος της συνάρτησης main().
Παράδειγμα 2
#include <iostream> using namespace std; int main() { int num, sum = 0; do { cout << "Enter a number: "; cin >> num; sum += num; } while (num != 0); cout << "Sum is " << sum; return 0; }
Παραγωγή:
Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:
Επεξήγηση κώδικα:
- Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
- Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
- Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος.
- Το { επισημαίνει την αρχή του σώματος της συνάρτησης main().
- Δήλωση δύο ακέραιων μεταβλητών, num και sum. Το μεταβλητό άθροισμα έχει αρχικοποιηθεί σε 0.
- Δημιουργία βρόχου do-while. Το { επισημαίνει την αρχή του σώματος του βρόχου.
- Εκτύπωση του κειμένου «Εισαγάγετε έναν αριθμό:» στην κονσόλα.
- Ανάγνωση εισόδου χρήστη από την κονσόλα και αποθήκευση της τιμής στη μεταβλητή αρ. Το cin (είσοδος κονσόλας) είναι μια συνάρτηση που διαβάζει την είσοδο του χρήστη.
- Η προσθήκη της τιμής του num στην τιμή του αθροίσματος και η αποθήκευση καταλήγουν σε μεταβλητό άθροισμα.
- Το } σηματοδοτεί το τέλος του σώματος του βρόχου. Η δοκιμαστική έκφραση έχει προστεθεί στο τέλος του σώματος του βρόχου. Ελέγχει εάν η τιμή που έχει εισαχθεί από τον χρήστη για να βεβαιωθεί ότι δεν είναι 0. Το != είναι το μη ίσο με τον τελεστή. Εάν ο χρήστης εισάγει 0, ο βρόχος θα πρέπει να τερματιστεί.
- Εκτύπωση τιμής μεταβλητού αθροίσματος στην κονσόλα μαζί με άλλο κείμενο.
- Η συνάρτηση main() θα πρέπει να επιστρέψει μια τιμή εάν το πρόγραμμα εκτελείται σωστά.
- Τέλος του σώματος της συνάρτησης main().
Ένθετο Do while Loop
In C++, είναι δυνατό για εμάς να δημιουργήσουμε έναν βρόχο do-while μέσα σε έναν άλλο βρόχο do-whole. Αυτό οδηγεί σε έναν ένθετο βρόχο do-while.
Σύνταξη
do{ statement(s) do{ statement(s) }while(condition); statement(s) }while(condition);
Η πρώτη δήλωση do υποδηλώνει το μέρος do του εξωτερικού βρόχου do-while.
Η δεύτερη δήλωση do υποδηλώνει το μέρος do του εσωτερικού βρόχου do-while.
Η πρώτη πρόταση while υποδηλώνει τη συνθήκη δοκιμής για τον εσωτερικό βρόχο.
Η δεύτερη πρόταση while υποδηλώνει τη συνθήκη δοκιμής για τον εξωτερικό βρόχο.
Πώς λειτουργεί το Nested Do while Loop
Ο ένθετος βρόχος do while λειτουργεί ως εξής:
Βήμα 1: Η αρχικοποίηση εκτελείται πρώτα και μία φορά.
Βήμα 2: Οι δηλώσεις (το do) εκτελούνται μία φορά.
Βήμα 3: Η δοκιμαστική έκφραση αξιολογείται με έλεγχο ροής.
Βήμα 4: Εάν είναι αληθές, εκτελείται ο εσωτερικός βρόχος.
Βήμα 5: Οι ενημερωμένες δηλώσεις ενημερώνονται.
Βήμα 6: Η διαδικασία εκτελείται επανειλημμένα έως ότου η δοκιμαστική έκφραση γίνει ψευδής.
Βήμα 7: Όταν η δοκιμαστική έκφραση γίνεται ψευδής, ο εσωτερικός βρόχος εξέρχεται και ο έλεγχος μεταβαίνει στον εξωτερικό βρόχο.
Βήμα 8: Η κατάσταση της δοκιμής αξιολογείται ξανά.
Βήμα 9: Εάν είναι true, οι εντολές εκτελούνται για να επιστρέψουν το false.
Βήμα 10: Η εκτέλεση του βρόχου σταματά και ο έλεγχος μεταβαίνει σε εντολές μετά τον βρόχο.
Παράδειγμα
#include <iostream> using namespace std; int main() { int a = 1; do { int b = 1; do { cout << a << "\n"; b++; } while (b <= 3); a++; } while (a <= 3); }
Παραγωγή:
Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:
Επεξήγηση κώδικα:
- Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
- Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
- Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος. Το { επισημαίνει την αρχή του σώματος της συνάρτησης main().
- Δήλωση μιας ακέραιας μεταβλητής a και εκχώρηση τιμής 1.
- Δημιουργία του εξωτερικού βρόχου do-while. Το { σηματοδοτεί την αρχή του σώματος του εξωτερικού βρόχου.
- Δήλωση μιας ακέραιας μεταβλητής b και εκχώρηση της τιμής 1.
- Δημιουργία του εσωτερικού βρόχου do-while. Το { σηματοδοτεί την αρχή του σώματος του εσωτερικού βρόχου.
- Για να εκτυπώσετε την τιμή της μεταβλητής a στην κονσόλα. Το "\n" είναι ένας νέος χαρακτήρας γραμμής που μετακινεί τον κέρσορα του ποντικιού στην επόμενη γραμμή.
- Αύξηση της τιμής του b κατά 1 μετά από κάθε επανάληψη.
- Τέλος του σώματος του εσωτερικού βρόχου. Η δοκιμαστική έκφραση έχει προστεθεί στο τέλος του σώματος του βρόχου. Ελέγχει εάν η τιμή του b είναι μικρότερη ή ίση με 5.
- Αύξηση της τιμής του a κατά 1 μετά από κάθε επανάληψη.
- Άκρο του σώματος του εξωτερικού βρόχου. Η δοκιμαστική έκφραση έχει προστεθεί στο τέλος του σώματος του βρόχου. Ελέγχει εάν η τιμή του a είναι μικρότερη ή ίση με 3.
- Τέλος του σώματος της συνάρτησης main().
Σύνοψη
- Ο βρόχος do-while εκτελεί μια ενότητα κώδικα πολλές φορές.
- Θα πρέπει να χρησιμοποιείται όταν ο αριθμός των επαναλήψεων δεν είναι σταθερός.
- Στον βρόχο do-while, το σώμα του βρόχου προηγείται της δοκιμαστικής έκφρασης.
- Το σώμα του βρόχου εκτελείται για τουλάχιστον μία φορά, ακόμα κι αν η δοκιμαστική έκφραση γίνει ψευδής.
- Αυτός ο βρόχος θα πρέπει να χρησιμοποιείται όταν ο αριθμός των επαναλήψεων δεν είναι σταθερός.
- Ο βρόχος Do while μπορεί να εκτελεστεί πολλές φορές, υπό την προϋπόθεση ότι η συνθήκη είναι αληθής.
- Η συνθήκη αξιολογείται μία φορά μετά από κάθε επανάληψη.
- Το αποτέλεσμα της αξιολόγησης της κατάστασης καθορίζει τη δράση που πρέπει να γίνει.
- Εάν η συνθήκη είναι αληθής, ο βρόχος εκτέλεσε το σώμα.
- Η εκτέλεση του βρόχου σταματά αμέσως η συνθήκη αξιολογείται σε ψευδή.
- Εφόσον το σώμα του βρόχου do while έχει ήδη εκτελεστεί, πρέπει να επιστρέψει το αποτέλεσμα.