Βρόχοι σε C: For, While, Do While looping Δηλώσεις [Παραδείγματα]

⚡ Έξυπνη Σύνοψη

Οι βρόχοι στη C επαναλαμβάνουν ένα μπλοκ εντολών μέχρι μια συνθήκη ελέγχου να γίνει ψευδής, και η γλώσσα παρέχει τρεις δομές — τον βρόχο while, τον βρόχο do-while και τον βρόχο for — για ελεγχόμενη επανάληψη εισόδου και εξόδου.

  • 🔁 Ανατομία βρόχου: Κάθε βρόχος C συνδέει ένα σύνολο επαναλαμβανόμενων δηλώσεων με μια συνθήκη ελέγχου που αποφασίζει πότε σταματά η επανάληψη.
  • 🚪 Είσοδος έναντι εξόδου: Οι βρόχοι while και for που ελέγχονται από την είσοδο δοκιμάζουν πρώτα την συνθήκη, ενώ ο βρόχος do-while που ελέγχεται από την έξοδο εκτελεί πάντα το σώμα του μία φορά.
  • ♻️ βρόχος While: Ο βρόχος while ελέγχει την κατάστασή του πριν από κάθε πέρασμα, κάτι που ταιριάζει σε περιπτώσεις όπου ο αριθμός των επαναλήψεων δεν είναι γνωστός εκ των προτέρων.
  • 🔂 Βρόχος Do-while: Ο βρόχος do-while εκτελεί το σώμα πριν από τη δοκιμή, επομένως εγγυάται μία μόνο εκτέλεση ακόμα και όταν η συνθήκη είναι ψευδής.
  • 🔢 Για βρόχο: Ο βρόχος for συσκευάζει την αρχικοποίηση, την συνθήκη και την ενημέρωση σε μία γραμμή, ιδανική για μέτρηση μέσω ενός σταθερού εύρους.
  • Διάλειμμα και συνέχεια: Η εντολή break τερματίζει αμέσως έναν βρόχο, ενώ η εντολή continue μεταβαίνει στην επόμενη επανάληψη χωρίς να εγκαταλείψει τον βρόχο.

Βρόχοι σε C: For, While, Do While looping Δηλώσεις

Τι είναι το Loop στο C;

Τουαλέταping Οι εντολές στη C εκτελούν την ακολουθία των εντολών πολλές φορές μέχρι η δηλωμένη συνθήκη να γίνει ψευδής. Ένας βρόχος στη C αποτελείται από δύο μέρη, ένα σώμα ενός βρόχου και μια εντολή ελέγχου. Η εντολή ελέγχου είναι ένας συνδυασμός ορισμένων συνθηκών που κατευθύνουν το σώμα του βρόχου να εκτελεστεί μέχρι η καθορισμένη συνθήκη να γίνει ψευδής. Ο σκοπός του βρόχου C είναι να επαναλάβει τον ίδιο κώδικα αρκετές φορές.

Τύποι βρόχων στο C

Ανάλογα με τη θέση μιας εντολής ελέγχου σε ένα πρόγραμμα, looping Μια εντολή σε C ταξινομείται σε δύο τύπους:

  1. Βρόχος ελεγχόμενης εισόδου
  2. Έξοδος από ελεγχόμενο βρόχο

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

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

Τύποι βρόχων στο C

Δείγμα βρόχου

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

  1. Δεν καθορίζεται συνθήκη τερματισμού.
  2. Οι καθορισμένες συνθήκες δεν πληρούνται ποτέ.

Η καθορισμένη συνθήκη καθορίζει εάν θα εκτελεστεί το σώμα βρόχου ή όχι.

Η γλώσσα προγραμματισμού «C» μας παρέχει τρεις τύπους δομών βρόχου:

  1. Ο βρόχος while
  2. Ο βρόχος do-while
  3. Ο βρόχος for
Ο κ Όχι Τύπος βρόχου Περιγραφή
1. Ενώ βρόχος Στον βρόχο while, μια συνθήκη αξιολογείται πριν από την επεξεργασία ενός σώματος του βρόχου. Εάν μια συνθήκη είναι αληθής τότε και μόνο τότε εκτελείται το σώμα ενός βρόχου.
2. Do-While Loop Σε έναν βρόχο do…while, η συνθήκη εκτελείται πάντα μετά το σώμα ενός βρόχου. Ονομάζεται επίσης βρόχος ελεγχόμενος από την έξοδο.
3. Για βρόχο Σε έναν βρόχο for, η αρχική τιμή εκτελείται μόνο μία φορά, στη συνέχεια η συνθήκη ελέγχει και συγκρίνει τον μετρητή με μια σταθερή τιμή μετά από κάθε επανάληψη, σταματά.ping ο βρόχος for όταν επιστρέφεται η τιμή false.

Ενώ βρόχος στο C

Ένας βρόχος while είναι ο πιο απλός βρόχος looping δομή. Ενώ η σύνταξη βρόχου στη γλώσσα προγραμματισμού 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.

Ενώ βρόχος στο C

Ενώ βρόχος στον προγραμματισμό C

  1. Έχουμε αρχικοποιήσει ένα μεταβλητή καλείται num με τιμή 1. Θα εκτυπώσουμε από το 1 έως το 10, επομένως η μεταβλητή αρχικοποιείται με τιμή 1. Εάν θέλετε να εκτυπώσετε από το 0, τότε αντιστοιχίστε την τιμή 0 κατά την αρχικοποίηση.
  2. Σε έναν βρόχο while, έχουμε παράσχει μια συνθήκη (num<=10), που σημαίνει ότι ο βρόχος θα εκτελέσει το σώμα έως ότου η τιμή του num γίνει 10. Μετά από αυτό, ο βρόχος θα τερματιστεί και ο έλεγχος θα πέσει εκτός του βρόχου.
  3. Στο σώμα ενός βρόχου, έχουμε μια συνάρτηση εκτύπωσης για την εκτύπωση του αριθμού μας και μια λειτουργία αύξησης για την αύξηση της τιμής ανά εκτέλεση ενός βρόχου. Η αρχική τιμή του 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. Ας δούμε πώς το πρόγραμμα μπόρεσε να εκτυπώσει τη σειρά.

Βρόχος Do-While στο C

Βρόχος Do-While στον προγραμματισμό C

  1. Αρχικά, αρχικοποιήσαμε μια μεταβλητή 'num' με τιμή 1. Στη συνέχεια γράψαμε έναν βρόχο do-while.
  2. Σε έναν βρόχο, έχουμε μια συνάρτηση εκτύπωσης που θα εκτυπώσει τη σειρά πολλαπλασιάζοντας την τιμή του num με το 2.
  3. Μετά από κάθε αύξηση, η τιμή του num θα αυξάνεται κατά 1 και θα εκτυπώνεται στην οθόνη.
  4. Αρχικά, η τιμή του 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;
}
  1. Η αρχική τιμή του βρόχου for εκτελείται μόνο μία φορά.
  2. Η συνθήκη είναι μια λογική έκφραση που ελέγχει και συγκρίνει τον μετρητή με μια σταθερή τιμή μετά από κάθε επανάληψη, διακοπήping ο βρόχος for όταν επιστρέφεται η τιμή false.
  3. Η αύξηση/μείωση αυξάνει (ή μειώνει) τον μετρητή κατά μια καθορισμένη τιμή.

Το παρακάτω πρόγραμμα απεικονίζει τον βρόχο 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.

Για βρόχο στο C

Για βρόχο στον προγραμματισμό C

  1. Έχουμε δηλώσει μια μεταβλητή ακέραιου τύπου για την αποθήκευση τιμών.
  2. Στον βρόχο for, στο τμήμα αρχικοποίησης, έχουμε εκχωρήσει την τιμή 1 στον αριθμό της μεταβλητής. Στο τμήμα κατάστασης, έχουμε καθορίσει την κατάστασή μας και μετά το τμήμα αύξησης.
  3. Στο σώμα ενός βρόχου, έχουμε μια συνάρτηση εκτύπωσης για την εκτύπωση των αριθμών σε μια νέα γραμμή στην κονσόλα. Έχουμε την τιμή ένα αποθηκευμένη στον αριθμό, μετά την πρώτη επανάληψη η τιμή θα αυξηθεί και θα γίνει 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 βρόχους, αλλά ορισμένες παρέχουν περισσότερους.

Οι ένθετοι βρόχοι χρησιμοποιούνται κυρίως σε εφαρμογές συστοιχιών, τις οποίες θα δούμε σε περαιτέρω σεμινάρια.

Πέρα από τους τρεις τύπους βρόχων, η C προσφέρει δύο δηλώσεις που αλλάζουν τον τρόπο που εκτελείται ένας βρόχος από μέσα.

Δήλωση Break στο C

Η εντολή break χρησιμοποιείται κυρίως στο δήλωση διακόπτηΕίναι επίσης χρήσιμο για άμεση διακοπήping έναν βρόχο.

Θεωρούμε το ακόλουθο πρόγραμμα που εισάγει ένα διάλειμμα για έξοδο από έναν βρόχο 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 παραλείπεται.

Ποιο βρόχο να επιλέξετε;

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

  1. Αναλύστε το πρόβλημα και ελέγξτε αν απαιτεί βρόχο προ-δοκιμής ή μετά τη δοκιμή.
  2. Εάν απαιτείται προέλεγχος, χρησιμοποιήστε έναν βρόχο while ή for.
  3. Εάν απαιτείται μετα-δοκιμή, χρησιμοποιήστε έναν βρόχο do-while.

Συχνές Ερωτήσεις

Ένας άπειρος βρόχος εκτελείται επ' αόριστον όταν η συνθήκη του δεν μετατρέπεται ποτέ σε ψευδή. Αποτρέψτε το ενημερώνοντας τη μεταβλητή βρόχου μέσα στο σώμα και διασφαλίζοντας ότι η συνθήκη μπορεί τελικά να ικανοποιηθεί ή προσθέτοντας μια εντολή break ως μέτρο ασφαλείας.

Η εντολή break σταματά εντελώς έναν βρόχο και μετακινεί τον έλεγχο στην πρώτη εντολή μετά από αυτόν. Η εντολή continue παραλείπει μόνο τις υπόλοιπες εντολές στην τρέχουσα επανάληψη και μεταβαίνει στον επόμενο κύκλο του βρόχου.

Το πρότυπο C δεν έχει ενσωματωμένο βρόχο for-each ή βρόχο που βασίζεται σε εύρος όπως C++ or PythonΕπαναλαμβάνετε έναν πίνακα χειροκίνητα με έναν βρόχο for ή while, χρησιμοποιώντας έναν δείκτη ή έναν δείκτη που διατρέχει κάθε στοιχείο.

Όχι. Η εντολή goto εκτελεί ένα άνευ όρων άλμα σε μια γραμμή με ετικέτα και μπορεί να μιμηθεί την εντολή loo.ping, αλλά δεν είναι ένας δομημένος βρόχος. Η χρήση των for, while ή do-while διατηρεί τον κώδικα πολύ πιο ευανάγνωστο.

Ο τελεστής κόμμα επιτρέπει σε έναν βρόχο for να διαχειρίζεται πολλές μεταβλητές ταυτόχρονα. Στο for (x = 0, y = n; x < y; x++, y–), τόσο η ενότητα αρχικοποίησης όσο και η ενότητα ενημέρωσης εκτελούν δύο εκφράσεις σε κάθε πέρασμα.

Ναι. Συνδυάστε τις συνθήκες με τους λογικούς τελεστές AND (&&) και OR (||) μέσα στις παρενθέσεις. Για παράδειγμα, ενώ (a < 10 && b > 0) διατηρεί την τιμήping μόνο εφόσον ισχύουν και οι δύο συνθήκες.

Ναι. Οι βοηθοί κωδικοποίησης τεχνητής νοημοσύνης μπορούν να σχεδιάσουν βρόχους while, do-while και for από μια απλή περιγραφή, να εντοπίσουν σφάλματα ανά ένα και να επισημάνουν συνθήκες που μπορεί να εκτελούνται για πάντα. RevΗ παρακολούθηση της εξόδου παραμένει απαραίτητη, επειδή η παραγόμενη λογική δεν είναι πάντα σωστή.

GitHub Copilot Προτείνει ολοκληρωμένα σώματα βρόχων καθώς πληκτρολογείτε, συμπληρώνει αυτόματα μετρητές και συνθήκες και προτείνει μοτίβα ένθετων βρόχων από ένα σύντομο σχόλιο. Λειτουργεί σε δημοφιλείς επεξεργαστές και επιταχύνει την επαναλαμβανόμενη κωδικοποίηση C.

Συνοψίστε αυτήν την ανάρτηση με: