Πίνακας περιεχομένων:
Βίντεο: Η πρόσβαση στο μέσο-ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ(ΕΠΑΛ) 2024
Μία από τις απογοητευτικές πτυχές της γλώσσας προγραμματισμού C είναι το παζλ τύπου αριθμητικών δεδομένων C. Σε αντίθεση με την πραγματική ζωή, όπου μπορείτε απλά να τραβήξετε οποιοδήποτε αριθμό από τους αιθέρες και να είστε χαρούμενοι ευχαριστημένοι με αυτό, στο C πρέπει να τραβήξετε αριθμούς από συγκεκριμένα μέρη των αιθέρων με βάση τον τύπο του αριθμού που είναι. Αυτό κάνει τον παράγοντα απογοήτευσης να αρχίζει να αυξάνεται, με τη λογική ερώτηση, "Τι είναι ένας τύπος αριθμού; "
Εντάξει. Δεν είναι ένας τύπος αριθμού. "Είναι ένας αριθμητικός τύπος δεδομένων , που λέτε" τύπος αριθμού "αν εργάζεστε στο Πεντάγωνο. Πρέπει να πείτε στον μεταγλωττιστή C τον τύπο του αριθμού που χρησιμοποιείτε, επειδή σκέφτεται αριθμούς διαφορετικά από τον τρόπο που οι άνθρωποι κάνουν. Για παράδειγμα, πρέπει να γνωρίζετε τα εξής σχετικά με τον αριθμό:
- Θα είναι ένας ακέραιος αριθμός - χωρίς κλάσμα ή δεκαδικό μέρος;
- Πόσο μεγάλο θα είναι ο αριθμός (όπως σε μεγάλη αξία, όχι μεγάλος στη μεγάλη σελίδα);
- Αν ο αριθμός έχει ένα μικρό μέρος, πόσο ακριβής πρέπει να είναι ο αριθμός; Οι επιστήμονες πρέπει να γνωρίζουν την ακρίβεια αυτή όταν στέλνουν ρουκέτες στον εξωτερικό χώρο για να πάνε εκεί που κανείς δεν έχει περάσει.
Ναι, αυτό είναι εξωπραγματικό για σένα. Αυτό που οι περισσότεροι προγραμματιστές θέλουν να κάνουν είναι να πούμε: "Χρειάζομαι μια μεταβλητή αριθμού - απλά δώστε μου μία, γρήγορη - προτού αυτή η αξία ξεφύγει από την πλάτη του υπολογιστή και γίνει κυβερνητική στατιστική! "Αλλά πρέπει να σκεφτείτε λίγο περισσότερο πριν κάνετε αυτό.
Η C χρησιμοποιεί μια ποικιλία τύπων αριθμών - διαφορετικούς τύπους αριθμητικών δεδομένων, έτσι να το πω. Ο Πίνακας 1 παρουσιάζει όλα αυτά, μαζί με άλλες στατιστικές πληροφορίες. Αυτός ο πίνακας είναι κάτι που θα αναφερθώ ξανά και ξανά, διότι μόνο ο πραγματικά παράφορος θα τα απομνημονεύσει όλα.
Πίνακας 1: C Τύποι αριθμητικών δεδομένων
Λέξη-κλειδί |
Τύπος μεταβλητής |
Εύρος |
1 byte |
int |
ακέραιο |
-32768 έως 32, 767 |
2 bytes |
σύντομο ( |
ή |
σύντομο int) |
short integer |
-32768 to 32, 767 2 byte μακρύ |
μακρύ ακέραιο |
-2, 147, 483, 648 έως 2, 147, 483, 647 |
4 byte |
χαρακτήρας |
0 έως 255 |
1 byte |
μη υπογεγραμμένος int |
μη υπογεγραμμένος ακέραιος αριθμός |
0 έως 65, 535 |
2 byte |
(999) 0 έως 4, 294, 967, 295 |
4 byte |
float |
κυμαινόμενο σημείο απλής ακρίβειας (999, 535 |
2 byte |
με ακρίβεια 7 ψηφίων) |
+ ή -3. 4 x 10 |
38 |
έως + ή -3. 4 x 10 |
-38 |
4 bytes |
διπλό |
κινητό σημείο διπλής ακρίβειας (με ακρίβεια 15 ψηφίων) |
+ ή -1.7 x 10 |
-308 |
έως + ή -1. 7 x10 308 8 bytes Η |
λέξη-κλειδί |
είναι η λέξη-κλειδί γλώσσας C που χρησιμοποιείται για να δηλώσει τον τύπο μεταβλητής. |
Ο τύπος |
μεταβλητής σας δείχνει τον τύπο μεταβλητής που ορίζει η λέξη-κλειδί. Για παράδειγμα, char ορίζει μια μεταβλητή χαρακτήρα (ή συμβολοσειράς). |
int |
- κάνει ακεραίους; και ούτω καθεξής. Υπάρχουν πολλοί μεταβλητοί τύποι, κάθε ένας από τους οποίους εξαρτάται από τον τύπο του αριθμού ή της τιμής που περιγράφεται. Η περιοχή
- σας λέει πόσο μεγάλο από έναν αριθμό θα χωρέσει στον τύπο μεταβλητής. Για παράδειγμα, οι ακέραιοι αριθμοί κυμαίνονται από -32, 768 έως 0 και πάλι σε 32, 767. Άλλοι τύποι μεταβλητών χειρίζονται μεγαλύτερες τιμές. Η στήλη "Απαιτείται αποθήκευση" σας δείχνει πόσα byte αποθήκευσης απαιτεί κάθε τύπο μεταβλητού. Αυτό είναι προχωρημένο πράγμα, δεν είναι πραγματικά απαραίτητο να γνωρίζετε. Μερικοί επιστήμονες υπολογιστών μπορούν να δουν τα απαιτούμενα byte και να διακηρύξουν: "Καλή! Ένας ακέραιος αριθμός σε έναν υπολογιστή καταλαμβάνει 16 μπιτ αποθήκευσης. Αυτό πρέπει να εξηγεί τη σειρά 32K. Πράγματι. Χμμμ. Περάστε το nachos. " Γιατί να χρησιμοποιήσετε ακέραιους αριθμούς; Προφανώς, αν έχετε αριθμό διπλής ακρίβειας κινητής υποδιαστολής που μπορεί να χειριστεί, ουσιαστικά, αριθμούς έως και 1 gazillion, γιατί να ασχολούμαστε με τον αδίστακτο μικρό ακέραιο; Heck, κάνουν τα πάντα ένα διπλό-whammy πλωτό σημείο και να γίνει με αυτό! Ακούγεται καλό. Είναι κακό. Οι ακέραιοι αριθμοί είναι πραγματικά οι πιο συνηθισμένοι και βολικοί τύποι αριθμητικών μεταβλητών. Συχνά, χρειάζεστε μόνο μικρές τιμές ολόκληρου αριθμού όταν προγραμματίζετε. Οι αριθμοί κυμαινόμενης θέσης είναι εντάξει, αλλά απαιτούν περισσότερα έξοδα από τον υπολογιστή και χρειάζονται περισσότερο χρόνο για να εργαστείτε. Συγκριτικά, οι ακέραιοι είναι πολύ ταχύτεροι. Πρέπει να ασχοληθείτε μόνο με δύο τύπους ακεραίων: τον κανονικό ακέραιο αριθμό - το int
- - και το μακρύ ακέραιο - το μακρύ .
- Το
int
είναι μια τιμή πλήρους αριθμού, που κυμαίνεται από -32, 768 έως 32, 767. Είναι ιδανικά για χρήση σε μικρούς αριθμούς χωρίς κλάσμα. Σε ορισμένες εκδόσεις του C, ενδέχεται να δείτε αυτήν την τιμή ως
σύντομη
ή σύντομη int . Σε όλους τους μεταγλωττιστές του DOS C, ονομάζεται int . () είναι μια τιμή πλήρους αριθμού, που κυμαίνεται από -2, 147, 483, 648 έως 2, 147, 483, 647 - μια μεγάλη σειρά, αλλά όχι αρκετά μεγάλο για να συμπεριλάβει το δημόσιο χρέος ή το εγώ της Madonna. Αυτός ο τύπος αριθμητικής μεταβλητής αναφέρεται ως μακρύς ή μακρύς int σε ορισμένες εκδόσεις του C. Με τους μεταγλωττιστές DOS C, μπορείτε ελεύθερα να μιλάτε για να το ονομάσετε μόνο. Σε συνέχεια της εμμονής της ανθρωπότητας με το μέγεθος, θα φαινόταν προφανές - κανένας, άπληστος - να θέλει πάντα να χρησιμοποιεί το
μακρύ πάνω από το int . Μετά από όλα, τα μεγαλύτερα είναι καλύτερα. Αν και αυτό μπορεί να είναι αλήθεια, και οι ψυχολόγοι μπορούν να συζητήσουν γιατί οι περισσότεροι άνθρωποι αισθάνονται αυτόν τον τρόπο, η αλήθεια είναι ότι όσο μικρότερος είναι ο τύπος μεταβλητής που μπορείτε να ξεφύγετε, τόσο πιο γρήγορα τρέχει το πρόγραμμά σας. Οι μεταβλητές int είναι μικροσκοπικές και τακτοποιημένες, εύκολο για τον υπολογιστή να καταλάβει τους δύο αντίχειρες. οι μεταβλητές χρειάζονται λίγο περισσότερο χρόνο για να υπολογίσουν και σπαταλά τη μνήμη και την ισχύ επεξεργασίας του υπολογιστή για να τις χρησιμοποιήσουν όταν είσαι καλύτερος με int
s.(Θα δείτε γιατί συμβαίνει αυτό και συνεχίζετε να προγραμματίζετε στο C.) Χρησιμοποιείτε τις λέξεις int και long για να δηλώσετε μεταβλητές ακέραιου αριθμού. int είναι για μικρότερες τιμές. είναι για μεγαλύτερες τιμές. Το σύμβολο κράτησης θέσης
- % i χρησιμοποιείται στη λειτουργία printf για να εμφανίζονται μεταβλητές int . ( int ) είναι μικρότερες, γρηγορότερες και ευκολότερες για τον υπολογιστή ( int
- να αντιμετωπίσουν. Εάν η Σούπα για ένα ήταν μια μεταβλητή, θα ήταν int . Χρησιμοποιήστε int s κάθε φορά που χρειάζεστε μια μικρή, ολόκληρη αριθμητική τιμή. Αρνητικοί αριθμοί - γιατί ενοχλείτε; Μερικές φορές τα χρειάζεστε, αλλά τις περισσότερες φορές δεν το κάνετε. Ο τύπος μεταβλητής
- char
- μπορεί επίσης να χρησιμοποιηθεί ως τύπος ακέραιου αριθμού, αν και έχει εξαιρετικά μικρό εύρος. Αυτές οι μεταβλητές χρησιμοποιούνται κυρίως για την αποθήκευση μεμονωμένων χαρακτήρων (ή συμβολοσειρών).