Η C είναι απλή/Τύποι - Μεταβλητές - Είσοδος/Έξοδος

Από Βικιβιβλία

Εισαγωγή[επεξεργασία]

Η γλώσσα προγραμματισμού C χρησιμοποιεί πολλούς διαφορετικούς τύπους δεδομένων. Ο λόγος αυτού είναι η ευελιξία. Τα ονόματα των τύπων είναι τα παρακάτω:
( Όσες λέξεις είναι μέσα σε "[ ]" εννοώ ότι δεν είναι υποχρεωτικό να γραφτούν )

  • 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
Το αν ένας ακέραιος θα αντιπροσωπεύει μόνο θετικούς αριθμούς το καθορίζει η λέξη unsigned όταν προστίθεται μπροστά από το όνομα του τύπου. Να θυμάστε ότι αν χρησιμοποιηθεί από μόνη της ως "unsigned" σαν τύπος μεταβλητής, σημαίνει "unsigned int".

Δήλωση κ χρήση μεταβλητών[επεξεργασία]

Για να μπορέσει κάποιος να λάβει είσοδο από τον χρήστη πρέπει να δηλώσει μεταβλητές. Η δήλωση γίνεται:

τύπος_μεταβλητής <τουλάχιστον ένα κενό> όνομα_μεταβλητής ;

Το όνομα της δήλωσης μπορεί να αποτελείται από αριθμούς, λατινικούς χαρακτήρες ( κεφαλαίους και πεζούς ), και τον χαρακτήρα "_"( underscore ). Ο πρώτος χαρακτήρας πρέπει να είναι λατινικός ή ο "_". Να θυμάστε ότι η C είναι ευαίσθητη με τα ονόματα πχ "variable", "Variable" και "VaRiAbLe" είναι τρία διαφορετικά ονόματα μεταβλητών.

Είσοδος/Έξοδος μέσω της κονσόλας[επεξεργασία]

Η καθιερωμένη συνάρτηση για την εκτύπωση δεδομένων είναι η "printf()". Είναι μια περίπλοκη συνάρτηση η οποία φτιάχτηκε για να διευκολύνει τον χρήστη, και όχι τον προγραμματιστή της :D . Μπορεί να εκτυπώσει όλους τους διαφορετικούς τύπους της γλώσσας με πολλούς διαφορετικούς τρόπους. Ας πάρουμε για παράδειγμα μια απλή περίπτωση ( θα υπάρξει άλλο άρθρο για τις λεπτομέρειες της ):

#include <stdio.h>

int main(void)
{
    /* Βάλετε όποιον ακέραιο θέλετε εδώ */
    int myNumber = 123;

    printf("My number is %d\n", myNumber);
    getchar();

    return 0;
}

Στο προηγούμενο άρθρο είδαμε τη συνάρτηση "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;
}

Αυτά για την ώρα περί τύπων, μεταβλητών και εισόδου/εξόδου. Θα αναλυθούν ενδελεχώς σε επόμενα άρθρα. Μη ξεχνάτε να πειραματιστείτε με το κώδικα ώστε να συνηθίσετε την ιδιαίτερη δομή του.