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 έχει ήδη εκτελεστεί, πρέπει να επιστρέψει το αποτέλεσμα.





