Άρθρο #2: Τύποι - Μεταβλητές - Είσοδος/Έξοδος
C++ Programmer's Corner :: Προγραμματισμός :: C :: Άρθρα
Σελίδα 1 από 1
Άρθρο #2: Τύποι - Μεταβλητές - Είσοδος/Έξοδος
Η γλώσσα προγραμματισμού C χρησιμοποιεί πολλούς διαφορετικούς τύπους δεδομένων. Ο λόγος αυτού είναι η ευελιξία. Τα ονόματα των τύπων είναι τα παρακάτω:
( Όσες λέξεις είναι μέσα σε "[ ]" εννοώ ότι δεν είναι υποχρεωτικό να γραφτούν )
Ας τις εξετάσουμε μια-μια:
char : Τύπος χαρακτήρα. Σχεδόν(?) πάντα αντιπροσωπεύει το byte( τη μικρότερη μονάδα η οποία έχει μοναδική διεύθυνση στη RAM ). Χρησιμεύει στην είσοδο/έξοδο χαρακτήρων και συμβολοσειρών( αλλά όχι μόνο ). Σαν αριθμός μπορεί να πάρει τιμές από 0 έως 255 ή από -128 έως 127.
short : Μικρός ακέραιος. Έχει τουλάχιστον 2 bytes μέγεθος δλδ από 0 έως 65535 ή από -32768 έως 32767 ελάχιστο μέγιστο ( minimum maxima ).
int : Συνήθης ακέραιος. Είναι τουλάχιστον τόσο μεγάλος όσο ο "short", αλλά στα μοντέρνα συστήματα είναι 4 bytes δλδ από 0 έως 4294967295 ή από -2147483648 έως 2147483647.
long : Μεγάλος ακέραιος. Είναι τουλάχιστον 4 bytes, αλλά σε 64-bit συστήματα Linux είναι 8 bytes δλδ από 0 έως 18446744073709551615 ή από -9223372036854775808 έως 9223372036854775807.
float : Αριθμός κινητής υποδιαστολής - επιστημονική αντιπροσώπευση. Δεν έχει σε όλα τα συστήματα το ίδιο μέγεθος( ούτε την ίδια αντιπροσώπευση ). Πάντα χωρίζετε το ακέραιο απ`το κλασματικό κομμάτι με τελεία( . ) και ΟΧΙ κόμμα( , ).
double : Αριθμός κινητής υποδιαστολής διπλής ακρίβειας. Παρότι λέει το όνομά του, δεν είναι σε όλα τα συστήματα διπλό σε ακρίβεια από το float, αλλά έχει τουλάχιστον την ίδια ακρίβεια.
long double : Αριθμός κινητής υποδιαστολής εκτεταμένης ακρίβειας. Τουλάχιστον τόσο ακριβές όσο το double.
Το αν ένας ακέραιος θα αντιπροσωπεύει μόνο θετικούς αριθμούς το καθορίζει η λέξη unsigned όταν προστίθενται μπροστά από το όνομα του τύπου.
Για να μπορέσει κάποιος να λάβει είσοδο από τον χρήστη πρέπει να δηλώσει μεταβλητές. Η δήλωση γίνεται:
Η καθιερωμένη συνάρτηση για την εκτύπωση δεδομένων είναι η "printf()". Είναι μια περίπλοκη συνάρτηση η οποία φτιάχτηκε για να διευκολύνει τον χρήστη, και όχι τον προγραμματιστή της . Μπορεί να εκτυπώσει όλους τους διαφορετικούς τύπους της γλώσσας με πολλούς διαφορετικούς τρόπους. Ας πάρουμε για παράδειγμα μια απλή περίπτωση ( θα υπάρξει άλλο άρθρο για τις λεπτομέρειες της ):
Στο άρθρο #1 είδαμε τη συνάρτηση "getchar()". Επιστρέφει τον παλαιότερο μη επεξεργασμένο χαρακτήρα που εισήγαγε ο χρήστης στο πρόγραμμα από τη στιγμή που άρχισε να εκτελείται. Η κύρια συνάρτηση της C για είσοδο όλων των τύπων από το πληκτρολόγιο είναι η "scanf()". Παρακάτω είναι ένα παράδειγμά της ( θα υπάρξει άλλο άρθρο για τις λεπτομέρειες της ).
Αυτά για την ώρα περί τύπων, μεταβλητών και εισόδου/εξόδου. Θα αναλυθούν ενδελεχώς σε επόμενα άρθρα. Μη ξεχνάτε να πειραματιστείτε με το κώδικα ώστε να συνηθίσετε την ιδιαίτερη δομή του.
( Όσες λέξεις είναι μέσα σε "[ ]" εννοώ ότι δεν είναι υποχρεωτικό να γραφτούν )
char
short [int]
int
long [int]
float
double
long double
Ας τις εξετάσουμε μια-μια:
char : Τύπος χαρακτήρα. Σχεδόν(?) πάντα αντιπροσωπεύει το byte( τη μικρότερη μονάδα η οποία έχει μοναδική διεύθυνση στη RAM ). Χρησιμεύει στην είσοδο/έξοδο χαρακτήρων και συμβολοσειρών( αλλά όχι μόνο ). Σαν αριθμός μπορεί να πάρει τιμές από 0 έως 255 ή από -128 έως 127.
short : Μικρός ακέραιος. Έχει τουλάχιστον 2 bytes μέγεθος δλδ από 0 έως 65535 ή από -32768 έως 32767 ελάχιστο μέγιστο ( minimum maxima ).
int : Συνήθης ακέραιος. Είναι τουλάχιστον τόσο μεγάλος όσο ο "short", αλλά στα μοντέρνα συστήματα είναι 4 bytes δλδ από 0 έως 4294967295 ή από -2147483648 έως 2147483647.
long : Μεγάλος ακέραιος. Είναι τουλάχιστον 4 bytes, αλλά σε 64-bit συστήματα Linux είναι 8 bytes δλδ από 0 έως 18446744073709551615 ή από -9223372036854775808 έως 9223372036854775807.
float : Αριθμός κινητής υποδιαστολής - επιστημονική αντιπροσώπευση. Δεν έχει σε όλα τα συστήματα το ίδιο μέγεθος( ούτε την ίδια αντιπροσώπευση ). Πάντα χωρίζετε το ακέραιο απ`το κλασματικό κομμάτι με τελεία( . ) και ΟΧΙ κόμμα( , ).
double : Αριθμός κινητής υποδιαστολής διπλής ακρίβειας. Παρότι λέει το όνομά του, δεν είναι σε όλα τα συστήματα διπλό σε ακρίβεια από το float, αλλά έχει τουλάχιστον την ίδια ακρίβεια.
long double : Αριθμός κινητής υποδιαστολής εκτεταμένης ακρίβειας. Τουλάχιστον τόσο ακριβές όσο το double.
Το αν ένας ακέραιος θα αντιπροσωπεύει μόνο θετικούς αριθμούς το καθορίζει η λέξη unsigned όταν προστίθενται μπροστά από το όνομα του τύπου.
Για να μπορέσει κάποιος να λάβει είσοδο από τον χρήστη πρέπει να δηλώσει μεταβλητές. Η δήλωση γίνεται:
- Κώδικας:
τύπος_μεταβλητής <τουλάχιστον ένα κενό> όνομα_μεταβλητής ;
Η καθιερωμένη συνάρτηση για την εκτύπωση δεδομένων είναι η "printf()". Είναι μια περίπλοκη συνάρτηση η οποία φτιάχτηκε για να διευκολύνει τον χρήστη, και όχι τον προγραμματιστή της . Μπορεί να εκτυπώσει όλους τους διαφορετικούς τύπους της γλώσσας με πολλούς διαφορετικούς τρόπους. Ας πάρουμε για παράδειγμα μια απλή περίπτωση ( θα υπάρξει άλλο άρθρο για τις λεπτομέρειες της ):
- Κώδικας:
#include <stdio.h>
int main(void)
{
/* Βάλετε όποιον ακέραιο θέλετε εδώ */
int myNumber = 123;
printf("My number is %d\n", myNumber);
getchar();
return 0;
}
Στο άρθρο #1 είδαμε τη συνάρτηση "getchar()". Επιστρέφει τον παλαιότερο μη επεξεργασμένο χαρακτήρα που εισήγαγε ο χρήστης στο πρόγραμμα από τη στιγμή που άρχισε να εκτελείται. Η κύρια συνάρτηση της C για είσοδο όλων των τύπων από το πληκτρολόγιο είναι η "scanf()". Παρακάτω είναι ένα παράδειγμά της ( θα υπάρξει άλλο άρθρο για τις λεπτομέρειες της ).
- Κώδικας:
#include <stdio.h>
int main(void)
{
int i;
printf("Input an integer:\n");
scanf("%d", &i);
printf("You entered the integer %d\n", i);
/* Αγνοήστε την παρακάτω γραμμή, προστέθηκε ώστε να μην είναι ελλιπές το παράδειγμα, θα αποκτήσει νόημα σε επόμενα άρθρα... */
while (getchar() != '\n');
getchar();
return 0;
}
Αυτά για την ώρα περί τύπων, μεταβλητών και εισόδου/εξόδου. Θα αναλυθούν ενδελεχώς σε επόμενα άρθρα. Μη ξεχνάτε να πειραματιστείτε με το κώδικα ώστε να συνηθίσετε την ιδιαίτερη δομή του.
Παρόμοια θέματα
» Άρθρο #14: Είσοδος/Έξοδος από/προς αρχεία - File I/O
» Άρθρο #6: Συναρτήσεις
» Άρθρο #7: Πίνακες
» Άρθρο #9: Συμβολοσειρές
» Άρθρο #1: Γνωριμία με τη C
» Άρθρο #6: Συναρτήσεις
» Άρθρο #7: Πίνακες
» Άρθρο #9: Συμβολοσειρές
» Άρθρο #1: Γνωριμία με τη C
C++ Programmer's Corner :: Προγραμματισμός :: C :: Άρθρα
Σελίδα 1 από 1
Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης
|
|