C Μεταβλητή, Τύποι δεδομένων, Σταθερές
⚡ Έξυπνη Σύνοψη
Οι μεταβλητές, οι τύποι δεδομένων και οι σταθερές αποτελούν τη βάση κάθε προγράμματος C, όπου οι μεταβλητές αποθηκεύουν μεταβλητές τιμές, οι τύποι δεδομένων καθορίζουν το μέγεθος και το εύρος αυτών των δεδομένων και οι σταθερές διατηρούν σταθερές τιμές που δεν αλλάζουν ποτέ.

Τι είναι μια Μεταβλητή;
Μια μεταβλητή είναι ένα αναγνωριστικό που χρησιμοποιείται για την αποθήκευση κάποιας τιμής. Οι σταθερές δεν μπορούν ποτέ να αλλάξουν τη στιγμή της εκτέλεσης. Οι μεταβλητές μπορούν να αλλάξουν κατά την εκτέλεση ενός προγράμματος και να ενημερώσουν την τιμή που είναι αποθηκευμένη μέσα σε αυτό.
Μια μεμονωμένη μεταβλητή μπορεί να χρησιμοποιηθεί σε πολλές θέσεις σε ένα πρόγραμμα. Ένα όνομα μεταβλητής πρέπει να έχει νόημα. Θα πρέπει να αντιπροσωπεύει το σκοπό της μεταβλητής.
Example: Height, age, are the meaningful variables that represent the purpose it is being used for. Height variable can be used to store a height value. Age variable can be used to store the age of a person
Μια μεταβλητή πρέπει να δηλωθεί πρώτα πριν χρησιμοποιηθεί κάπου μέσα στο πρόγραμμα. Ένα όνομα μεταβλητής σχηματίζεται χρησιμοποιώντας χαρακτήρες, ψηφία και μια υπογράμμιση.
Ακολουθούν οι κανόνες που πρέπει να ακολουθούνται κατά τη δημιουργία μιας μεταβλητής:
- Ένα όνομα μεταβλητής πρέπει να αποτελείται μόνο από χαρακτήρες, ψηφία και μια υπογράμμιση.
- Ένα όνομα μεταβλητής δεν πρέπει να ξεκινά με αριθμό.
- Ένα όνομα μεταβλητής δεν πρέπει να αποτελείται από κενά.
- Ένα όνομα μεταβλητής δεν πρέπει να αποτελείται από λέξη-κλειδί.
- Το 'C' είναι μια γλώσσα με διάκριση πεζών-κεφαλαίων που σημαίνει ότι μια μεταβλητή με το όνομα 'age' και 'AGE' είναι διαφορετική.
Ακολουθούν τα παραδείγματα έγκυρων ονομάτων μεταβλητών σε ένα πρόγραμμα «C»:
height or HEIGHT
_height
_height1
My_name
Ακολουθούν τα παραδείγματα μη έγκυρων ονομάτων μεταβλητών σε ένα πρόγραμμα «C»:
1height Hei$ght My name
Για παράδειγμα, δηλώνουμε μια ακέραια μεταβλητή my_variable και της εκχωρούμε την τιμή 48:
int my_variable;
my_variable = 48;
Παρεμπιπτόντως, μπορούμε και να δηλώσουμε και να αρχικοποιήσουμε (να εκχωρήσουμε μια αρχική τιμή) μια μεταβλητή σε μια μεμονωμένη πρόταση:
int my_variable = 48;
Τύποι δεδομένων
Το 'C' παρέχει διάφορους τύπους δεδομένων για να διευκολύνει έναν προγραμματιστή να επιλέξει έναν κατάλληλο τύπο δεδομένων σύμφωνα με τις απαιτήσεις μιας εφαρμογής. Ακολουθούν οι τρεις τύποι δεδομένων:
- Πρωτόγονοι τύποι δεδομένων
- Προερχόμενοι τύποι δεδομένων
- Τύποι δεδομένων που καθορίζονται από τον χρήστη
Υπάρχουν πέντε βασικοί βασικοί τύποι δεδομένων,
- int για ακέραια δεδομένα
- char για δεδομένα χαρακτήρων
- float για αριθμούς κινητής υποδιαστολής
- διπλό για αριθμούς κινητής υποδιαστολής διπλής ακρίβειας
- void
Οι πίνακες, οι συναρτήσεις, οι δείκτες και οι δομές είναι παράγωγοι τύποι δεδομένων. Η γλώσσα 'C' παρέχει πιο εκτεταμένες εκδόσεις των προαναφερθέντων πρωτευόντων τύπων δεδομένων. Κάθε τύπος δεδομένων διαφέρει από τον άλλον σε μέγεθος και εύρος. Ο παρακάτω πίνακας εμφανίζει το μέγεθος και το εύρος κάθε τύπου δεδομένων.
| Τύπος δεδομένων | Μέγεθος σε byte | Σειρά |
| Χαρ ή υπογεγραμμένο χαρ | 1 | -128 να 127 |
| Χωρίς υπογραφή char | 1 | από 0 έως 255 |
| int ή υπογεγραμμένο int | 2 | -32768 να 32767 |
| Χωρίς υπογραφή int | 2 | από 0 έως 65535 |
| Short int ή Unsigned short int | 2 | από 0 έως 255 |
| Υπογεγραμμένο σύντομο int | 2 | -128 να 127 |
| Long int ή Signed long int | 4 | -2147483648 να 2147483647 |
| Ανυπόγραφο μακρύ ενθ | 4 | από 0 έως 4294967295 |
| φλοτέρ | 4 | 3.4E-38 έως 3.4E+38 |
| διπλασιαστεί | 8 | 1.7E-308 έως 1.7E+308 |
| Μακρύ διπλό | 10 | 3.4E-4932 έως 1.1E+4932 |
Σημείωση: Στη C, δεν υπάρχει τύπος δεδομένων Boolean.
Ακέραιος τύπος δεδομένων
Ο ακέραιος δεν είναι παρά ένας ακέραιος αριθμός. Το εύρος για έναν ακέραιο τύπο δεδομένων διαφέρει από μηχανή σε μηχανή. Το τυπικό εύρος για έναν ακέραιο τύπο δεδομένων είναι -32768 έως 32767.
Ένας ακέραιος είναι συνήθως 2 byte που σημαίνει ότι καταναλώνει συνολικά 16 bit στη μνήμη. Μια μεμονωμένη ακέραια τιμή παίρνει 2 byte μνήμης. Ένας ακέραιος τύπος δεδομένων διαιρείται περαιτέρω σε άλλους τύπους δεδομένων όπως short int, int και long int.
Κάθε τύπος δεδομένων διαφέρει ως προς το εύρος, παρόλο που ανήκει στην οικογένεια ακέραιων τύπων δεδομένων. Το μέγεθος ενδέχεται να μην αλλάξει για κάθε τύπο δεδομένων οικογένειας ακέραιων αριθμών.
Το short int χρησιμοποιείται κυρίως για την αποθήκευση μικρών αριθμών, το int χρησιμοποιείται για την αποθήκευση ακέραιων τιμών μέσου μεγέθους και το long int χρησιμοποιείται για την αποθήκευση μεγάλων ακέραιων τιμών.
Κάθε φορά που θέλουμε να χρησιμοποιήσουμε έναν ακέραιο τύπο δεδομένων, πρέπει να τοποθετήσουμε int πριν από το αναγνωριστικό, όπως,
int age;
Εδώ, η ηλικία είναι μια μεταβλητή ενός ακέραιου τύπου δεδομένων που μπορεί να χρησιμοποιηθεί για την αποθήκευση ακέραιων τιμών.
Τύπος δεδομένων κινητής υποδιαστολής
Όπως οι ακέραιοι αριθμοί, στο πρόγραμμα «C» μπορούμε επίσης να χρησιμοποιήσουμε τύπους δεδομένων κινητής υποδιαστολής. Η λέξη-κλειδί «float» χρησιμοποιείται για να αναπαραστήσει τον τύπο δεδομένων κινητής υποδιαστολής. Μπορεί να έχει μια τιμή κινητής υποδιαστολής που σημαίνει ότι ένας αριθμός έχει ένα κλάσμα και ένα δεκαδικό μέρος. Μια τιμή κινητής υποδιαστολής είναι ένας πραγματικός αριθμός που περιέχει μια υποδιαστολή. Ο τύπος δεδομένων ακέραιος δεν αποθηκεύει το δεκαδικό μέρος, επομένως μπορούμε να χρησιμοποιήσουμε float για να αποθηκεύσουμε δεκαδικό μέρος μιας τιμής.
Γενικά, ένας πλωτήρας μπορεί να κρατήσει έως και 6 τιμές ακριβείας. Εάν το float δεν είναι αρκετό, τότε μπορούμε να χρησιμοποιήσουμε άλλους τύπους δεδομένων που μπορούν να κρατήσουν μεγάλες τιμές κινητής υποδιαστολής. Ο τύπος δεδομένων double και long double χρησιμοποιούνται για την αποθήκευση πραγματικών αριθμών με ακρίβεια έως 14 και 80 bit αντίστοιχα.
Κατά τη χρήση ενός αριθμού κινητής υποδιαστολής, μια λέξη-κλειδί float/double/long double πρέπει να τοποθετηθεί πριν από ένα αναγνωριστικό. Τα έγκυρα παραδείγματα είναι,
float division; double BankBalance;
Τύπος δεδομένων χαρακτήρων
Οι τύποι δεδομένων χαρακτήρων χρησιμοποιούνται για την αποθήκευση μιας τιμής χαρακτήρων που περικλείεται σε μεμονωμένα εισαγωγικά.
Ένας τύπος δεδομένων χαρακτήρα καταλαμβάνει έως και 1 byte χώρου μνήμης.
Παράδειγμα,
Char letter;
Άκυρος τύπος δεδομένων
Ένας άκυρος τύπος δεδομένων δεν περιέχει ούτε επιστρέφει καμία τιμή. Χρησιμοποιείται κυρίως για τον ορισμό συναρτήσεων στο 'C'.
Παράδειγμα,
void displayData()
Δήλωση τύπου μιας μεταβλητής
int main() { int x, y; float salary = 13.48; char letter = 'K'; x = 25; y = 34; int z = x+y; printf("%d \n", z); printf("%f \n", salary); printf("%c \n", letter); return 0;}
Παραγωγή:
59 13.480000 K
Μπορούμε να δηλώσουμε πολλαπλές μεταβλητές με τον ίδιο τύπο δεδομένων σε μία μόνο γραμμή, διαχωρίζοντάς τες με κόμμα. Επίσης, παρατηρήστε τη χρήση προσδιοριστών μορφής στη συνάρτηση εξόδου printf, float (%f) και char (%c) και int (%d).
Σταθερά
Σταθερές είναι οι σταθερές τιμές που δεν αλλάζουν ποτέ κατά την εκτέλεση ενός προγράμματος. Ακολουθούν οι διάφοροι τύποι σταθερών:
Ακέραιες σταθερές
Μια ακέραια σταθερά δεν είναι παρά μια τιμή που αποτελείται από ψηφία ή αριθμούς. Αυτές οι τιμές δεν αλλάζουν ποτέ κατά την εκτέλεση ενός προγράμματος. Οι ακέραιες σταθερές μπορεί να είναι οκταδικές, δεκαδικές και δεκαεξαδικές.
Η δεκαδική σταθερά περιέχει ψηφία από 0-9 όπως,
Example, 111, 1234
Παραπάνω είναι οι έγκυρες δεκαδικές σταθερές.
Η οκταδική σταθερά περιέχει ψηφία από το 0-7 και αυτών των τύπων σταθερών προηγούνται πάντα από το 0.
Example, 012, 065
Παραπάνω είναι οι έγκυρες οκταδικές σταθερές.
Η δεκαεξαδική σταθερά περιέχει ένα ψηφίο από 0-9 καθώς και χαρακτήρες από AF. Οι δεκαεξαδικές σταθερές προηγούνται πάντα από 0Χ.
Example, 0X2, 0Xbcd
Παραπάνω είναι οι έγκυρες δεκαεξαδικές σταθερές.
Οι οκταδικές και δεκαεξαδικές ακέραιες σταθερές χρησιμοποιούνται πολύ σπάνια στον προγραμματισμό με 'C'.
Σταθερές χαρακτήρων
Μια σταθερά χαρακτήρα περιέχει μόνο έναν χαρακτήρα που περικλείεται σε ένα μόνο εισαγωγικό ('). Μπορούμε επίσης να αναπαραστήσουμε τη σταθερά χαρακτήρα παρέχοντας την τιμή ASCII.
Example, 'A', '9'
Παραπάνω είναι τα παραδείγματα έγκυρων σταθερών χαρακτήρων.
Σταθερές χορδών
Μια σταθερά συμβολοσειράς περιέχει μια ακολουθία χαρακτήρων που περικλείονται μέσα σε διπλά εισαγωγικά (“”).
Example, "Hello", "Programming"
Αυτά είναι τα παραδείγματα έγκυρων σταθερών συμβολοσειρών.
Πραγματικές σταθερές
Όπως ακέραιες σταθερές που περιέχουν πάντα μια ακέραια τιμή. Το 'C' παρέχει επίσης πραγματικές σταθερές που περιέχουν μια υποδιαστολή ή μια τιμή κλάσματος. Οι πραγματικές σταθερές ονομάζονται και σταθερές κινητής υποδιαστολής. Η πραγματική σταθερά περιέχει μια υποδιαστολή και μια κλασματική τιμή.
Example, 202.15, 300.00
Αυτές είναι οι έγκυρες πραγματικές σταθερές στο 'C'.
Μια πραγματική σταθερά μπορεί επίσης να γραφτεί ως,
Mantissa e Exponent
Για παράδειγμα, για να δηλώσετε μια τιμή που δεν αλλάζει όπως η κλασική σταθερά κύκλου PI, υπάρχουν δύο τρόποι να δηλώσετε αυτήν τη σταθερά
Χρησιμοποιώντας τη λέξη-κλειδί const σε μια δήλωση μεταβλητής που θα δεσμεύσει μια μνήμη αποθήκευσης
#include <stdio.h> int main() { const double PI = 3.14; printf("%f", PI); //PI++; // This will generate an error as constants cannot be changed return 0;}
Χρησιμοποιώντας την οδηγία #define pre-processor, η οποία δεν χρησιμοποιεί μνήμη για αποθήκευση και χωρίς να τοποθετεί ερωτηματικό στο τέλος αυτής της πρότασης.
#include <stdio.h> #define PI 3.14 int main() { printf("%f", PI); return 0;}
