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 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

Επεξήγηση κώδικα:

  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

Επεξήγηση κώδικα:

  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

Επεξήγηση κώδικα:

  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 εκτελεί μια ενότητα κώδικα πολλές φορές.
  • Θα πρέπει να χρησιμοποιείται όταν ο αριθμός των επαναλήψεων δεν είναι σταθερός.
  • Στον βρόχο do-while, το σώμα του βρόχου προηγείται της δοκιμαστικής έκφρασης.
  • Το σώμα του βρόχου εκτελείται για τουλάχιστον μία φορά, ακόμα κι αν η δοκιμαστική έκφραση γίνει ψευδής.
  • Αυτός ο βρόχος θα πρέπει να χρησιμοποιείται όταν ο αριθμός των επαναλήψεων δεν είναι σταθερός.
  • Ο βρόχος Do while μπορεί να εκτελεστεί πολλές φορές, υπό την προϋπόθεση ότι η συνθήκη είναι αληθής.
  • Η συνθήκη αξιολογείται μία φορά μετά από κάθε επανάληψη.
  • Το αποτέλεσμα της αξιολόγησης της κατάστασης καθορίζει τη δράση που πρέπει να γίνει.
  • Εάν η συνθήκη είναι αληθής, ο βρόχος εκτέλεσε το σώμα.
  • Η εκτέλεση του βρόχου σταματά αμέσως η συνθήκη αξιολογείται σε ψευδή.
  • Εφόσον το σώμα του βρόχου do while έχει ήδη εκτελεστεί, πρέπει να επιστρέψει το αποτέλεσμα.