Σε αυτό το σεμινάριο, θα μάθουμε τη χρήση του while και θα κάνουμε… ενώ βρόχους στον προγραμματισμό C ++ με τη βοήθεια ορισμένων παραδειγμάτων.
Στον προγραμματισμό υπολογιστών, οι βρόχοι χρησιμοποιούνται για την επανάληψη ενός μπλοκ κώδικα.
Για παράδειγμα, ας υποθέσουμε ότι θέλουμε να εμφανίσουμε ένα μήνυμα 100 φορές. Στη συνέχεια, αντί να γράψουμε τη δήλωση εκτύπωσης 100 φορές, μπορούμε να χρησιμοποιήσουμε έναν βρόχο.
Αυτό ήταν απλά ένα απλό παράδειγμα. Μπορούμε να επιτύχουμε πολύ περισσότερη αποδοτικότητα και πολυπλοκότητα στα προγράμματά μας κάνοντας αποτελεσματική χρήση βρόχων.
Υπάρχουν 3 τύποι βρόχων στο C ++.
for
βρόχοςwhile
βρόχοςdo… while
βρόχος
Στο προηγούμενο σεμινάριο, μάθαμε για το C ++ για βρόχο. Εδώ, πρόκειται να μάθουμε while
και να βρούμε do… while
.
C ++ ενώ βρόχος
Η σύνταξη του while
βρόχου είναι:
while (condition) ( // body of the loop )
Εδώ,
- Ένας
while
βρόχος αξιολογεί τοcondition
- Εάν
condition
αξιολογηθείtrue
,while
εκτελείται ο κωδικός μέσα στον βρόχο. - Η
condition
αξιολογείται και πάλι. - Αυτή η διαδικασία συνεχίζεται έως ότου
condition
είναιfalse
. - Όταν
condition
αξιολογείταιfalse
, ο βρόχος τερματίζεται.
Για να μάθετε περισσότερα σχετικά με το conditions
, επισκεφτείτε το C ++ Relational and Logical Operators.
Διάγραμμα ροής του Loop
Διάγραμμα ροής C ++ ενώ βρόχοςΠαράδειγμα 1: Εμφάνιση αριθμών από 1 έως 5
// C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // while loop from 1 to 5 while (i <= 5) ( cout << i << " "; ++i; ) return 0; )
Παραγωγή
1 2 3 4 5
Δείτε πώς λειτουργεί το πρόγραμμα.
Επανάληψη | Μεταβλητός | i <= 5 | Δράση |
---|---|---|---|
1ος | i = 1 | true | 1 είναι τυπωμένο και i αυξάνεται σε 2 . |
2ος | i = 2 | true | Το 2 είναι τυπωμένο και i αυξάνεται σε 3 . |
3ος | i = 3 | true | Το 3 είναι τυπωμένο και i αυξάνεται σε4 |
4ος | i = 4 | true | Το 4 είναι τυπωμένο και i αυξάνεται σε 5 . |
5η | i = 5 | true | 5 εκτυπώνεται και i αυξάνεται σε 6 . |
6η | i = 6 | false | Ο βρόχος τερματίζεται |
Παράδειγμα 2: Μόνο άθροισμα θετικών αριθμών
// program to find the sum of positive numbers // if the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number; int sum = 0; // take input from the user cout <> number; while (number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive cout <> number; ) // display the sum cout << "The sum is " << sum << endl; return 0; )
Παραγωγή
Εισαγάγετε έναν αριθμό: 6 Εισαγάγετε έναν αριθμό: 12 Εισαγάγετε έναν αριθμό: 7 Εισαγάγετε έναν αριθμό: 0 Εισαγάγετε έναν αριθμό: -2 Το άθροισμα είναι 25
Σε αυτό το πρόγραμμα, ζητείται από τον χρήστη να εισαγάγει έναν αριθμό, ο οποίος είναι αποθηκευμένος στον μεταβλητό αριθμό.
Για να αποθηκεύσουμε το άθροισμα των αριθμών, δηλώνουμε ένα μεταβλητό άθροισμα και το αρχικοποιούμε στην τιμή του 0
.
Ο while
βρόχος συνεχίζεται έως ότου ο χρήστης εισαγάγει έναν αρνητικό αριθμό. Κατά τη διάρκεια κάθε επανάληψης, ο αριθμός που εισάγεται από τον χρήστη προστίθεται στη μεταβλητή αθροίσματος.
Όταν ο χρήστης εισάγει έναν αρνητικό αριθμό, ο βρόχος τερματίζεται. Τέλος, εμφανίζεται το συνολικό άθροισμα.
C ++ κάνουμε … ενώ Loop
Ο do… while
βρόχος είναι μια παραλλαγή του while
βρόχου με μια σημαντική διαφορά: το σώμα του do… while
βρόχου εκτελείται μία φορά πριν από τον condition
έλεγχο.
Η σύνταξή του είναι:
do ( // body of loop; ) while (condition);
Εδώ,
- Το σώμα του βρόχου εκτελείται αρχικά. Στη συνέχεια
condition
αξιολογείται. - Εάν το
condition
αξιολογηθείtrue
, το σώμα του βρόχου μέσα στηdo
δήλωση εκτελείται ξανά. - Η
condition
αξιολογείται για άλλη μια φορά. - Εάν το
condition
αξιολογηθείtrue
, το σώμα του βρόχου μέσα στηdo
δήλωση εκτελείται ξανά. - Αυτή η διαδικασία συνεχίζεται έως ότου
condition
αξιολογηθούνfalse
. Τότε ο βρόχος σταματά.
Διάγραμμα ροής του do … while Loop
Διάγραμμα ροής του C ++ do … while loopΠαράδειγμα 3: Εμφάνιση αριθμών από 1 έως 5
// C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // do… while loop from 1 to 5 do ( cout << i << " "; ++i; ) while (i <= 5); return 0; )
Παραγωγή
1 2 3 4 5
Δείτε πώς λειτουργεί το πρόγραμμα.
Επανάληψη | Μεταβλητός | i <= 5 | Δράση |
---|---|---|---|
i = 1 | Δεν εχει ελεγχθει | Το 1 εκτυπώνεται και i αυξάνεται σε 2 |
|
1ος | i = 2 | true | Το 2 είναι τυπωμένο και i αυξάνεται σε 3 |
2ος | i = 3 | true | Το 3 είναι τυπωμένο και i αυξάνεται σε 4 |
3ος | i = 4 | true | Το 4 είναι τυπωμένο και i αυξάνεται σε 5 |
4ος | i = 5 | true | Το 5 είναι τυπωμένο και i αυξάνεται σε 6 |
5η | i = 6 | false | Ο βρόχος τερματίζεται |
Παράδειγμα 4: Μόνο άθροισμα θετικών αριθμών
// program to find the sum of positive numbers // If the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number = 0; int sum = 0; do ( sum += number; // take input from the user cout <> number; ) while (number>= 0); // display the sum cout << "The sum is " << sum << endl; return 0; )
Έξοδος 1
Εισαγάγετε έναν αριθμό: 6 Εισαγάγετε έναν αριθμό: 12 Εισαγάγετε έναν αριθμό: 7 Εισαγάγετε έναν αριθμό: 0 Εισαγάγετε έναν αριθμό: -2 Το άθροισμα είναι 25
Here, the do… while
loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum
variable.
Output 2
Enter a number: -6 The sum is 0.
The body of the do… while
loop runs only once if the user enters a negative number.
Infinite while loop
If the condition
of a loop is always true
, the loop runs for infinite times (until the memory is full). For example,
// infinite while loop while(true) ( // body of the loop )
Here is an example of an infinite do… while
loop.
// infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);
In the above programs, the condition
is always true
. Hence, the loop body will run for infinite times.
for vs while loops
A for
loop is usually used when the number of iterations is known. For example,
// This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )
Here, we know that the for-loop will be executed 5 times.
Ωστόσο, while
και οι do… while
βρόχοι χρησιμοποιούνται συνήθως όταν ο αριθμός των επαναλήψεων είναι άγνωστος. Για παράδειγμα,
while (condition) ( // body of the loop )
Δείτε αυτά τα παραδείγματα για να μάθετε περισσότερα:
- Πρόγραμμα C ++ για εμφάνιση της σειράς Fibonacci
- Πρόγραμμα C ++ για εύρεση GCD
- Πρόγραμμα C ++ για εύρεση LCM