Βρόχοι στο C: For, while, Do while επαναφορά δηλώσεων [Παραδείγματα]
Τι είναι το Loop στο C;
Δηλώσεις βρόχου στο C εκτελέστε την ακολουθία εντολών πολλές φορές έως ότου η δηλωθείσα συνθήκη γίνει ψευδής. Ένας βρόχος στο C αποτελείται από δύο μέρη, το σώμα ενός βρόχου και μια δήλωση ελέγχου. Η δήλωση ελέγχου είναι ένας συνδυασμός ορισμένων συνθηκών που κατευθύνουν το σώμα του βρόχου να εκτελεστεί έως ότου η καθορισμένη συνθήκη γίνει ψευδής. Ο σκοπός του βρόχου C είναι να επαναλάβει τον ίδιο κώδικα πολλές φορές.
Τύποι βρόχων στο C
Ανάλογα με τη θέση μιας δήλωσης ελέγχου σε ένα πρόγραμμα, η δήλωση βρόχου στο C ταξινομείται σε δύο τύπους:
1. Ελεγχόμενος βρόχος εισόδου
2. Έξοδος από τον ελεγχόμενο βρόχο
Σε μία βρόχος ελέγχου εισόδου στο C, μια συνθήκη ελέγχεται πριν από την εκτέλεση του σώματος ενός βρόχου. Ονομάζεται επίσης ως βρόχος προ-ελέγχου.
Σε μία έξοδος από ελεγχόμενο βρόχο, μια συνθήκη ελέγχεται μετά την εκτέλεση του σώματος ενός βρόχου. Ονομάζεται επίσης ως βρόχος μετά τον έλεγχο.
Οι συνθήκες ελέγχου πρέπει να είναι καλά καθορισμένες και καθορισμένες, διαφορετικά ο βρόχος θα εκτελεστεί άπειρες φορές. Ο βρόχος που δεν σταματά να εκτελείται και επεξεργάζεται τις εντολές πολλές φορές ονομάζεται an άπειρος βρόχος. Ένας άπειρος βρόχος ονομάζεται επίσης "Ατέρμων βρόχος.» Ακολουθούν ορισμένα χαρακτηριστικά ενός άπειρου βρόχου:
1. Δεν καθορίζεται όρος τερματισμού.
2. Οι καθορισμένες προϋποθέσεις δεν πληρούνται ποτέ.
Η καθορισμένη συνθήκη καθορίζει εάν θα εκτελεστεί το σώμα βρόχου ή όχι.
Η γλώσσα προγραμματισμού «C» μας παρέχει τρεις τύπους δομών βρόχου:
1. Ο βρόχος while
2. Ο βρόχος do-while
3. Ο βρόχος for
Ο κ Όχι | Τύπος βρόχου | Descriptιόν |
---|---|---|
1. | Ενώ βρόχος | Στον βρόχο while, μια συνθήκη αξιολογείται πριν από την επεξεργασία ενός σώματος του βρόχου. Εάν μια συνθήκη είναι αληθής τότε και μόνο τότε εκτελείται το σώμα ενός βρόχου. |
2. | Do-While Loop | Σε έναν βρόχο do…while, η συνθήκη εκτελείται πάντα μετά το σώμα ενός βρόχου. Ονομάζεται επίσης βρόχος ελεγχόμενος από την έξοδο. |
3. | Για βρόχο | Σε έναν βρόχο for, η αρχική τιμή εκτελείται μόνο μία φορά, στη συνέχεια η συνθήκη ελέγχει και συγκρίνει τον μετρητή με μια σταθερή τιμή μετά από κάθε επανάληψη, σταματώντας τον βρόχο for όταν επιστρέφεται false. |
Ενώ βρόχος στο C
Ο βρόχος while είναι η πιο απλή δομή βρόχου. Ενώ η σύνταξη βρόχου στη γλώσσα προγραμματισμού C είναι η εξής:
Σύνταξη του while Loop στο C
while (condition) { statements; }
Είναι ένας βρόχος ελεγχόμενος από την είσοδο. Στον βρόχο while, μια συνθήκη αξιολογείται πριν από την επεξεργασία ενός σώματος του βρόχου. Εάν μια συνθήκη είναι αληθής τότε και μόνο τότε εκτελείται το σώμα ενός βρόχου. Αφού εκτελεστεί το σώμα ενός βρόχου, τότε ο έλεγχος επιστρέφει ξανά στην αρχή και η συνθήκη ελέγχεται εάν είναι αληθής, η ίδια διαδικασία εκτελείται μέχρι να γίνει ψευδής η συνθήκη. Μόλις η συνθήκη γίνει ψευδής, ο έλεγχος βγαίνει εκτός βρόχου.
Μετά την έξοδο από τον βρόχο, ο έλεγχος πηγαίνει στις εντολές που βρίσκονται αμέσως μετά τον βρόχο. Το σώμα ενός βρόχου μπορεί να περιέχει περισσότερες από μία δηλώσεις. Εάν περιέχει μόνο μία δήλωση, τότε τα σγουρά σιδεράκια δεν είναι υποχρεωτικά. Ωστόσο, είναι μια καλή πρακτική να χρησιμοποιείτε τα σγουρά τιράντες, ακόμη κι αν έχουμε μια μόνο δήλωση στο σώμα.
Στον βρόχο while, εάν η συνθήκη δεν είναι αληθής, τότε το σώμα ενός βρόχου δεν θα εκτελεστεί, ούτε μία φορά. Είναι διαφορετικό στο do while loop που θα δούμε σύντομα.
Το παρακάτω πρόγραμμα δείχνει παράδειγμα προγραμματισμού while loop στο C:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable while(num<=10) //while loop with condition { printf("%d\n",num); num++; //incrementing operation } return 0; }
Παραγωγή:
1 2 3 4 5 6 7 8 9 10
Το παραπάνω πρόγραμμα απεικονίζει τη χρήση του βρόχου while. Στο παραπάνω πρόγραμμα, έχουμε εκτυπώσει σειρές αριθμών από το 1 έως το 10 χρησιμοποιώντας βρόχο while.
- Έχουμε αρχικοποιήσει μια μεταβλητή που ονομάζεται num με τιμή 1. Θα εκτυπώσουμε από το 1 έως το 10, επομένως η μεταβλητή αρχικοποιείται με την τιμή 1. Εάν θέλετε να εκτυπώσετε από το 0, τότε εκχωρήστε την τιμή 0 κατά την προετοιμασία.
- Σε έναν βρόχο while, έχουμε παράσχει μια συνθήκη (num<=10), που σημαίνει ότι ο βρόχος θα εκτελέσει το σώμα έως ότου η τιμή του num γίνει 10. Μετά από αυτό, ο βρόχος θα τερματιστεί και ο έλεγχος θα πέσει εκτός του βρόχου.
- Στο σώμα ενός βρόχου, έχουμε μια συνάρτηση εκτύπωσης για την εκτύπωση του αριθμού μας και μια λειτουργία αύξησης για την αύξηση της τιμής ανά εκτέλεση ενός βρόχου. Η αρχική τιμή του num είναι 1, μετά την εκτέλεση θα γίνει 2 και κατά την επόμενη εκτέλεση θα γίνει 3. Αυτή η διαδικασία θα συνεχιστεί έως ότου η τιμή γίνει 10 και στη συνέχεια θα εκτυπώσει τη σειρά στην κονσόλα και θα τερματίσει τον βρόχο .
\n χρησιμοποιείται για σκοπούς μορφοποίησης, πράγμα που σημαίνει ότι η τιμή θα εκτυπωθεί σε μια νέα γραμμή.
Βρόχος Do-While στο C
Ένας βρόχος do…while στο C είναι παρόμοιος με τον βρόχο while εκτός από το ότι η συνθήκη εκτελείται πάντα μετά το σώμα ενός βρόχου. Ονομάζεται επίσης βρόχος ελεγχόμενος από την έξοδο.
Η σύνταξη του βρόχου do while στη γλώσσα προγραμματισμού C είναι η εξής:
Σύνταξη του βρόχου Do-While στο C
do { statements } while (expression);
Όπως είδαμε σε έναν βρόχο while, το σώμα εκτελείται εάν και μόνο εάν η συνθήκη είναι αληθής. Σε ορισμένες περιπτώσεις, πρέπει να εκτελέσουμε ένα σώμα του βρόχου τουλάχιστον μία φορά ακόμα και αν η συνθήκη είναι ψευδής. Αυτός ο τύπος λειτουργίας μπορεί να επιτευχθεί χρησιμοποιώντας έναν βρόχο do-while.
Στον βρόχο do-while, το σώμα ενός βρόχου εκτελείται πάντα τουλάχιστον μία φορά. Αφού το σώμα εκτελεστεί, τότε ελέγχει την κατάσταση. Εάν η συνθήκη είναι αληθής, τότε θα εκτελέσει ξανά το σώμα ενός βρόχου διαφορετικά ο έλεγχος μεταφέρεται εκτός του βρόχου.
Παρόμοια με τον βρόχο while, μόλις ο έλεγχος βγει από τον βρόχο, οι εντολές που βρίσκονται αμέσως μετά την εκτέλεση του βρόχου.
Η κρίσιμη διαφορά μεταξύ του βρόχου while και του do-while είναι ότι στον βρόχο while το while γράφεται στην αρχή. Στον βρόχο do-while, η συνθήκη while γράφεται στο τέλος και τελειώνει με ένα ερωτηματικό (;)
Το ακόλουθο πρόγραμμα βρόχου στο C απεικονίζει τη λειτουργία ενός βρόχου do-while:
Ακολουθεί ένας βρόχος do-while στο παράδειγμα C για την εκτύπωση ενός πίνακα με τον αριθμό 2:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable do //do-while loop { printf("%d\n",2*num); num++; //incrementing operation }while(num<=10); return 0; }
Παραγωγή:
2 4 6 8 10 12 14 16 18 20
Στο παραπάνω παράδειγμα, έχουμε εκτυπώσει τον πίνακα πολλαπλασιασμού του 2 χρησιμοποιώντας έναν βρόχο do-while. Ας δούμε πώς το πρόγραμμα μπόρεσε να εκτυπώσει τη σειρά.
- Αρχικά, αρχικοποιήσαμε μια μεταβλητή 'num' με τιμή 1. Στη συνέχεια γράψαμε έναν βρόχο do-while.
- Σε έναν βρόχο, έχουμε μια συνάρτηση εκτύπωσης που θα εκτυπώσει τη σειρά πολλαπλασιάζοντας την τιμή του num με το 2.
- Μετά από κάθε αύξηση, η τιμή του num θα αυξάνεται κατά 1 και θα εκτυπώνεται στην οθόνη.
- Αρχικά, η τιμή του num είναι 1. Σε ένα σώμα ενός βρόχου, η συνάρτηση εκτύπωσης θα εκτελεστεί με αυτόν τον τρόπο: 2*num όπου num=1, μετά 2*1=2, επομένως η τιμή δύο θα εκτυπωθεί. Αυτό θα συνεχιστεί έως ότου η τιμή του num γίνει 10. Μετά από αυτόν τον βρόχο θα τερματιστεί και θα εκτελεστεί μια δήλωση που είναι αμέσως μετά τον βρόχο. Σε αυτή την περίπτωση επιστρέψτε 0.
Για βρόχο στο C
Ο βρόχος for είναι μια πιο αποτελεσματική δομή βρόχου στον προγραμματισμό «C». Η γενική δομή της σύνταξης βρόχου for στο C είναι η εξής:
Σύνταξη του For Loop στο C
for (initial value; condition; incrementation or decrementation ) { statements; }
- Η αρχική τιμή του βρόχου for εκτελείται μόνο μία φορά.
- Η συνθήκη είναι μια Boolean έκφραση που ελέγχει και συγκρίνει τον μετρητή με μια σταθερή τιμή μετά από κάθε επανάληψη, σταματώντας τον βρόχο for όταν επιστρέφεται false.
- Η αύξηση/μείωση αυξάνει (ή μειώνει) τον μετρητή κατά μια καθορισμένη τιμή.
Το παρακάτω πρόγραμμα απεικονίζει τον βρόχο for στο παράδειγμα προγραμματισμού C:
#include<stdio.h> int main() { int number; for(number=1;number<=10;number++) //for loop to print 1-10 numbers { printf("%d\n",number); //to print the number } return 0; }
Παραγωγή:
1 2 3 4 5 6 7 8 9 10
Το παραπάνω πρόγραμμα εκτυπώνει τις σειρές αριθμών από το 1-10 χρησιμοποιώντας βρόχο for.
- Έχουμε δηλώσει α μεταβλητή ενός τύπου δεδομένων int για αποθήκευση τιμών.
- Στον βρόχο for, στο τμήμα αρχικοποίησης, έχουμε εκχωρήσει την τιμή 1 στον αριθμό της μεταβλητής. Στο τμήμα κατάστασης, έχουμε καθορίσει την κατάστασή μας και μετά το τμήμα αύξησης.
- Στο σώμα ενός βρόχου, έχουμε μια συνάρτηση εκτύπωσης για την εκτύπωση των αριθμών σε μια νέα γραμμή στην κονσόλα. Έχουμε την τιμή ένα αποθηκευμένη στον αριθμό, μετά την πρώτη επανάληψη η τιμή θα αυξηθεί και θα γίνει 2. Τώρα η μεταβλητή αριθμός έχει την τιμή 2. Η συνθήκη θα ελεγχθεί ξανά και εφόσον η συνθήκη είναι true θα εκτελεστεί βρόχος, και θα εκτυπώσει δύο στην οθόνη. Αυτός ο βρόχος θα συνεχίσει να εκτελείται έως ότου η τιμή της μεταβλητής γίνει 10. Μετά από αυτό, ο βρόχος θα τερματιστεί και μια σειρά από 1-10 θα εκτυπωθεί στην οθόνη.
Στο C, ο βρόχος for μπορεί να έχει πολλαπλές εκφράσεις που χωρίζονται με κόμματα σε κάθε τμήμα.
Για παράδειγμα:
for (x = 0, y = num; x < y; i++, y--) { statements; }
Επίσης, μπορούμε να παραλείψουμε την έκφραση αρχικής τιμής, τη συνθήκη ή/και την αύξηση προσθέτοντας ένα ερωτηματικό.
Για παράδειγμα:
int i=0; int max = 10; for (; i < max; i++) { printf("%d\n", i); }
Παρατηρήστε ότι οι βρόχοι μπορούν επίσης να τοποθετηθούν όπου υπάρχει ένας εξωτερικός βρόχος και ένας εσωτερικός βρόχος. Για κάθε επανάληψη του εξωτερικού βρόχου, ο εσωτερικός βρόχος επαναλαμβάνει ολόκληρο τον κύκλο του.
Εξετάστε το ακόλουθο παράδειγμα με πολλαπλές συνθήκες σε βρόχο for, που χρησιμοποιεί ένθετο βρόχο για στον προγραμματισμό C για την έξοδο ενός πίνακα πολλαπλασιασμού:
#include <stdio.h> int main() { int i, j; int table = 2; int max = 5; for (i = 1; i <= table; i++) { // outer loop for (j = 0; j <= max; j++) { // inner loop printf("%d x %d = %d\n", i, j, i*j); } printf("\n"); /* blank line between tables */ }}
Παραγωγή:
1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
Η ένθεση των βρόχων for μπορεί να γίνει σε οποιοδήποτε επίπεδο. Οι ένθετοι βρόχοι θα πρέπει να έχουν επαρκή εσοχή ώστε ο κώδικας να είναι αναγνώσιμος. Σε ορισμένες εκδόσεις του 'C', η ένθεση περιορίζεται σε 15 βρόχους, αλλά ορισμένες παρέχουν περισσότερους.
Οι ένθετοι βρόχοι χρησιμοποιούνται κυρίως σε εφαρμογές συστοιχιών, τις οποίες θα δούμε σε περαιτέρω σεμινάρια.
Δήλωση Break στο C
Η εντολή break χρησιμοποιείται κυρίως στο δήλωση διακόπτη. Είναι επίσης χρήσιμο για την άμεση διακοπή ενός βρόχου.
Θεωρούμε το ακόλουθο πρόγραμμα που εισάγει ένα διάλειμμα για έξοδο από έναν βρόχο while:
#include <stdio.h> int main() { int num = 5; while (num > 0) { if (num == 3) break; printf("%d\n", num); num--; }}
Παραγωγή:
5 4
Συνέχεια της δήλωσης στο Γ
Όταν θέλετε να μεταβείτε στην επόμενη επανάληψη αλλά να παραμείνετε στον βρόχο, θα πρέπει να χρησιμοποιήσετε τη δήλωση συνέχειας.
Για παράδειγμα:
#include <stdio.h> int main() { int nb = 7; while (nb > 0) { nb--; if (nb == 5) continue; printf("%d\n", nb); }}
Παραγωγή:
6 4 3 2 1
Έτσι, η τιμή 5 παραλείπεται.
Ποιο βρόχο να επιλέξετε;
Η επιλογή ενός βρόχου είναι πάντα μια δύσκολη εργασία για έναν προγραμματιστή, για να επιλέξετε έναν βρόχο ακολουθήστε τα ακόλουθα βήματα:
- Αναλύστε το πρόβλημα και ελέγξτε αν απαιτεί βρόχο προ-δοκιμής ή μετά τη δοκιμή.
- Εάν απαιτείται προ-δοκιμή, χρησιμοποιήστε λίγο ή για βρόχο.
- Εάν απαιτείται μετα-δοκιμή, χρησιμοποιήστε έναν βρόχο do-while.
Σύνοψη
- Ορισμός βρόχου στο C: Ο βρόχος είναι μία από τις βασικές έννοιες σε οποιαδήποτε Γλώσσα προγραμματισμού. Οι βρόχοι στη γλώσσα C υλοποιούνται χρησιμοποιώντας εντολές υπό όρους.
- Ένα μπλοκ εντολών ελέγχου βρόχου στο C εκτελούνται πολλές φορές έως ότου η συνθήκη γίνει ψευδής.
- Οι βρόχοι στον προγραμματισμό C είναι 2 τύπων: ελεγχόμενοι από την είσοδο και τον έλεγχο εξόδου.
- Καταγράψτε διάφορες οδηγίες ελέγχου βρόχου στο C: Ο προγραμματισμός C μας παρέχει 1) ενώ 2) do-while και 3) για οδηγίες ελέγχου βρόχου.
- Ο προγραμματισμός του βρόχου C for and while είναι βρόχοι που ελέγχονται από την είσοδο στη γλώσσα C.
- Το Do-while είναι ένας βρόχος ελέγχου εξόδου στο C.