Οι εντολές “break” και “continue” χρησιμοποιούνται στη γλώσσα C για τον έλεγχο της ροής εκτέλεσης ενός προγράμματος μέσα σε επαναλήψεις (όπως οι βρόχοι). Αν και έχουν παρόμοια λειτουργία, διαφέρουν στον τρόπο που επηρεάζουν την εκτέλεση του προγράμματος.

Η εντολή “break” χρησιμοποιείται για να διακόψει μια επανάληψη από τη στιγμή που εκτελείται. Όταν η εντολή “break” εκτελείται εντός μιας επανάληψης (όπως ένας βρόχος for ή while), η εκτέλεση του προγράμματος διακόπτεται αμέσως και η εκτέλεση συνεχίζεται από την επόμενη εντολή μετά τον βρόχο.

Αντίθετα, η εντολή “continue” χρησιμοποιείται για να παραλείψει την υπόλοιπη εκτέλεση της τρέχουσας επανάληψης και να μεταβεί αμέσως στην επόμενη επανάληψη. Όταν η εντολή “continue” εκτελείται εντός μιας επανάληψης, οι εντολές που βρίσκονται μετά την “continue” αγνοούνται και η εκτέλεση συνεχίζεται με την επόμενη επανάληψη.

Και οι δύο εντολές είναι χρήσιμες για τον έλεγχο της ροής εκτέλεσης μέσα σε βρόχους, επιτρέποντας την προσαρμογή της εκτέλεσης με βάση συγκεκριμένες συνθήκες ή κριτήρια.

Το παρακάτω παράδειγμα βγαίνει από τον for loop όταν η μεταβλητή i είναι ίση με 13:

#include <stdio.h>

int main() {
    int i;

    for (i = 0; i <= 15; i++) {
        if (i == 13) {
            break; // Έξοδος από την επανάληψη στην περίπτωση που i είναι ίσο με 13
        }
        printf("%d ", i); // Εκτύπωση της τιμής της μεταβλητής i
    }

    return 0;
}

Ο παραπάνω κώδικας σε C περιέχει σχόλια για κάθε σημαντικό τμήμα του κώδικα. Ας αναλύσουμε τα σχόλια:

  • #include <stdio.h>: Συμπεριλαμβάνει τη βιβλιοθήκη stdio.h, η οποία περιέχει τις δηλώσεις συναρτήσεων για την εισαγωγή και έξοδο δεδομένων.
  • int main(): Ο κύριος συναρτησιακός μπλοκ του προγράμματος.
  • int i;: Δήλωση μιας μεταβλητής i τύπου int.
  • for (i = 0; i <= 15; i++): Ένας βρόχος for που επαναλαμβάνεται από την τιμή 0 μέχρι και την τιμή 15, αυξάνοντας την τιμή της μεταβλητής i κατά 1 σε κάθε επανάληψη.
  • if (i == 13) { break; }: Έλεγχος αν η τιμή της μεταβλητής i είναι ίση με 13. Σε αυτήν την περίπτωση, η εντολή break διακόπτει την επανάληψη και βγαίνει από αυτήν.
  • printf("%d ", i);: Εκτύπωση της τιμής της μεταβλητής i. Η %d χρησιμοποιείται για να αντικαταστήσει την τιμή της μεταβλητής i ως ένας ακέραιος αριθμός.
  • return 0;: Επιστροφή της τιμής 0 από τη συνάρτηση main, υποδηλώνοντας επιτυχή ολοκλήρωση του προγράμματος.

Όταν εκτελεστεί ο παραπάνω κώδικας, θα εμφανιστεί στην οθόνη η ακόλουθη έξοδο:

0 1 2 3 4 5 6 7 8 9 10 11 12

Ο βρόχος for επαναλαμβάνεται από την τιμή 0 έως και την τιμή 15. Ωστόσο, όταν η τιμή της μεταβλητής i γίνει ίση με 13, η εντολή break διακόπτει την επανάληψη και ο βρόχος τερματίζεται. Έτσι, οι αριθμοί από το 0 έως το 12 εμφανίζονται στην οθόνη χωρισμένοι από ένα κενό διάστημα.

Η δήλωση continue διακόπτει μια επανάληψη στο loop αν συμβεί μια συγκεκριμένη συνθήκη και συνεχίζει με την επόμενη επανάληψη στο loop.

Το παρακάτω παράδειγμα παραλείπει την τιμή του 13:

#include <stdio.h>

int main() {
    int i; // Δήλωση μεταβλητής i

    for (i = 0; i <= 15; i++) {
        if (i == 13) {
            continue; // Αν η τιμή της μεταβλητής i είναι 13, προχωράμε στο επόμενο βήμα του βρόχου for χωρίς να εκτελέσουμε τις παρακάτω εντολές
        }
        printf("%d ", i); // Εκτύπωση της τιμής της μεταβλητής i
    }

    return 0;
}

Ο παραπάνω κώδικας γράφει τους αριθμούς από 0 έως 15 (εκτός του 13) στην οθόνη.

Στην αρχή, δηλώνεται η μεταβλητή i τύπου int για την αποθήκευση των αριθμών. Έπειτα, χρησιμοποιείται ο βρόχος for για να επαναλάβει την εκτέλεση του κώδικα από το 0 έως το 15. Μέσα στον βρόχο, υπάρχει η συνθήκη if που ελέγχει εάν η τιμή της i είναι 13. Αν είναι, τότε χρησιμοποιείται η εντολή continue για να προχωρήσει στο επόμενο βήμα του βρόχου χωρίς να εκτελέσει την εντολή printf. Αν η συνθήκη if δεν ισχύει, τότε εκτυπώνεται η τιμή της i στην οθόνη με τη χρήση της συνάρτησης printf.

Το αποτέλεσμα που εμφανίζεται στην οθόνη θα είναι η ακολουθία των αριθμών 0 1 2 3 4 5 6 7 8 9 10 11 12 14 15.

Μπορείτε επίσης να χρησιμοποιήσετε τις δηλώσεις break και continue σε while loops:

Παράδειγμα με break:

#include <stdio.h>

int main() {
    int i = 0;

    while (i <= 10) {
        if (i == 5) {
            break; // Έξοδος από την επανάληψη όταν i γίνει ίσο με 5
        }
        printf("%d ", i); // Εκτύπωση της τιμής του i
        i++; // Αύξηση της τιμής του i κατά 1
    }

    return 0; // Επιστροφή της τιμής 0 στο τέλος του προγράμματος
}

Ο παραπάνω κώδικας γράφεται σε γλώσσα C και περιλαμβάνει σχόλια που εξηγούν τον κώδικα. Ας εξετάσουμε τι κάνει ο κώδικας:

  • Πρώτα, συμπεριλαμβάνουμε τη βιβλιοθήκη stdio.h, που περιέχει τις δηλώσεις για συναρτήσεις εισόδου/εξόδου.
  • Στη συνέχεια, ορίζουμε τη συνάρτηση main, η οποία είναι η κύρια συνάρτηση του προγράμματος.
  • Δηλώνουμε μια μεταβλητή i και την αρχικοποιούμε με την τιμή 0.
  • Χρησιμοποιούμε μια δομή επανάληψης while για να εκτελέσουμε κάποιες εντολές όσο η συνθήκη i <= 10 είναι αληθής.
  • Μέσα στη δομή επανάληψης, έχουμε μια συνθήκη if που ελέγχει εάν η τιμή του i είναι ίση με 5. Αν είναι, τότε χρησιμοποιούμε την εντολή break για να βγούμε από την επανάληψη.
  • Εκτυπώνουμε την τιμή του i χρησιμοποιώντας τη συνάρτηση printf.
  • Αυξάνουμε την τιμή του i κατά 1 με την εντολή i++.
  • Η επανάληψη επαναλαμβάνεται μέχρι την ικανοποίηση της συνθήκης i <= 10.
  • Τέλος, επιστρέφουμε την τιμή 0 από τη συνάρτηση main, που υποδηλώνει επιτυχή ολοκλήρωση του προγράμματος.

Το αποτέλεσμα του παραπάνω παραδείγματος θα είναι η εκτύπωση των αριθμών 0, 1, 2, 3 και 4 στη σειρά. Η εκτέλεση σταματά όταν η μεταβλητή i γίνει ίση με 5, και ο αριθμός 5 δεν εκτυπώνεται.

Παράδειγμα με continue:

#include <stdio.h>

int main() {
    int i = 0;

    while (i <= 10) {
        if (i == 5) {
            i++;
            continue;  // Παράγκαλο: Αν η μεταβλητή i είναι ίση με 5, αυξήστε την i κατά 1 και προχωρήστε στον επόμενο γύρο του βρόχου
        }
        printf("%d ", i);  // Εκτύπωση της τιμής της μεταβλητής i
        i++;  // Αύξηση της μεταβλητής i κατά 1
    }

    return 0;
}

Ο παραπάνω κώδικας γράφεται σε C και πραγματοποιεί μια επανάληψη (loop) με τη χρήση της δομής while. Η μεταβλητή i αρχικοποιείται με την τιμή 0.

Κατά τη διάρκεια κάθε επανάληψης, γίνεται έλεγχος αν η i είναι ίση με 5. Αν ναι, η i αυξάνεται κατά 1 και παραλείπεται η εκτέλεση των υπολοίπων εντολών της τρέχουσας επανάληψης με τη χρήση της εντολής continue.

Αν η i δεν είναι ίση με 5, τότε εκτυπώνεται η τιμή της i μέσω της συνάρτησης printf. Έπειτα, η i αυξάνεται κατά 1.

Ο κώδικας επαναλαμβάνεται μέχρι η i να γίνει μεγαλύτερη από 10. Στο τέλος, η main συνάρτηση επιστρέφει την τιμή 0, υποδηλώνοντας ότι το πρόγραμμα ολοκληρώθηκε επιτυχώς.

Το αποτέλεσμα του παραπάνω παραδείγματος θα είναι η εκτύπωση των αριθμών 0, 1, 2, 3, 4, 6, 7, 8, 9, 10 στη σειρά. Η επανάληψη παραλείπει την τιμή της μεταβλητής i όταν η τιμή της είναι ίση με 5, αλλά συνεχίζεται με την επόμενη τιμή της μεταβλητής i στην επόμενη επανάληψη του while loop.

19 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων