Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

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

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

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#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;
}
#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; }
#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, υποδηλώνοντας επιτυχή ολοκλήρωση του προγράμματος.

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
0 1 2 3 4 5 6 7 8 9 10 11 12
0 1 2 3 4 5 6 7 8 9 10 11 12
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#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;
}
#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; }
#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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#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 στο τέλος του προγράμματος
}
#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 στο τέλος του προγράμματος }
#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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#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;
}
#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; }
#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 !!
Μετάβαση σε γραμμή εργαλείων