Η εντολή SWITCH
Αυτό είναι μια άλλη μορφή της πολυ απόφασης τρόπων. Είναι καλά δομημένος, αλλά μπορεί μόνο να χρησιμοποιηθεί σε ορισμένες περιπτώσεις όπου
- Μόνο μια μεταβλητή εξετάζεται, όλοι οι κλάδοι πρέπει να εξαρτηθούν από την αξία εκείνης της μεταβλητής. Η μεταβλητή πρέπει να είναι ένας ακέραιος τύπος (INT, μακρύ, απότομα ή προσροφητικός άνθρακας).
- Κάθε πιθανή αξία της μεταβλητής μπορεί να ελέγξει έναν ενιαίο κλάδο. Τελικό, πιάνει όλους, προκαθορίζει τον κλάδο μπορεί προαιρετικά να χρησιμοποιηθεί για να παγιδεψει όλες τις απροσδιόριστες περιπτώσεις.
Το παράδειγμα που δίνεται κατωτέρω θα διευκρινίσει τα πράγματα. Αυτό είναι μια λειτουργία που μετατρέπει έναν ακέραιο αριθμό σε μια ασαφή περιγραφή. Είναι χρήσιμο όταν πρόκειται για μόνο στη μέτρηση μιας ποσότητας όταν είναι αρκετά μικρό.
estimate(number)
int number;
/* Υπολογίστε έναν αριθμό ως κανέναν, ένας, δύο, αρκετοί, πολλοί */
{ switch(number) {
case 0 :
printf("None\n");
break;
case 1 :
printf("One\n");
break;
case 2 :
printf("Two\n");
break;
case 3 :
case 4 :
case 5 :
printf("Several\n");
break;
default :
printf("Many\n");
break;
}
}
Κάθε ενδιαφέρουσα περίπτωση παρατίθεται με μια αντίστοιχη δράση. Η δήλωση σπασιμάτων αποτρέπει περαιτέρω δηλώσεις από την εκτέλεση με την αναχώρηση του διακόπτη. _ δεδομένου ότι περίπτωση 3 και περίπτωση 4 έχω κανένας ακόλουθος σπάσιμο, αυτός συνεχίζομαι επι:τρέπω ο ίδιος δράση διάφορος τιμή αριθμός.
Και οι δύο εάν και τα κατασκευάσματα διακοπτών επιτρέπουν στον προγραμματιστή για να κάνουν μια επιλογή από διάφορες πιθανές ενέργειες. Δείτε ένα παράδειγμα:
#include <stdio.h>
int main()
{
int num;
for (num = 3 ; num < 13 ; num = num + 1)
{
switch (num)
{
case 3 :
printf("The value is three\n");
break;
case 4 :
printf("The value is four\n");
break;
case 5 :
case 6 :
case 7 :
case 8 :
printf("The value is between 5 and 8\n");
break;
case 11 :
printf("The value is eleven\n");
break;
default :
printf("It is one of the undefined values\n");
break;
} /* end of switch */
} /* end of for loop */
return 0;
}
Η παραγωγή του προγράμματος θα είναι
The value is three
The value is four
The value is between 5 and 8
The value is between 5 and 8
The value is between 5 and 8
The value is between 5 and 8
It is one of the undefined values
It is one of the undefined values
The value is eleven
It is one of the undefined values |
|