C++ do…while βρόχος με Παραδείγματα

⚡ Έξυπνη Σύνοψη

Ένας βρόχος do-while στο C++ Εκτελεί ένα μπλοκ κώδικα μία φορά και στη συνέχεια το επαναλαμβάνει εφόσον μια συνθήκη παραμένει αληθής. Εδώ θα μάθετε πώς λειτουργεί ο βρόχος do-while, τη σύνταξή του, πότε να τον χρησιμοποιείτε και παραδείγματα.

  • 🔂 Αυτό που είναι: Ένας βρόχος do-while εκτελεί το σώμα του μία φορά και στη συνέχεια επαναλαμβάνει όσο μια συνθήκη είναι αληθής.
  • Εκτελείται πρώτα: Το σώμα εκτελείται πάντα τουλάχιστον μία φορά πριν ελεγχθεί η συνθήκη.
  • 🧾 Σύνταξη: do { δηλώσεις } while(condition); τελειώνει με ερωτηματικό.
  • 🎯 Πότε πρέπει να χρησιμοποιήσετε: Χρησιμοποιήστε το όταν ο κώδικας πρέπει να εκτελεστεί τουλάχιστον μία φορά, όπως σε μενού.
  • 🤖 Βοήθεια με την Τεχνητή Νοημοσύνη: Εργαλεία τεχνητής νοημοσύνης όπως το GitHub Copilot γράφουν και εντοπίζουν σφάλματα C++ επαναλήψεις αμέσως.

C++ Do-While Loop

Τι είναι ο βρόχος 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 Loop
C++ Διάγραμμα ροής Do while

Επεξήγηση διαγράμματος ροής:

  1. Έναρξη του βρόχου do while.
  2. Το σώμα του do while βρόχου.
  3. Η έκφραση ή η συνθήκη δοκιμής που πρέπει να αξιολογηθεί.
  4. Εάν η δοκιμαστική έκφραση είναι αληθής, το C++ ο μεταγλωττιστής εκτέλεσε το σώμα του βρόχου do while.
  5. Εάν η δοκιμαστική έκφραση είναι ψευδής, το C++ Ο μεταγλωττιστής εκτελεί τις εντολές μετά το σώμα του βρόχου.
  6. Δηλώσεις που έρχονται μετά το σώμα του βρόχου.

Παράδειγμα 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;
}

Παραγωγή:

Do-While Loop

Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:

Do-While Loop

Code Επεξήγηση:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
  3. Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος. Το { επισημαίνει την αρχή του σώματος της συνάρτησης main().
  4. Ένα σχόλιο. Ο C++ ο μεταγλωττιστής θα το παρακάμψει.
  5. Δηλώνουμε μια ακέραια μεταβλητή x και της εκχωρούμε τιμή 1.
  6. Δημιουργία βρόχου do-while. Το { επισημαίνει την αρχή του σώματος του βρόχου.
  7. Για να εκτυπώσετε την τιμή της μεταβλητής x μαζί με άλλο κείμενο στην κονσόλα. Το endl είναι α C++ λέξη-κλειδί που σημαίνει τελική γραμμή.
  8. Αύξηση της τιμής του x κατά 1 μετά από κάθε επανάληψη.
  9. Τέλος του σώματος του βρόχου. Η δοκιμαστική έκφραση έχει προστεθεί στο τέλος του σώματος του βρόχου. Ελέγχει εάν η τιμή του x είναι μικρότερη από 5.
  10. Η συνάρτηση main() θα πρέπει να επιστρέψει μια τιμή εάν το πρόγραμμα εκτελείται σωστά.
  11. Τέλος του σώματος της συνάρτησης 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;
}

Παραγωγή:

Do-While Loop

Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:

Do-While Loop

Code Επεξήγηση:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
  3. Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος.
  4. Το { επισημαίνει την αρχή του σώματος της συνάρτησης main().
  5. Δήλωση δύο ακέραιων μεταβλητών, num και sum. Το μεταβλητό άθροισμα έχει αρχικοποιηθεί σε 0.
  6. Δημιουργία βρόχου do-while. Το { επισημαίνει την αρχή του σώματος του βρόχου.
  7. Εκτύπωση του κειμένου «Εισαγάγετε έναν αριθμό:» στην κονσόλα.
  8. Ανάγνωση εισόδου χρήστη από την κονσόλα και αποθήκευση της τιμής στη μεταβλητή αρ. Το cin (είσοδος κονσόλας) είναι μια συνάρτηση που διαβάζει την είσοδο του χρήστη.
  9. Η προσθήκη της τιμής του num στην τιμή του αθροίσματος και η αποθήκευση καταλήγουν σε μεταβλητό άθροισμα.
  10. Το } σηματοδοτεί το τέλος του σώματος του βρόχου. Η δοκιμαστική έκφραση έχει προστεθεί στο τέλος του σώματος του βρόχου. Ελέγχει εάν η τιμή που έχει εισαχθεί από τον χρήστη για να βεβαιωθεί ότι δεν είναι 0. Το != είναι το μη ίσο με τον τελεστή. Εάν ο χρήστης εισάγει 0, ο βρόχος θα πρέπει να τερματιστεί.
  11. Εκτύπωση τιμής μεταβλητού αθροίσματος στην κονσόλα μαζί με άλλο κείμενο.
  12. Η συνάρτηση main() θα πρέπει να επιστρέψει μια τιμή εάν το πρόγραμμα εκτελείται σωστά.
  13. Τέλος του σώματος της συνάρτησης 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);
}

Παραγωγή:

Ένθετο Do while Loop

Εδώ είναι ένα στιγμιότυπο οθόνης του κώδικα:

Ένθετο Do while Loop

Code Επεξήγηση:

  1. Συμπεριλαμβανομένου του αρχείου κεφαλίδας iostream στον κώδικά μας. Θα μας επιτρέψει να διαβάζουμε και να γράφουμε στην κονσόλα.
  2. Συμπεριλαμβανομένου του χώρου ονομάτων std ώστε να χρησιμοποιείτε τις κλάσεις και τις συναρτήσεις του χωρίς να τον καλείτε.
  3. Κλήση της συνάρτησης main() εντός της οποίας πρέπει να προστεθεί η λογική του προγράμματος. Το { επισημαίνει την αρχή του σώματος της συνάρτησης main().
  4. Δήλωση μιας ακέραιας μεταβλητής a και εκχώρηση τιμής 1.
  5. Δημιουργία του εξωτερικού βρόχου do-while. Το { σηματοδοτεί την αρχή του σώματος του εξωτερικού βρόχου.
  6. Δήλωση μιας ακέραιας μεταβλητής b και εκχώρηση της τιμής 1.
  7. Δημιουργία του εσωτερικού βρόχου do-while. Το { σηματοδοτεί την αρχή του σώματος του εσωτερικού βρόχου.
  8. Για να εκτυπώσετε την τιμή της μεταβλητής a στην κονσόλα. Το "\n" είναι ένας νέος χαρακτήρας γραμμής που μετακινεί τον κέρσορα του ποντικιού στην επόμενη γραμμή.
  9. Αύξηση της τιμής του b κατά 1 μετά από κάθε επανάληψη.
  10. Τέλος του σώματος του εσωτερικού βρόχου. Η δοκιμαστική έκφραση έχει προστεθεί στο τέλος του σώματος του βρόχου. Ελέγχει εάν η τιμή του b είναι μικρότερη ή ίση με 5.
  11. Αύξηση της τιμής του a κατά 1 μετά από κάθε επανάληψη.
  12. Άκρο του σώματος του εξωτερικού βρόχου. Η δοκιμαστική έκφραση έχει προστεθεί στο τέλος του σώματος του βρόχου. Ελέγχει εάν η τιμή του a είναι μικρότερη ή ίση με 3.
  13. Τέλος του σώματος της συνάρτησης main().

Συχνές Ερωτήσεις

Ένας βρόχος do-while είναι μια δομή ελέγχου που εκτελεί το σώμα της μία φορά και στη συνέχεια το επαναλαμβάνει εφόσον μια συνθήκη είναι αληθής. Η συνθήκη ελέγχεται μετά από κάθε πέρασμα, όχι πριν.

Ένας βρόχος while ελέγχει τη συνθήκη πριν εκτελέσει το σώμα του, επομένως μπορεί να εκτελεστεί μηδέν φορές. Ένας βρόχος do-while εκτελεί πρώτα το σώμα και ελέγχει τη συνθήκη μετά, επομένως εκτελείται πάντα τουλάχιστον μία φορά.

Η σύνταξη είναι do { statements } while(condition);. Το σώμα σε αγκύλες εκτελείται πρώτο, στη συνέχεια ελέγχεται η συνθήκη σε παρένθεση και ο βρόχος τελειώνει με ερωτηματικό.

Χρησιμοποιήστε έναν βρόχο do-while όταν ο κώδικας πρέπει να εκτελεστεί τουλάχιστον μία φορά ανεξάρτητα από τη συνθήκη, όπως η εμφάνιση ενός μενού ή η επικύρωση της εισόδου του χρήστη.

Ένας ένθετος βρόχος do-while είναι ένας βρόχος do-while που τοποθετείται μέσα σε έναν άλλο βρόχο do-while. Ο εσωτερικός βρόχος ολοκληρώνει όλα τα περάσματά του για κάθε μεμονωμένο πέρασμα του εξωτερικού βρόχου.

Οι βοηθοί τεχνητής νοημοσύνης, όπως το GitHub Copilot, δημιουργούν βρόχους do-while από ένα σχόλιο, μετατρέπουν μεταξύ τύπων βρόχων και επισημαίνουν συνθήκες που θα μπορούσαν να προκαλέσουν έναν άπειρο βρόχο.

Ναι. Τα εργαλεία με τεχνητή νοημοσύνη ανιχνεύουν άπειρους βρόχους, σφάλματα off-by-one και λανθασμένες συνθήκες βρόχου και προτείνουν πιο σαφή λογική βρόχου, helping your C++ ο κώδικας εκτελείται σωστά.

Ναι. Επειδή η συνθήκη ελέγχεται μετά το σώμα, ένας βρόχος do-while εκτελεί πάντα το σώμα του τουλάχιστον μία φορά, ακόμα κι αν η συνθήκη είναι ψευδής στον πρώτο έλεγχο.

Συνοψίστε αυτήν την ανάρτηση με: