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.

3.3 Η δομή επανάληψης While στην γλώσσα C

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

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

Στη γλώσσα C, υπάρχουν τρία είδη loops που μπορούν να χρησιμοποιηθούν:

  1. Το while loop επαναλαμβάνει το μπλοκ κώδικα εφόσον μια συνθήκη είναι αληθής.
  2. Το do-while loop επαναλαμβάνει το μπλοκ κώδικα τουλάχιστον μία φορά και στη συνέχεια συνεχίζει επανάληψη εφόσον μια συνθήκη είναι αληθής.
  3. Το for loop επαναλαμβάνει το μπλοκ κώδικα για έναν ορισμένο αριθμό φορών, με βάση έναν αρχικό όρο, μια συνθήκη ελέγχου και μια ενημερωτική εντολή.

Με τη χρήση αυτών των loops, μπορείτε να δημιουργήσετε επαναλαμβανόμενες δομές στον κώδικά σας, προσφέροντας ευελιξία και αποτελεσματικότητα.

Στη συνέχεια θα παρουσιαστεί ο while loop.

Ο while loop επιτρέπει την εκτέλεση ενός block κώδικα όσο υπάρχει μια συγκεκριμένη συνθήκη. Η σύνταξη είναι η εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
while (condition) {
// block κώδικας
}
while (condition) { // block κώδικας }
while (condition) {
    // block κώδικας
}

Η condition είναι μια συνθήκη που αξιολογείται σε true ή false. Αν η συνθήκη είναι true, τότε εκτελείται το block κώδικα που βρίσκεται εντός του while loop. Αν η συνθήκη είναι false, τότε η εκτέλεση του while loop σταματά και συνεχίζεται με την επόμενη εντολή μετά το block κώδικα.

Ένα παράδειγμα είναι το εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
int main() {
int i = 0; // Δήλωση μεταβλητής i και αρχικοποίησή της στην τιμή 0
while (i < 5) { // Εκτέλεση του βρόχου while όσο η i είναι μικρότερη από 5
printf("%d ", i); // Εκτύπωση της τιμής της μεταβλητής i
i++; // Αύξηση της τιμής της μεταβλητής i κατά 1
}
return 0; // Επιστροφή της τιμής 0 από τη συνάρτηση main
}
#include <stdio.h> int main() { int i = 0; // Δήλωση μεταβλητής i και αρχικοποίησή της στην τιμή 0 while (i < 5) { // Εκτέλεση του βρόχου while όσο η i είναι μικρότερη από 5 printf("%d ", i); // Εκτύπωση της τιμής της μεταβλητής i i++; // Αύξηση της τιμής της μεταβλητής i κατά 1 } return 0; // Επιστροφή της τιμής 0 από τη συνάρτηση main }
#include <stdio.h>

int main() {
    int i = 0; // Δήλωση μεταβλητής i και αρχικοποίησή της στην τιμή 0

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

    return 0; // Επιστροφή της τιμής 0 από τη συνάρτηση main
}

Ο παραπάνω κώδικας γράφεται στη γλώσσα C και έχει την ακόλουθη λειτουργία:

  1. Περιλαμβάνει τη βιβλιοθήκη stdio.h, η οποία παρέχει τις συναρτήσεις εισόδου/εξόδου στο πρόγραμμα.
  2. Η συνάρτηση main είναι η κύρια συνάρτηση που εκτελείται όταν το πρόγραμμα ξεκινά.
  3. Η μεταβλητή i δηλώνεται και αρχικοποιείται με την τιμή 0.
  4. Ο βρόχος while εκτελείται όσο η τιμή της i είναι μικρότερη από 5.
  5. Μέσα στον βρόχο, η τιμή της i εκτυπώνεται χρησιμοποιώντας τη συνάρτηση printf με τη μορφή %d για ακέραιους αριθμούς.
  6. Η τιμή της i αυξάνεται κατά 1 σε κάθε επανάληψη του βρόχου με τον τελεστή ++.
  7. Όταν η τιμή της i γίνει ίση ή μεγαλύτερη από 5, ο βρόχος τερματίζει.
  8. Η συνάρτηση main επιστρέφει την τιμή 0, υποδηλώνοντας ότι το πρόγραμμα ολοκληρώθηκε επιτυχώς.

Το αποτέλεσμα που θα εμφανιστεί στην οθόνη είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4

Αυτό συμβαίνει επειδή ο βρόχος while θα εκτελεστεί 5 φορές, καθώς η μεταβλητή i αυξάνεται κατά 1 σε κάθε επανάληψη. Στην κάθε επανάληψη, η τιμή της i εκτυπώνεται χρησιμοποιώντας τη συνάρτηση printf, με αποτέλεσμα να εμφανίζονται οι αριθμοί από το 0 έως το 4, χωρισμένοι με ένα κενό διάστημα.

Ο do/while loop είναι μια εκδοχή του while loop. Αυτό το loop θα εκτελέσει το block κώδικα μια φορά, πριν ελέγξει αν η συνθήκη είναι true, και στη συνέχεια θα επαναλάβει το loop όσο η συνθήκη είναι true.

Η σύνταξη του do/while loop είναι η εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
do {
// block κώδικας
} while (condition);
do { // block κώδικας } while (condition);
do {
    // block κώδικας
} while (condition);

Η συνθήκη condition ελέγχεται μετά την εκτέλεση του block κώδικα. Αν η συνθήκη είναι true, τότε η εκτέλεση του block κώδικα συνεχίζεται και επαναλαμβάνεται η διαδικασία. Αν η συνθήκη είναι false, τότε η εκτέλεση του do/while loop σταματά και συνεχίζεται με την επόμενη εντολή μετά το block κώδικα.

Ένα παράδειγμα είναι το εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
int main() {
int i = 0;
do {
printf("%d ", i); // Εκτύπωση της τιμής της μεταβλητής i
i++; // Αύξηση της τιμής της μεταβλητής i κατά 1
} while (i < 5); // Επανάληψη μέχρι η τιμή της μεταβλητής i να γίνει μεγαλύτερη από 5
return 0; // Επιστροφή της τιμής 0 στο τέλος της main
}
#include <stdio.h> int main() { int i = 0; do { printf("%d ", i); // Εκτύπωση της τιμής της μεταβλητής i i++; // Αύξηση της τιμής της μεταβλητής i κατά 1 } while (i < 5); // Επανάληψη μέχρι η τιμή της μεταβλητής i να γίνει μεγαλύτερη από 5 return 0; // Επιστροφή της τιμής 0 στο τέλος της main }
#include <stdio.h>

int main() {
    int i = 0;

    do {
        printf("%d ", i);  // Εκτύπωση της τιμής της μεταβλητής i
        i++;  // Αύξηση της τιμής της μεταβλητής i κατά 1
    } while (i < 5);  // Επανάληψη μέχρι η τιμή της μεταβλητής i να γίνει μεγαλύτερη από 5

    return 0;  // Επιστροφή της τιμής 0 στο τέλος της main
}

Ο παραπάνω κώδικας στη γλώσσα C εκτελεί την εξής λειτουργία:

  1. Αρχικοποιείται η μεταβλητή i με την τιμή 0.
  2. Εκτελείται η εντολή do, η οποία εκτυπώνει την τρέχουσα τιμή της μεταβλητής i χρησιμοποιώντας τη συνάρτηση printf.
  3. Η τιμή της μεταβλητής i αυξάνεται κατά 1 με την εντολή i++.
  4. Ελέγχεται η συνθήκη i < 5. Αν είναι αληθής, επιστρέφεται στην αρχή της do-while επανάληψης και επαναλαμβάνονται τα βήματα 2-4. Αν είναι ψευδής, η εκτέλεση συνεχίζει με την επόμενη εντολή μετά το do-while μπλοκ.
  5. Η εκτέλεση του προγράμματος ολοκληρώνεται και επιστρέφεται η τιμή 0 από τη συνάρτηση main, υποδεικνύοντας ότι το πρόγραμμα ολοκληρώθηκε επιτυχώς.

Συνολικά, ο κώδικας εκτυπώνει τους αριθμούς από το 0 έως το 4 στην οθόνη.

Το αποτέλεσμα που θα εμφανιστεί στην οθόνη είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4

Αυτό συμβαίνει επειδή ο κώδικας εκτελείται μέσα σε μια do-while επανάληψη. Αρχικά, η τιμή της μεταβλητής i είναι 0 και εκτυπώνεται στην οθόνη. Έπειτα, η τιμή της i αυξάνεται κατά 1 και ελέγχεται η συνθήκη i < 5. Επειδή η τιμή της i είναι 1, η συνθήκη είναι αληθής και επαναλαμβάνονται οι ίδιες ενέργειες. Αυτή η διαδικασία συνεχίζεται μέχρις ότου η συνθήκη γίνει ψευδής, δηλαδή η τιμή της i γίνει 5. Τότε η επανάληψη τερματίζει και το πρόγραμμα ολοκληρώνεται.

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