Άρθρο #2: Τύποι - Μεταβλητές - Είσοδος/Έξοδος

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Πήγαινε κάτω

Άρθρο #2: Τύποι - Μεταβλητές - Είσοδος/Έξοδος

Δημοσίευση από GReaper Την / Το Τετ Φεβ 15, 2012 1:15 pm

Η γλώσσα προγραμματισμού 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 όταν προστίθενται μπροστά από το όνομα του τύπου.

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

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

Κώδικας:
#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;
}

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

Αριθμός μηνυμάτων : 16
Ημερομηνία εγγραφής : 01/10/2011
Ηλικία : 25
Τόπος : Σπάρτη

http://procorn.forumgreek.com

Επιστροφή στην κορυφή Πήγαινε κάτω

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Επιστροφή στην κορυφή


 
Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης