SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
H ΓΛΩΣΣΑ C
Μάθηµα 3:
Μεταβλητές και Σταθερές
∆ηµήτρης Ψούνης
Περιεχόµενα Μαθήµατος
Α. Μεταβλητές
1. Ονόµατα Μεταβλητών
2. Τύποι ∆εδοµένων
1. Τύποι Αριθµητικών ∆εδοµένων
1. Προσηµασµένοι Ακέραιοι
2. Μη Προσηµασµένοι Ακέραιοι
3. Πραγµατικοί Αριθµοί
2. Άλλοι Τύποι ∆εδοµένων
3. ∆ήλωση Μεταβλητών
1. Εντολή ∆ήλωσης Μεταβλητών
2. Παραδείγµατα
3. ∆ήλωση µε Αρχικοποίηση
4. Που δηλώνουµε τις µεταβλητές
4. Συνώνυµα τύπων δεδοµένων
1. Η λέξη κλειδί typedef
Β. Σταθερές
1. Αριθµητικές Σταθερές
2. Συµβολικές Σταθερές
1. Η οδηγία #define
2. H λέξη-κλειδί const
Γ. Ασκήσεις
2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Στόχος του Μαθήµατος
3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Κάθε πρόγραµµα αποθηκεύει δεδοµένα στην µνήµη προκειµένου να τα χρησιµοποιήσει για να
κάνει τους υπολογισµούς του.
Η C χρησιµοποιεί δύο τρόπους για να αποθηκεύσει τα δεδοµένα της:
Τις µεταβλητές, που είναι θέσεις αποθήκευσης δεδοµένων στις οποίες µπορούµε να
παρέµβουµε και να αλλάξουµε την τιµή τους, όσες φορές θέλουµε κατά τη διάρκεια
εκτέλεσης του προγράµµατος.
Τις σταθερές, που είναι θέσεις αποθήκευσης δεδοµένων στις οποίες δεν µπορούµε να
παρέµβουµε και σε όλη την διάρκεια του προγράµµατος έχουν την ίδια τιµή. Την τιµή αυτή
την δηλώνουµε στην αρχή του προγράµµατος
Πρέπει να διαχωρίσουµε εξαρχής στο µυαλό µας, ότι κάθε µεταβλητή έχει το όνοµα της
(π.χ η µεταβλητή x), που έχει µία θέση µνήµης (π.χ. η x είναι στη θέση µνήµης 1000),
στην οποία αποθηκεύεται η τιµή της µεταβλητής (π.χ x=3) και έχει και έναν τύπο
δεδοµένων (π.χ η x είναι ακέραια)
x c y
2 64
1000 1004 1008
A. Μεταβλητές
1. Ονόµατα Μεταβλητών
4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Κάθε µεταβλητή έχει ένα όνοµα. Μπορούµε να χρησιµοποιήσουµε (σχεδόν) οποιοδήποτε όνοµα
θέλουµε, σεβόµενοι τους ακόλουθους κανόνες:
Το όνοµα µπορεί να χρησιµοποιεί τους ακόλουθους χαρακτήρες (και µόνον αυτούς)
Γράµµατα (a-z, A-Z)
Ψηφία (0-9)
Το underscore ( _ )
Το όνοµα υποχρεωτικά πρέπει να ξεκινάει µε γράµµα ή µε underscore (όχι ψηφίο).
Τα κεφαλαία-µικρά έχουν σηµασία (case-sensitive). Έτσι η µεταβλητή sum θα είναι
διαφορετική από την µεταβλητή sUm και από την µεταβλητή Sum.
∆εν µπορούν να χρησιµοποιηθούν οι λέξεις-κλειδια της γλώσσας (ονόµατα τύπων
δεδοµένων, include κ.λπ.)
A. Μεταβλητές
1. Ονόµατα Μεταβλητών
5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Συµβουλές:
Είναι καλή τακτική, να χρησιµοποιούµε ονόµατα που σχετίζονται µε την λειτουργία των
µεταβλητών. Π.χ. Αν θέλουµε να αποθηκεύσουµε σε µια µεταβλητή το άθροισµα κάποιων
τιµών, είναι προτιµότερο να ονοµάσουµε την µεταβλητή sum, παρά να την ονοµάσουµε µε ένα
ξερό π.χ. z.
Σπάνια χρησιµοποιούµε κεφαλαία γράµµατα για µεταβλητές. Έχουν επικρατήσει τα µικρά
γράµµατα
Έχουν επικρατήσει δύο στυλ γραφής των µεταβλητών όταν θέλουµε 2 λέξεις στις µεταβλητές
για να τις περιγράψουµε:
Nα τις χωρίζουµε µε _, π.χ. interest_rate
Να τις κάνουµε 2 λέξεις, µε την δεύτερη να αρχίζει µε κεφαλαίο π.χ. interestRate
A. Μεταβλητές
2. Τύποι ∆εδοµένων
6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Ανάλογα µε τα δεδοµένα που θέλουµε να αποθηκεύσουµε πρέπει να χρησιµοποιήσουµε και
διαφορετικό τύπο µεταβλητής. Με τον όρο τυποι δεδοµένων ονοµάζουµε τους διαφορετικούς
τύπους µεταβλητών που µπορούµε να χρησιµοποιήσουµε.
Είναι δική µας ευθύνη να επιλέξουµε τον τύπο δεδοµένων των µεταβλητών.
Αν θέλουµε να αποθηκεύσουµε σε µια µεταβλητή τον βαθµό µας σε ένα µάθηµα, πρέπει
να χρησιµοποιήσουµε µια ακέραια µεταβλητή διότι ο βαθµός µας είναι ακέραιος.
Αν θέλουµε να αποθηκεύσουµε σε µια µεταβλητή το επιτόκιο ενός δανείου, πρέπει να
χρησιµοποιήσουµε µια πραγµατική µεταβλητή µικρής ακρίβειας, χωρίς να µας ενδιαφέρει
η ακρίβεια πολλών δεκαδικών ψηφίων γιατί µας αρκούν – συνήθως - 2 δεκαδικά ψηφία
Αν θέλουµε να αποθηκεύσουµε σε µια µεταβλητή τα πρώτα 15 ψηφία του αρρητου
αριθµού π, θα χρειαστούµε µια πραγµατική µεταβλητή διπλής ακρίβειας
κ.ο.κ.
A. Μεταβλητές
2. Τύποι ∆εδοµένων
1. Τύποι Αριθµητικών ∆εδοµένων
7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Η C έχει πολλούς τύπους δεδοµένων µε τους οποίους µπορούµε να αποθηκεύσουµε αριθµούς.
Όσο µεγαλύτερη πληροφορία θέλουµε να αποθηκεύσουµε σε έναν αριθµό, τόσο περισσότερα
bytes απαιτούνται στην µνήµη από τον αριθµό.
Οι αριθµητικές µεταβλητές χωρίζονται σε δύο µεγάλες κατηγορίες:
Τις ακέραιες µεταβλητές που αποθηκεύουµε ακέραιες τιµές (char, int, long, short)
Τις κλασµατικές µεταβλητές που αποθηκεύουµε δεκαδικές τιµές (float, double)
Ειδικά για τις ακέραιες µεταβλητές όλες οι παραπάνω χωρίζονται σε προσηµασµένες και µη
προσηµασµένες
A. Μεταβλητές
2. Τύποι ∆εδοµένων
1. Τύποι Αριθµητικών ∆εδοµένων (1.Προσηµασµένοι Ακέραιοι)
8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Οι προσηµασµένες ακέραιες µεταβλητές, επιτρέπουν την αποθήκευση και αρνητικών
αριθµών.
Σηµείωση: Τα bytes που αντιστοιχούν όπως φαίνεται στον πίνακα εξαρτώνται από το σύστηµα
µας, αλλά συνήθως είναι όπως φαίνεται εδώ:
Όνοµα Τύπου
∆εδοµένων
Συµβολισµός bytes Εύρος τιµών
Χαρακτήρας char 1 -128 εώς 127
Μικρός Ακέραιος short 2 -32768 εώς 32767
Ακέραιος int 4 -2147483648 εώς 2147438647
Μεγάλος Ακέραιος long 4 -2147483648 εώς 2147438647
A. Μεταβλητές
2. Τύποι ∆εδοµένων
1. Τύποι Αριθµητικών ∆εδοµένων (2.Μη Προσηµασµένοι Ακέραιοι)
9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Οι µη προσηµασµένες ακέραιες µεταβλητές, επιτρέπουν την αποθήκευση µόνο θετικών
αριθµών.
Έτσι ξεκινούν από το 9 και επιτρέπουν την αποθήκευση διπλάσιας τιµής σε σχέση µε τις
προσηµασµένες.
Όνοµα Τύπου
∆εδοµένων
Συµβολισµός bytes Εύρος τιµών
Μη προσηµασµένος
Χαρακτήρας
unsigned char 1 0 εώς 255
Μη προσηµασµένος
Μικρός Ακέραιος
unsigned int 2 0 εώς 65535
Μη προσηµασµένος
Ακέραιος
unsigned int 2 0 εώς 65535
Μη προσηµασµένος
Μεγάλος Ακέραιος
unsigned long 4 0 εώς 4294967295
A. Μεταβλητές
2. Τύποι ∆εδοµένων
1. Τύποι Αριθµητικών ∆εδοµένων (3.Πραγµατικοί Αριθµοί)
10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Οι πραγµατικές µεταβλητές είναι δύο κατηγοριών float και double µε µόνη διαφορά τα bytes
(άρα και την ακρίβεια) κάθε τύπου δεδοµένων.
Πρακτικά:
Οι float αποθηκεύουν ικανοποιητικά µέχρι 7 ψηφία
Οι double µέχρι 19 ψηφία.
Όνοµα Τύπου
∆εδοµένων
Συµβολισµός bytes Εύρος τιµών
Κινητής Υποδιαστολής
Μονής Ακρίβειας
float 4 1.2x10-38 εώς 3.4x1038
Κινητής Υποδιαστολής
∆ιπλής Ακρίβειας
double 8 2.2x10-308 εώς 1.8x10308
Κινητής Υποδιαστολής
Μονής Ακρίβειας
float 4 1.2x10-38 εώς 3.4x1038
Κινητής Υποδιαστολής
∆ιπλής Ακρίβειας
double 8 2.2x10-308 εώς 1.8x10308
A. Μεταβλητές
2. Τύποι ∆εδοµένων
1. Τύποι Αριθµητικών ∆εδοµένων
11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Η πληθώρα τύπων δεδοµένων µας δίνει περιθώρια για ευέλικτο προγραµµατισµό ανάλογα µε
τις ανάγκες του προγράµµατος.
∆εν σηµαίνει ότι πρέπει να επιλέξουµε οπωσδήποτε τον καλύτερο τύπο δεδοµένων για την
κάθε περίπτωση.
Πρακτικά στα περισσότερα προγράµµατα για να αποθηκεύσουµε αριθµούς θα αρκεστούµε στους
τύπους δεδοµένων:
int: για τις ακέραιες µεταβλητές
long: αν πρόκειται να αποθηκευτούν µεγάλες τιµές ακεραίων
float: για δεκαδικούς αριθµούς µικρής ακρίβειας
double: για δεκαδικούς αριθµούς µεγάλης ακρίβειας
A. Μεταβλητές
2. Τύποι ∆εδοµένων
1. Τύποι Αριθµητικών ∆εδοµένων
12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Το ακόλουθο πρόγραµµα προβάλλει στην οθόνη τα µεγέθη σε bytes των τύπων δεδοµένων
που µελετήσαµε.
Ο τελεστής sizeof που χρησιµοποιείται επιστρέφει τα bytes του τύπου που δέχεται ως
όρισµα.(θα τον µελετήσουµε σε επόµενο µάθηµα πιο αναλυτικά)
Εκτελέστε το πρόγραµµα και κάντε αντιπαραβολή µε τους πίνακες των διαφανειών.
/* sizes.c: Provallei stin othoni ta megethi se bytes twn tipwn dedomenvn */
#include <stdio.h>
main()
{
printf("nTa bytes enos char einai: %d", sizeof(char));
printf("nTa bytes enos short einai: %d", sizeof(short));
printf("nTa bytes enos int einai: %d", sizeof(int));
printf("nTa bytes enos long einai: %d", sizeof(long));
printf("nTa bytes enos unsigned short einai: %d", sizeof(unsigned short));
printf("nTa bytes enos unsigned int einai: %d", sizeof(unsigned int));
printf("nTa bytes enos unsigned long einai: %d", sizeof(unsigned long));
printf("nTa bytes enos float einai: %d", sizeof(float));
printf("nTa bytes enos double einai: %d", sizeof(double));
}
A. Μεταβλητές
2. Τύποι ∆εδοµένων
2. Άλλοι τύποι ∆εδοµένων
13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Εκτός από τους αριθµητικούς τύπους δεδοµένων (που αποθηκευουν αριθµούς), υπάρχουν και
τύποι δεδοµένων που:
Αποθηκευουν χαρακτήρες και συµβολοσειρές (ακολουθίες χαρακτήρων). Θα τις δούµε
αναλυτικά σε επόµενο µάθηµα.
Οριζόµενες από τον χρήστη. ∆ηλαδή ο χρήστης µπορεί να ορίσει δικούς του τύπους
δεδοµένων. Θα τις δούµε σε επόµενο µάθηµα.
A. Μεταβλητές
3. ∆ήλωση Μεταβλητών
1. Εντολή ∆ήλωσης Μεταβλητής
14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Προτού χρησιµοποιήσουµε µια µεταβλητή, θα πρέπει να την δηλώσουµε.
Η δήλωση µιας µεταβλητής γίνεται µε µια εντολή της µορφής:
όπου τύπος_δεδοµένων κάποιος από αυτούς που είδαµε στην προηγούµενη ενότητα και
όνοµα_µεταβλητής είναι το όνοµα που επιλέγουµε εµείς σεβόµενοι τους κανόνες που
έχουµε αναφέρει
Είναι δυνατό να ορίσουµε και παραπάνω από µία µεταβλητές του ίδιου τύπου σε µία γραµµή,
χωρίζοντας τα ονόµατα των µεταβλητών µε κόµµατα:
Ο παραπάνω κώδικας ορίζει 3 µεταβλητές µε τα αντίστοιχα ονόµατα και οι µεταβλητές
είναι του τύπου δεδοµένων.
τυπος_δεδοµένων όνοµα_µεταβλητής;
τυπος_δεδοµένων όν_µετ1, ον_µετ2, ον_µετ3;
A. Μεταβλητές
3. ∆ήλωση Μεταβλητών
2. Παραδείγµατα
15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Το ακόλουθο τµήµα κώδικα:
∆ηλώνει 3 ακέραιες µεταβλητές µε ονόµατα x,y,z
Και 2 αριθµούς κινητής υποδιαστολής µονής ακρίβειας µε ονόµατα percent, amount
Επίσης το ακόλουθο τµήµα κώδικα:
Κάνει ακριβώς την ίδια ενέργεια µε το παραπάνω τµήµα κώδικα.
int x,y,z;
float percent, amount;
int x;
int y;
int z;
float percent, amount;
Η εντολή δήλωσης µεταβλητής ισοδυναµεί µε τη δέσµευση της µνήµης από το µεταγλωττιστή, τη
συσχέτιση του χώρου αποθήκευσης µε το όνοµα της µεταβλητής.
Έτσι η εντολή:
int x,y,z
αντιστοιχεί στην εικόνα µνήµης:
x z y
A. Μεταβλητές
3. ∆ήλωση Μεταβλητών
3. ∆ήλωση µε Αρχικοποίηση
16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Είναι σηµαντικό να καταλάβουµε ότι µια έντολη δήλωσης:
Απλά δεσµεύει τον χώρο για να αποθηκευτεί η µεταβλητή
∆εν δίνει τιµή στην µεταβλητή.
Έτσι αρχικά η µεταβλητή, έχει όπως λέµε «σκουπίδια», δηλαδή έχει ότι περιείχαν τα bytes της
προτού δεσµευθεί ο χώρος της.
Για το λόγο αυτό συχνά είναι χρήσιµο µε το που δηλώνουµε µια µεταβλητή να αρχικοποιούµε µε
κατάλληλη τιµή:
Π.χ. Η δήλωση
∆ηλώνει µια ακέραια µεταβλητή και της αναθέτει την τιµή 5
Ενώ η δήλωση
∆ηλώνει δύο πραγµατικές µεταβλητές µε τιµές 5.5 και 4.44 αντίστοιχα.
int x=5;
float y=5.5, z=4.44;
A. Μεταβλητές
3. ∆ήλωση Μεταβλητών
3. ∆ήλωση µε Αρχικοποίηση
17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Η δήλωση
∆ηλώνει µια ακέραια µεταβλητή x και εκχωρεί σε αυτήν την τιµή 5.
Αυτό µπορεί εναλλακτικά να γίνει και µε τις ακόλουθες γραµµές κώδικα:
Προσοχή! Το = είναι ο τελεστής καταχώρησης (ή τελεστής εκχώρησης) που δίνει στην
µεταβλητή που είναι αριστερά του, την τιµή που βρίσκεται δεξιά του.
(∆εν έχει λοιπόν καµία σχέση µε την γνωστή µαθηµατική µας ισότητα)
Έτσι οι δύο παραπάνω τρόποι είναι ισοδύναµοι µεταξύ τους.
int x=5;
int x;
x=5;
A. Μεταβλητές
3. ∆ήλωση Μεταβλητών
4. Που δηλώνουµε µεταβλητές
18∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Στο µάθηµα 12: Εµβέλεια Μεταβλητών, θα δούµε ότι ανάλογα µε το που δηλώνουµε τις
µεταβλητές επηρεάζεται ο τρόπος που χρησιµοποιούνται από το πρόγραµµα µας.
Εδώ θα δούµε αρχικά ότι υπάρχουν δύο τύποι µεταβλητών:
Οι καθολικές µεταβλητές στις οποίες έχουν πρόσβαση και η main και όλες οι
συναρτήσεις.
Οι καθολίκές µεταβλητές, δηλώνονται ακριβώς πριν την main
Οι τοπικές µεταβλητές, τις οποίες δηλώνει κάποια συνάρτηση και στις οποίες έχουν
πρόσβαση µόνο η συνάρτηση.
Οι τοπικές µεταβλητές δηλώνονται στο σώµα της συνάρτησης χρήστη( ή της main)
αµέσως µετά το άγκιστρο που ανοίγει το σώµα της συνάρτησης χρήστη (ή της main
αντίστοιχα)
Το σχήµα της επόµενης διαφάνειας συνοψίζει τους κανόνες αυτούς
A. Μεταβλητές
3. ∆ήλωση Μεταβλητών
4. Που δηλώνουµε µεταβλητές
19∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Στο µάθηµα 12: Εµβέλεια Μεταβλητών, θα δούµε ότι ανάλογα µε το που δηλώνουµε τις
µεταβλητές επηρεάζεται ο τρόπος που χρησιµοποιούνται από το πρόγραµµα µας.
Εδώ θα δούµε αρχικά ότι υπάρχουν δύο τύποι µεταβλητών:
Οι καθολικές µεταβλητές στις οποίες έχουν πρόσβαση και η main και όλες οι
συναρτήσεις.
Οι καθολίκές µεταβλητές, δηλώνονται ακριβώς πριν την main
Οι τοπικές µεταβλητές, τις οποίες δηλώνει κάποια συνάρτηση και στις οποίες έχουν
πρόσβαση µόνο η συνάρτηση.
Οι τοπικές µεταβλητές δηλώνονται στο σώµα της συνάρτησης χρήστη( ή της main)
αµέσως µετά το άγκιστρο που ανοίγει το σώµα της συνάρτησης χρήστη (ή της main
αντίστοιχα)
Το σχήµα της επόµενης διαφάνειας συνοψίζει τους κανόνες αυτούς
#include <stdio.h>
int function(int x); // Το πρωτότυπο µιας συνάρτησης
int g; /* Η g είναι καθολική. Σε αυτήν έχει πρόσβαση και η
main και η συνάρτηση f */
main()
{
int m; /* Η m είναι τοπική. Σε αυτήν έχει πρόσβαση µόνο
η main */
...(Εντολές της main)...
}
int function(int x) // Το σώµα της συνάρτησης
{
int k; /* H k είναι τοπική µεταβλητή. Σε αυτήν έχει
πρόσβαση µόνο η συνάρτηση f() */
...(Εντολές της function)...
}
A. Μεταβλητές
4. Συνώνυµα τύπων δεδοµένων
1. Η λέξη-κλειδί typedef
20∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
H C µας δίνει το δικαίωµα να ορίσουµε ένα συνώνυµο ενός τύπου δεδοµένων.
Η εργασία αυτή γίνεται µε την typedef που συντάσσεται ως εξής:
Με την εντολή αυτή ορίζουµε ότι ο τύπος δεδοµένων µε όνοµα νεο_ονοµα_Τ∆ θα έχει
ακριβώς την ίδια συµπεριφορά µε τον υπάρχοντα τύπο δεδοµένων µε όνοµα
παλιο_όνοµα_Τ∆
Για παράδειγµα µε την εντολή
Μπορούµε να γράφουµε στο πρόγραµµά µας, αντί για int τον τύπο δεδοµένων akeraios,
που θα έχει την ίδια συµπεριφορά µε το int
Οι εντολές typedef πρέπει να βρίσκονται ακριβώς µετά τις οδηγίες #include στην αρχή του
προγράµµατός µας. Μεταγλωττίστε και εκτελέστε το παράδειγµα της επόµενης διαφάνειας που
αναδεικνύει την χρήση της typedef.
typedef παλιο_ονοµα_Τ∆ νεο_ονοµα_Τ∆;
typedef int akeraios;
A. Μεταβλητές
4. Συνώνυµα τύπων δεδοµένων
1. Η λέξη-κλειδί typedef
21∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Στο µάθηµα 12: Εµβέλεια Μεταβλητών, θα δούµε ότι ανάλογα µε το που δηλώνουµε τις
µεταβλητές επηρεάζεται ο τρόπος που χρησιµοποιούνται από το πρόγραµµα µας.
Εδώ θα δούµε αρχικά ότι υπάρχουν δύο τύποι µεταβλητών:
Οι καθολικές µεταβλητές στις οποίες έχουν πρόσβαση και η main και όλες οι
συναρτήσεις.
Οι καθολίκές µεταβλητές, δηλώνονται ακριβώς πριν την main
Οι τοπικές µεταβλητές, τις οποίες δηλώνει κάποια συνάρτηση και στις οποίες έχουν
πρόσβαση µόνο η συνάρτηση.
Οι τοπικές µεταβλητές δηλώνονται στο σώµα της συνάρτησης χρήστη( ή της main)
αµέσως µετά το άγκιστρο που ανοίγει το σώµα της συνάρτησης χρήστη (ή της main
αντίστοιχα)
Το σχήµα της επόµενης διαφάνειας συνοψίζει τους κανόνες αυτούς
/* typedef.c: Paradeigma xrisis tis entolis typedef */
#include <stdio.h>
typedef int akeraios;
main()
{
akeraios x,y,z;
printf("Dwste enan akeraio: ");
scanf("%d",&x);
printf("Dwste akomi enan akeraio: ");
scanf("%d",&y);
z=x+y;
printf("To athroisma toys einai: %d", z);
}
A. Μεταβλητές
4. Συνώνυµα τύπων δεδοµένων
1. Η λέξη-κλειδί typedef
22∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
mτέτοιου τύπου χρήσεις ωστόσο δεν είναι χρήσιµες.
Τους βασικούς τύπους δεδοµένων θα πρέπει να µάθουµε να τους χρησιµοποιούµε ως έχουν.
Ωστόσο για δευτερεύοντες τύπους δεδοµένων (όπως τύπους δεδοµένων που καθορίζονται από
τον χρήστη), ο ορισµός συνωνύµων µέσω της typedef θα µας φανεί ιδιαίτερα χρήσιµος!
Β. Σταθερές
1. Αριθµητικές σταθερές
23∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Ήδη στα προηγούµενα παραδείγµατα, είδαµε πολλές φορές να γράφουµε έναν αριθµό στο
πρόγραµµα (προκειµένου π.χ. να τον αποθηκεύσουµε σε µία µεταβλητή)
Η απεικόνιση αριθµών στην C, είναι η πρώτη κατηγορία σταθερών, οι λεγόµενες αριθµητικές
σταθερές, όπου αναφερόµαστε σε έναν αριθµό απλά καταγράφοντας τον.
Υπάρχουν 3 ειδών αριθµητικές σταθερές (δηλαδή αριθµοί) που µπορούµε να γράψουµε στο
πρόγραµµα µας:
Οι ακέραιοι αριθµοι. Όταν γράφουµε έναν ακέραιο αριθµό στο πρόγραµµα µας π.χ. 2, η
C καταλαβαίνει ότι πρέπει να αποθηκευτεί προσωρινά σε έναν χώρο αποθήκευσης
ακεραίου (int)
Οι πραγµατικοί αριθµοί. Η C αντιλαµβάνεται έναν πραγµατικό αριθµό µε 2 τρόπους:
Βάζοντας τελεία ( . ) για να απεικονίσουµε την υποδιαστολή (π.χ. 3.45)
∆ίνοντας την επιστηµονική µορφή του αριθµού (π.χ. 1.23e6 που απεικονίζει τον
αριθµό 1.23x106=1230000)
Β. Σταθερές
2. Συµβολικές Σταθερές
24∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Μια συµβολική σταθερά είναι µια σταθερά που έχει ένα όνοµα, σε αντίθεση µε τις αριθµητικές
σταθερές που είναι ένας ξερός αριθµός.
Για παράδειγµα αν γράφουµε ένα πρόγραµµα που θα χρησιµοποιήσει τον αριθµό π (π.χ.
αν υπολογίζουµε το εµβαδόν ενός κύκλου), θα θέλαµε να απεικονίσουµε τον αριθµό σε µία
µεταβλητή
Ωστόσο η τιµή αυτής της µεταβλητής δεν πρόκειται να αλλάξει ποτέ στην διάρκεια του
προγράµµατος.
Για το λόγο αυτό θα αποθηκεύσουµε την µεταβλητή αυτή ως σταθερά.
Υπάρχουν δύο ειδών συµβολικές σταθερές, που ορίζονται µέσω:
Της οδηγία #define
Της λέξης κλειδί const
m.και οι δύο τρόποι χρησιµοποιούνται εξίσου συχνά. Η διαφορά τους θα γίνει πλήρως
κατανοητή σε επόµενα µαθήµατα, αλλα θα δούµε τώρα ότι:
Με την #define ορίζουµε σταθερά που την βλέπει υποχρεωτικά όλο το πρόγραµµα
(όλες οι συναρτήσεις)
Με την const µπορούµε να ορίσουµε σταθερά που την επεξεργάζεται µόνο µια
συγκεκριµένη συνάρτηση.
Β. Σταθερές
2. Συµβολικές Σταθερές
1. Η οδηγία #define
25∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Μπορούµε να ορίσουµε µια στάθερα µέσω της οδηγία #define ακολουθώντας την σύνταξη:
Για παράδειγµα το π θα το ορίσουµε µε την δήλωση:
Προσοχή! Μετά την δήλωση δεν βάζουµε ερωτηµατικό!
Οι δηλώσεις #define γράφονται αµέσως µετά τις δηλώσεις #include.
Η ακριβής λειτουργία της define είναι ότι ο µεταγλωττιστής αναζητά κάθε εµαφάνιση της PI στο
πρόγραµµα και την αντικαθιστά µε την αριθµητική τιµή.
Κάνει δηλαδή την ίδια ενέργεια µε το να πηγαίναµε µε το χέρι και να αντικαταστήσουµε τις
εµφανίσεις της PI µε την συγκεκριµένη τιµή
#define ΟΝΟΜΑ_ΣΤΑΘΕΡΑΣ ΤΙΜΗ_ΣΤΑΘΕΡΑΣ
#define PI 3.1415
Β. Σταθερές
2. Συµβολικές Σταθερές
2. Η λέξη-κλειδί const
26∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Μία οποιαδήποτε µεταβλητή µπορούµε να την ορίσουµε ως σταθερά, αν γνωρίζουµε η τιµή της
δεν πρόκειται να αλλάξει κατά την διάρκεια εκτέλεσης του προγράµµατος.
Ο καθορισµός ότι η µεταβλητή µετατρέπεται σε σταθερά γίνεται προσθέτοντας την λέξη κλειδί
const µπροστά από την δήλωση της µεταβλητής.
Προσοχή! Μία σταθερά θα πρέπει να αρχικοποιείται οπωσδήποτε κατά την δήλωσή της!
Έτσι µια ακεραια σταθερά µε την τιµή 100 δηλώνεται ως εξής:
Μπορούµε να έχουµε σταθερά οποιουδήποτε τύπου δεδοµένων!
∆ήλωση σταθεράς µε την λέξη const µπορούµε να έχουµε στα σηµεία όπου επιτρέπεται
δήλωση µεταβλητών (αρχή συναρτήσεων και πριν την main)
const int x=100;
Β. Σταθερές
2. Συµβολικές Σταθερές
2. Η λέξη-κλειδί const
27∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Σε µεγάλα προγράµµατα είναι συχνό να κρατάµε άµυνες για να αποφύγουµε λάθη που θα είναι
δύσκολο να εντοπιστούν
Ο ορισµός µεταβλητών ως σταθερών µε χρήση της λεξης κλειδί const είναι µια συνηθισµένη
πολιτική
Πράγµατι έστω ότι δηλώνουµε µια σταθερά στην αρχή ενός προγράµµατος.
Τότε αν επιχειρήσουµε να αλλάξουµε την τιµή της σε επόµενη γραµµή κώδικα, ο
µεταγλωττιστής θα διαµαρτυρηθεί!
Έτσι έχουµε µια άµυνα, αφού ούτε εµείς οι ίδιοι δεν θα µπορέσουµε να αλλάξουµε την τιµή της,
όταν γράφουµε τον κώδικα.
Μελετήστε συστηµατικά το πρόγραµµα της επόµενης διαφάνειας. Συγκεντρώνει όλες τις
πληροφορίες για την δοµή ενός προγράµµατος C, ενσωµατώνοντας όλα τα χαρακτηριστικά που
έχουµε αναφέρει.
Β. Σταθερές
4. Συµβολικές Σταθερές
2. Η λέξη-κλειδί const
28∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Σε µεγάλα προγράµµατα είναι συχνό να κρατάµε άµυνες για να αποφύγουµε λάθη που θα είναι
δύσκολο να εντοπιστούν
Ο ορισµός µεταβλητών ως σταθερών µε χρήση της λεξης κλειδί const είναι µια συνηθισµένη
πολιτική
Πράγµατι έστω ότι δηλώνουµε µια σταθερά στην αρχή ενός προγράµµατος.
Τότε αν επιχειρήσουµε να αλλάξουµε την τιµή της σε επόµενη γραµµή κώδικα, ο
µεταγλωττιστής θα διαµαρτυρηθεί!
Έτσι έχουµε µια άµυνα, αφού ούτε εµείς οι ίδιοι δεν θα µπορέσουµε να αλλάξουµε την τιµή της,
όταν γράφουµε τον κώδικα.
Μελετήστε συστηµατικά το πρόγραµµα της επόµενης διαφάνειας. Συγκεντρώνει όλες τις
πληροφορίες για την δοµή ενός προγράµµατος C, ενσωµατώνοντας όλα τα χαρακτηριστικά που
έχουµε αναφέρει.
/* statheres.c: Programma poy deixnei tin xrisi statherwn */
#include <stdio.h> //1.grafoume ta arxeia kefalidas
#define N 100 //2.Grafoume odigies define statherwn
//3. Edw mporoume na orisoume katholikes metavlites
//4. Edw mporoume na orisoyme prwtotipa sinartisewn
main()
{
//5.1 Dilwsi statherwn kai metavlitwn tis main
int i,sum;
const int number=10;
//5.2 entoles tis main
for (i=number; i<=N; i++)
sum=sum+i;
printf("To athroisma twn arithmwn [%d..%d] einai %d",number,N,sum);
getchar();
}
//6. Edw tha exoyme ta swmata twn sinartisewn
Γ. Ασκήσεις
Εφαρµογή 1
29∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
Γράψτε ένα πρόγραµµα C το οποίο:
1. ∆ηλώνει µία σταθερά µε τιµή 100 µε χρήση της const
2. ∆ηλώνει µια ακέραια µεταβλητή
3. ∆ιαβάζει την τιµή της ακέραιας µεταβλητής από το πληκτρολόγιο
4. Εκτυπώνει στην οθόνη τις τιµές της σταθεράς και της µεταβλητής

Weitere ähnliche Inhalte

Was ist angesagt?

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣDimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑDimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣDimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝDimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥDimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11Dimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑDimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 Dimitris Psounis
 

Was ist angesagt? (20)

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΜΑΘΗΜΑ 1.3 (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.2
ΠΛΗ10 ΜΑΘΗΜΑ 2.2ΠΛΗ10 ΜΑΘΗΜΑ 2.2
ΠΛΗ10 ΜΑΘΗΜΑ 2.2
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.4
ΠΛΗ10 ΜΑΘΗΜΑ 2.4ΠΛΗ10 ΜΑΘΗΜΑ 2.4
ΠΛΗ10 ΜΑΘΗΜΑ 2.4
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΠΛΗ10 ΜΑΘΗΜΑ 2.5ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.8
ΠΛΗ10 ΜΑΘΗΜΑ 2.8ΠΛΗ10 ΜΑΘΗΜΑ 2.8
ΠΛΗ10 ΜΑΘΗΜΑ 2.8
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.5
ΠΛΗ10 ΜΑΘΗΜΑ 1.5ΠΛΗ10 ΜΑΘΗΜΑ 1.5
ΠΛΗ10 ΜΑΘΗΜΑ 1.5
 

Andere mochten auch

Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥDimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 

Andere mochten auch (8)

Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 1 (Εκτύπωση)
 
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
 
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
 

Ähnlich wie Η Γλώσσα C - Μάθημα 3

Βασικές έννοιες προγραμματισμού
Βασικές έννοιες προγραμματισμούΒασικές έννοιες προγραμματισμού
Βασικές έννοιες προγραμματισμούΙωάννου Γιαννάκης
 
Advanced Notes on Pointers
Advanced Notes on PointersAdvanced Notes on Pointers
Advanced Notes on Pointersjtsagata
 
ΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό ΤεστΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό ΤεστNikos Michailidis
 
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠ
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠΔιαγώνισμα 1ο και 2ο κεφ ΑΕΠΠ
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠEleni Kokkinou
 
Διαγώνισμα Δομή Επιλογής 1
Διαγώνισμα Δομή Επιλογής 1Διαγώνισμα Δομή Επιλογής 1
Διαγώνισμα Δομή Επιλογής 1educast
 
41 - Βρίσκω το ποσοστό
41 - Βρίσκω το ποσοστό41 - Βρίσκω το ποσοστό
41 - Βρίσκω το ποσοστόtzormbas
 
Θέματα Πανελλαδικών Εξετάσεων 2013 στο μάθημα Συστήματα ψηφιακών.
Θέματα Πανελλαδικών Εξετάσεων 2013 στο μάθημα Συστήματα ψηφιακών.Θέματα Πανελλαδικών Εξετάσεων 2013 στο μάθημα Συστήματα ψηφιακών.
Θέματα Πανελλαδικών Εξετάσεων 2013 στο μάθημα Συστήματα ψηφιακών.Theodoros Leftheroudis
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 7
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 7Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 7
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 7Ιωάννου Γιαννάκης
 
ΠΛΗ20 ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ20 ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ20 ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ20 ΔΙΑΓΩΝΙΣΜΑ 2Dimitris Psounis
 
εντολές και-δομές-αλγορίθμου
εντολές και-δομές-αλγορίθμουεντολές και-δομές-αλγορίθμου
εντολές και-δομές-αλγορίθμουAgisilaos Tsaraboulidis
 
Δεκαδικά κλάσματα – δεκαδικοί αριθμοί
Δεκαδικά κλάσματα – δεκαδικοί αριθμοίΔεκαδικά κλάσματα – δεκαδικοί αριθμοί
Δεκαδικά κλάσματα – δεκαδικοί αριθμοίΓιάννης Φερεντίνος
 

Ähnlich wie Η Γλώσσα C - Μάθημα 3 (15)

Βασικές έννοιες προγραμματισμού
Βασικές έννοιες προγραμματισμούΒασικές έννοιες προγραμματισμού
Βασικές έννοιες προγραμματισμού
 
Advanced Notes on Pointers
Advanced Notes on PointersAdvanced Notes on Pointers
Advanced Notes on Pointers
 
Python - Bασικές Aρχές Προγραμματισμού - Κεφ. 3
Python - Bασικές Aρχές Προγραμματισμού - Κεφ. 3Python - Bασικές Aρχές Προγραμματισμού - Κεφ. 3
Python - Bασικές Aρχές Προγραμματισμού - Κεφ. 3
 
Plir b
Plir bPlir b
Plir b
 
ΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό ΤεστΑΕΠΠ: 3ο Επαναληπτικό Τεστ
ΑΕΠΠ: 3ο Επαναληπτικό Τεστ
 
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠ
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠΔιαγώνισμα 1ο και 2ο κεφ ΑΕΠΠ
Διαγώνισμα 1ο και 2ο κεφ ΑΕΠΠ
 
Διαγώνισμα Δομή Επιλογής 1
Διαγώνισμα Δομή Επιλογής 1Διαγώνισμα Δομή Επιλογής 1
Διαγώνισμα Δομή Επιλογής 1
 
41 - Βρίσκω το ποσοστό
41 - Βρίσκω το ποσοστό41 - Βρίσκω το ποσοστό
41 - Βρίσκω το ποσοστό
 
Python variables
Python variablesPython variables
Python variables
 
Θέματα Πανελλαδικών Εξετάσεων 2013 στο μάθημα Συστήματα ψηφιακών.
Θέματα Πανελλαδικών Εξετάσεων 2013 στο μάθημα Συστήματα ψηφιακών.Θέματα Πανελλαδικών Εξετάσεων 2013 στο μάθημα Συστήματα ψηφιακών.
Θέματα Πανελλαδικών Εξετάσεων 2013 στο μάθημα Συστήματα ψηφιακών.
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 7
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 7Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 7
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 2 7
 
ΠΛΗ20 ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ20 ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ20 ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ20 ΔΙΑΓΩΝΙΣΜΑ 2
 
εντολές και-δομές-αλγορίθμου
εντολές και-δομές-αλγορίθμουεντολές και-δομές-αλγορίθμου
εντολές και-δομές-αλγορίθμου
 
ΑΕΠΠ - Βασικές έννοιες προγραμματισμού
ΑΕΠΠ - Βασικές έννοιες προγραμματισμούΑΕΠΠ - Βασικές έννοιες προγραμματισμού
ΑΕΠΠ - Βασικές έννοιες προγραμματισμού
 
Δεκαδικά κλάσματα – δεκαδικοί αριθμοί
Δεκαδικά κλάσματα – δεκαδικοί αριθμοίΔεκαδικά κλάσματα – δεκαδικοί αριθμοί
Δεκαδικά κλάσματα – δεκαδικοί αριθμοί
 

Mehr von Dimitris Psounis

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣDimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Dimitris Psounis
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)Dimitris Psounis
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣDimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣDimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Dimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CDimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 Dimitris Psounis
 

Mehr von Dimitris Psounis (20)

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
 

Kürzlich hochgeladen

Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptx
Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptxΞενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptx
Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptxDimitraKarabali
 
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHRODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHROUT Family
 
Διαχείριση χρόνου παιδιών
Διαχείριση χρόνου                    παιδιώνΔιαχείριση χρόνου                    παιδιών
Διαχείριση χρόνου παιδιώνDimitra Mylonaki
 
Οι στόχοι των παιδιών
Οι στόχοι των                       παιδιώνΟι στόχοι των                       παιδιών
Οι στόχοι των παιδιώνDimitra Mylonaki
 
ΣΔΕ Ιεράπετρας ερωτηματολόγιο - ecomobility .docx
ΣΔΕ Ιεράπετρας ερωτηματολόγιο - ecomobility .docxΣΔΕ Ιεράπετρας ερωτηματολόγιο - ecomobility .docx
ΣΔΕ Ιεράπετρας ερωτηματολόγιο - ecomobility .docxtheologisgr
 
Παρατήρηση Κυττάρων στο Μικροσκόπιο _ παρουσίαση /Observation of cells under ...
Παρατήρηση Κυττάρων στο Μικροσκόπιο _ παρουσίαση /Observation of cells under ...Παρατήρηση Κυττάρων στο Μικροσκόπιο _ παρουσίαση /Observation of cells under ...
Παρατήρηση Κυττάρων στο Μικροσκόπιο _ παρουσίαση /Observation of cells under ...Areti Arvithi
 
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptxΕκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx7gymnasiokavalas
 
ΣΔΕ Ιεράπετρας παρουσίαση - ecomobility.pptx
ΣΔΕ Ιεράπετρας παρουσίαση - ecomobility.pptxΣΔΕ Ιεράπετρας παρουσίαση - ecomobility.pptx
ΣΔΕ Ιεράπετρας παρουσίαση - ecomobility.pptxtheologisgr
 
Η Δυναστεία των Παλαιολόγων - Βυζαντινή Αυτοκρατορία
Η Δυναστεία των Παλαιολόγων -  Βυζαντινή ΑυτοκρατορίαΗ Δυναστεία των Παλαιολόγων -  Βυζαντινή Αυτοκρατορία
Η Δυναστεία των Παλαιολόγων - Βυζαντινή Αυτοκρατορίαeucharis
 
ΕΡΓΑΣΙΑ ΜΑΘΗΤΩΝ ΓΥΜΝΑΣΙΟΥ ΖΗΠΑΡΙΟΥ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITY
ΕΡΓΑΣΙΑ ΜΑΘΗΤΩΝ ΓΥΜΝΑΣΙΟΥ ΖΗΠΑΡΙΟΥ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITYΕΡΓΑΣΙΑ ΜΑΘΗΤΩΝ ΓΥΜΝΑΣΙΟΥ ΖΗΠΑΡΙΟΥ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITY
ΕΡΓΑΣΙΑ ΜΑΘΗΤΩΝ ΓΥΜΝΑΣΙΟΥ ΖΗΠΑΡΙΟΥ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITYΜαρία Διακογιώργη
 
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptxΜοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx36dimperist
 
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docx
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docxΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docx
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docxAreti Arvithi
 
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίες
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίεςΕπιστολή στο Δήμαρχο και αρμόδιες υπηρεσίες
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίεςΜαρία Διακογιώργη
 
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdf
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdfΟδηγίες για τη δημιουργία Flashcard με το Quizlet.pdf
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdfIrini Panagiotaki
 
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docxΕνσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docxMichail Desperes
 
Σχολικός εκφοβισμός
Σχολικός                             εκφοβισμόςΣχολικός                             εκφοβισμός
Σχολικός εκφοβισμόςDimitra Mylonaki
 
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥΜαρία Διακογιώργη
 
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...Irini Panagiotaki
 
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdfΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdfssuserf9afe7
 

Kürzlich hochgeladen (20)

Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptx
Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptxΞενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptx
Ξενάγηση στο ιστορικό κέντρο των Ιωαννίνων.pptx
 
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHRODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
 
Λαπμπουκ .pdf
Λαπμπουκ                                                    .pdfΛαπμπουκ                                                    .pdf
Λαπμπουκ .pdf
 
Διαχείριση χρόνου παιδιών
Διαχείριση χρόνου                    παιδιώνΔιαχείριση χρόνου                    παιδιών
Διαχείριση χρόνου παιδιών
 
Οι στόχοι των παιδιών
Οι στόχοι των                       παιδιώνΟι στόχοι των                       παιδιών
Οι στόχοι των παιδιών
 
ΣΔΕ Ιεράπετρας ερωτηματολόγιο - ecomobility .docx
ΣΔΕ Ιεράπετρας ερωτηματολόγιο - ecomobility .docxΣΔΕ Ιεράπετρας ερωτηματολόγιο - ecomobility .docx
ΣΔΕ Ιεράπετρας ερωτηματολόγιο - ecomobility .docx
 
Παρατήρηση Κυττάρων στο Μικροσκόπιο _ παρουσίαση /Observation of cells under ...
Παρατήρηση Κυττάρων στο Μικροσκόπιο _ παρουσίαση /Observation of cells under ...Παρατήρηση Κυττάρων στο Μικροσκόπιο _ παρουσίαση /Observation of cells under ...
Παρατήρηση Κυττάρων στο Μικροσκόπιο _ παρουσίαση /Observation of cells under ...
 
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptxΕκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx
Εκπαιδευτική επίσκεψη στο 1ο ΕΠΑΛ Καβάλας.pptx
 
ΣΔΕ Ιεράπετρας παρουσίαση - ecomobility.pptx
ΣΔΕ Ιεράπετρας παρουσίαση - ecomobility.pptxΣΔΕ Ιεράπετρας παρουσίαση - ecomobility.pptx
ΣΔΕ Ιεράπετρας παρουσίαση - ecomobility.pptx
 
Η Δυναστεία των Παλαιολόγων - Βυζαντινή Αυτοκρατορία
Η Δυναστεία των Παλαιολόγων -  Βυζαντινή ΑυτοκρατορίαΗ Δυναστεία των Παλαιολόγων -  Βυζαντινή Αυτοκρατορία
Η Δυναστεία των Παλαιολόγων - Βυζαντινή Αυτοκρατορία
 
ΕΡΓΑΣΙΑ ΜΑΘΗΤΩΝ ΓΥΜΝΑΣΙΟΥ ΖΗΠΑΡΙΟΥ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITY
ΕΡΓΑΣΙΑ ΜΑΘΗΤΩΝ ΓΥΜΝΑΣΙΟΥ ΖΗΠΑΡΙΟΥ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITYΕΡΓΑΣΙΑ ΜΑΘΗΤΩΝ ΓΥΜΝΑΣΙΟΥ ΖΗΠΑΡΙΟΥ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITY
ΕΡΓΑΣΙΑ ΜΑΘΗΤΩΝ ΓΥΜΝΑΣΙΟΥ ΖΗΠΑΡΙΟΥ ΓΙΑ ΤΟ ΔΙΑΓΩΝΙΣΜΟ ECOMOBILITY
 
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptxΜοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx
Μοσχομύρισε το σχολείο. Πασχαλινά κουλουράκια από τους μαθητές της Γ΄ τάξης.pptx
 
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docx
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docxΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docx
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΠΑΡΑΤΗΡΗΣΗ ΚΥΤΤΑΡΩΝ ΣΤΟ ΜΙΚΡΟΣΚΟΠΙΟ.docx
 
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίες
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίεςΕπιστολή στο Δήμαρχο και αρμόδιες υπηρεσίες
Επιστολή στο Δήμαρχο και αρμόδιες υπηρεσίες
 
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdf
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdfΟδηγίες για τη δημιουργία Flashcard με το Quizlet.pdf
Οδηγίες για τη δημιουργία Flashcard με το Quizlet.pdf
 
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docxΕνσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
Ενσυνειδητότητα και εκπαίδευση για διαχείριση κρίσης στην τάξη.docx
 
Σχολικός εκφοβισμός
Σχολικός                             εκφοβισμόςΣχολικός                             εκφοβισμός
Σχολικός εκφοβισμός
 
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
ΑΛΜΠΟΥΜ ΦΩΤΟΓΡΑΦΙΩΝ ΑΠΟ ΤΙΣ ΔΡΑΣΕΙΣ ΤΩΝ ΜΑΘΗΤΩΝ ΚΑΤΑ ΤΗ ΔΙΑΡΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ
 
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...
Οδηγίες για τη δημιουργία διαδραστικών δραστηριοτήτων με την εφαρμογή Wordwal...
 
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdfΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
 

Η Γλώσσα C - Μάθημα 3

  • 1. H ΓΛΩΣΣΑ C Μάθηµα 3: Μεταβλητές και Σταθερές ∆ηµήτρης Ψούνης
  • 2. Περιεχόµενα Μαθήµατος Α. Μεταβλητές 1. Ονόµατα Μεταβλητών 2. Τύποι ∆εδοµένων 1. Τύποι Αριθµητικών ∆εδοµένων 1. Προσηµασµένοι Ακέραιοι 2. Μη Προσηµασµένοι Ακέραιοι 3. Πραγµατικοί Αριθµοί 2. Άλλοι Τύποι ∆εδοµένων 3. ∆ήλωση Μεταβλητών 1. Εντολή ∆ήλωσης Μεταβλητών 2. Παραδείγµατα 3. ∆ήλωση µε Αρχικοποίηση 4. Που δηλώνουµε τις µεταβλητές 4. Συνώνυµα τύπων δεδοµένων 1. Η λέξη κλειδί typedef Β. Σταθερές 1. Αριθµητικές Σταθερές 2. Συµβολικές Σταθερές 1. Η οδηγία #define 2. H λέξη-κλειδί const Γ. Ασκήσεις 2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές
  • 3. Στόχος του Μαθήµατος 3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Κάθε πρόγραµµα αποθηκεύει δεδοµένα στην µνήµη προκειµένου να τα χρησιµοποιήσει για να κάνει τους υπολογισµούς του. Η C χρησιµοποιεί δύο τρόπους για να αποθηκεύσει τα δεδοµένα της: Τις µεταβλητές, που είναι θέσεις αποθήκευσης δεδοµένων στις οποίες µπορούµε να παρέµβουµε και να αλλάξουµε την τιµή τους, όσες φορές θέλουµε κατά τη διάρκεια εκτέλεσης του προγράµµατος. Τις σταθερές, που είναι θέσεις αποθήκευσης δεδοµένων στις οποίες δεν µπορούµε να παρέµβουµε και σε όλη την διάρκεια του προγράµµατος έχουν την ίδια τιµή. Την τιµή αυτή την δηλώνουµε στην αρχή του προγράµµατος Πρέπει να διαχωρίσουµε εξαρχής στο µυαλό µας, ότι κάθε µεταβλητή έχει το όνοµα της (π.χ η µεταβλητή x), που έχει µία θέση µνήµης (π.χ. η x είναι στη θέση µνήµης 1000), στην οποία αποθηκεύεται η τιµή της µεταβλητής (π.χ x=3) και έχει και έναν τύπο δεδοµένων (π.χ η x είναι ακέραια) x c y 2 64 1000 1004 1008
  • 4. A. Μεταβλητές 1. Ονόµατα Μεταβλητών 4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Κάθε µεταβλητή έχει ένα όνοµα. Μπορούµε να χρησιµοποιήσουµε (σχεδόν) οποιοδήποτε όνοµα θέλουµε, σεβόµενοι τους ακόλουθους κανόνες: Το όνοµα µπορεί να χρησιµοποιεί τους ακόλουθους χαρακτήρες (και µόνον αυτούς) Γράµµατα (a-z, A-Z) Ψηφία (0-9) Το underscore ( _ ) Το όνοµα υποχρεωτικά πρέπει να ξεκινάει µε γράµµα ή µε underscore (όχι ψηφίο). Τα κεφαλαία-µικρά έχουν σηµασία (case-sensitive). Έτσι η µεταβλητή sum θα είναι διαφορετική από την µεταβλητή sUm και από την µεταβλητή Sum. ∆εν µπορούν να χρησιµοποιηθούν οι λέξεις-κλειδια της γλώσσας (ονόµατα τύπων δεδοµένων, include κ.λπ.)
  • 5. A. Μεταβλητές 1. Ονόµατα Μεταβλητών 5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Συµβουλές: Είναι καλή τακτική, να χρησιµοποιούµε ονόµατα που σχετίζονται µε την λειτουργία των µεταβλητών. Π.χ. Αν θέλουµε να αποθηκεύσουµε σε µια µεταβλητή το άθροισµα κάποιων τιµών, είναι προτιµότερο να ονοµάσουµε την µεταβλητή sum, παρά να την ονοµάσουµε µε ένα ξερό π.χ. z. Σπάνια χρησιµοποιούµε κεφαλαία γράµµατα για µεταβλητές. Έχουν επικρατήσει τα µικρά γράµµατα Έχουν επικρατήσει δύο στυλ γραφής των µεταβλητών όταν θέλουµε 2 λέξεις στις µεταβλητές για να τις περιγράψουµε: Nα τις χωρίζουµε µε _, π.χ. interest_rate Να τις κάνουµε 2 λέξεις, µε την δεύτερη να αρχίζει µε κεφαλαίο π.χ. interestRate
  • 6. A. Μεταβλητές 2. Τύποι ∆εδοµένων 6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Ανάλογα µε τα δεδοµένα που θέλουµε να αποθηκεύσουµε πρέπει να χρησιµοποιήσουµε και διαφορετικό τύπο µεταβλητής. Με τον όρο τυποι δεδοµένων ονοµάζουµε τους διαφορετικούς τύπους µεταβλητών που µπορούµε να χρησιµοποιήσουµε. Είναι δική µας ευθύνη να επιλέξουµε τον τύπο δεδοµένων των µεταβλητών. Αν θέλουµε να αποθηκεύσουµε σε µια µεταβλητή τον βαθµό µας σε ένα µάθηµα, πρέπει να χρησιµοποιήσουµε µια ακέραια µεταβλητή διότι ο βαθµός µας είναι ακέραιος. Αν θέλουµε να αποθηκεύσουµε σε µια µεταβλητή το επιτόκιο ενός δανείου, πρέπει να χρησιµοποιήσουµε µια πραγµατική µεταβλητή µικρής ακρίβειας, χωρίς να µας ενδιαφέρει η ακρίβεια πολλών δεκαδικών ψηφίων γιατί µας αρκούν – συνήθως - 2 δεκαδικά ψηφία Αν θέλουµε να αποθηκεύσουµε σε µια µεταβλητή τα πρώτα 15 ψηφία του αρρητου αριθµού π, θα χρειαστούµε µια πραγµατική µεταβλητή διπλής ακρίβειας κ.ο.κ.
  • 7. A. Μεταβλητές 2. Τύποι ∆εδοµένων 1. Τύποι Αριθµητικών ∆εδοµένων 7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Η C έχει πολλούς τύπους δεδοµένων µε τους οποίους µπορούµε να αποθηκεύσουµε αριθµούς. Όσο µεγαλύτερη πληροφορία θέλουµε να αποθηκεύσουµε σε έναν αριθµό, τόσο περισσότερα bytes απαιτούνται στην µνήµη από τον αριθµό. Οι αριθµητικές µεταβλητές χωρίζονται σε δύο µεγάλες κατηγορίες: Τις ακέραιες µεταβλητές που αποθηκεύουµε ακέραιες τιµές (char, int, long, short) Τις κλασµατικές µεταβλητές που αποθηκεύουµε δεκαδικές τιµές (float, double) Ειδικά για τις ακέραιες µεταβλητές όλες οι παραπάνω χωρίζονται σε προσηµασµένες και µη προσηµασµένες
  • 8. A. Μεταβλητές 2. Τύποι ∆εδοµένων 1. Τύποι Αριθµητικών ∆εδοµένων (1.Προσηµασµένοι Ακέραιοι) 8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Οι προσηµασµένες ακέραιες µεταβλητές, επιτρέπουν την αποθήκευση και αρνητικών αριθµών. Σηµείωση: Τα bytes που αντιστοιχούν όπως φαίνεται στον πίνακα εξαρτώνται από το σύστηµα µας, αλλά συνήθως είναι όπως φαίνεται εδώ: Όνοµα Τύπου ∆εδοµένων Συµβολισµός bytes Εύρος τιµών Χαρακτήρας char 1 -128 εώς 127 Μικρός Ακέραιος short 2 -32768 εώς 32767 Ακέραιος int 4 -2147483648 εώς 2147438647 Μεγάλος Ακέραιος long 4 -2147483648 εώς 2147438647
  • 9. A. Μεταβλητές 2. Τύποι ∆εδοµένων 1. Τύποι Αριθµητικών ∆εδοµένων (2.Μη Προσηµασµένοι Ακέραιοι) 9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Οι µη προσηµασµένες ακέραιες µεταβλητές, επιτρέπουν την αποθήκευση µόνο θετικών αριθµών. Έτσι ξεκινούν από το 9 και επιτρέπουν την αποθήκευση διπλάσιας τιµής σε σχέση µε τις προσηµασµένες. Όνοµα Τύπου ∆εδοµένων Συµβολισµός bytes Εύρος τιµών Μη προσηµασµένος Χαρακτήρας unsigned char 1 0 εώς 255 Μη προσηµασµένος Μικρός Ακέραιος unsigned int 2 0 εώς 65535 Μη προσηµασµένος Ακέραιος unsigned int 2 0 εώς 65535 Μη προσηµασµένος Μεγάλος Ακέραιος unsigned long 4 0 εώς 4294967295
  • 10. A. Μεταβλητές 2. Τύποι ∆εδοµένων 1. Τύποι Αριθµητικών ∆εδοµένων (3.Πραγµατικοί Αριθµοί) 10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Οι πραγµατικές µεταβλητές είναι δύο κατηγοριών float και double µε µόνη διαφορά τα bytes (άρα και την ακρίβεια) κάθε τύπου δεδοµένων. Πρακτικά: Οι float αποθηκεύουν ικανοποιητικά µέχρι 7 ψηφία Οι double µέχρι 19 ψηφία. Όνοµα Τύπου ∆εδοµένων Συµβολισµός bytes Εύρος τιµών Κινητής Υποδιαστολής Μονής Ακρίβειας float 4 1.2x10-38 εώς 3.4x1038 Κινητής Υποδιαστολής ∆ιπλής Ακρίβειας double 8 2.2x10-308 εώς 1.8x10308 Κινητής Υποδιαστολής Μονής Ακρίβειας float 4 1.2x10-38 εώς 3.4x1038 Κινητής Υποδιαστολής ∆ιπλής Ακρίβειας double 8 2.2x10-308 εώς 1.8x10308
  • 11. A. Μεταβλητές 2. Τύποι ∆εδοµένων 1. Τύποι Αριθµητικών ∆εδοµένων 11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Η πληθώρα τύπων δεδοµένων µας δίνει περιθώρια για ευέλικτο προγραµµατισµό ανάλογα µε τις ανάγκες του προγράµµατος. ∆εν σηµαίνει ότι πρέπει να επιλέξουµε οπωσδήποτε τον καλύτερο τύπο δεδοµένων για την κάθε περίπτωση. Πρακτικά στα περισσότερα προγράµµατα για να αποθηκεύσουµε αριθµούς θα αρκεστούµε στους τύπους δεδοµένων: int: για τις ακέραιες µεταβλητές long: αν πρόκειται να αποθηκευτούν µεγάλες τιµές ακεραίων float: για δεκαδικούς αριθµούς µικρής ακρίβειας double: για δεκαδικούς αριθµούς µεγάλης ακρίβειας
  • 12. A. Μεταβλητές 2. Τύποι ∆εδοµένων 1. Τύποι Αριθµητικών ∆εδοµένων 12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Το ακόλουθο πρόγραµµα προβάλλει στην οθόνη τα µεγέθη σε bytes των τύπων δεδοµένων που µελετήσαµε. Ο τελεστής sizeof που χρησιµοποιείται επιστρέφει τα bytes του τύπου που δέχεται ως όρισµα.(θα τον µελετήσουµε σε επόµενο µάθηµα πιο αναλυτικά) Εκτελέστε το πρόγραµµα και κάντε αντιπαραβολή µε τους πίνακες των διαφανειών. /* sizes.c: Provallei stin othoni ta megethi se bytes twn tipwn dedomenvn */ #include <stdio.h> main() { printf("nTa bytes enos char einai: %d", sizeof(char)); printf("nTa bytes enos short einai: %d", sizeof(short)); printf("nTa bytes enos int einai: %d", sizeof(int)); printf("nTa bytes enos long einai: %d", sizeof(long)); printf("nTa bytes enos unsigned short einai: %d", sizeof(unsigned short)); printf("nTa bytes enos unsigned int einai: %d", sizeof(unsigned int)); printf("nTa bytes enos unsigned long einai: %d", sizeof(unsigned long)); printf("nTa bytes enos float einai: %d", sizeof(float)); printf("nTa bytes enos double einai: %d", sizeof(double)); }
  • 13. A. Μεταβλητές 2. Τύποι ∆εδοµένων 2. Άλλοι τύποι ∆εδοµένων 13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Εκτός από τους αριθµητικούς τύπους δεδοµένων (που αποθηκευουν αριθµούς), υπάρχουν και τύποι δεδοµένων που: Αποθηκευουν χαρακτήρες και συµβολοσειρές (ακολουθίες χαρακτήρων). Θα τις δούµε αναλυτικά σε επόµενο µάθηµα. Οριζόµενες από τον χρήστη. ∆ηλαδή ο χρήστης µπορεί να ορίσει δικούς του τύπους δεδοµένων. Θα τις δούµε σε επόµενο µάθηµα.
  • 14. A. Μεταβλητές 3. ∆ήλωση Μεταβλητών 1. Εντολή ∆ήλωσης Μεταβλητής 14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Προτού χρησιµοποιήσουµε µια µεταβλητή, θα πρέπει να την δηλώσουµε. Η δήλωση µιας µεταβλητής γίνεται µε µια εντολή της µορφής: όπου τύπος_δεδοµένων κάποιος από αυτούς που είδαµε στην προηγούµενη ενότητα και όνοµα_µεταβλητής είναι το όνοµα που επιλέγουµε εµείς σεβόµενοι τους κανόνες που έχουµε αναφέρει Είναι δυνατό να ορίσουµε και παραπάνω από µία µεταβλητές του ίδιου τύπου σε µία γραµµή, χωρίζοντας τα ονόµατα των µεταβλητών µε κόµµατα: Ο παραπάνω κώδικας ορίζει 3 µεταβλητές µε τα αντίστοιχα ονόµατα και οι µεταβλητές είναι του τύπου δεδοµένων. τυπος_δεδοµένων όνοµα_µεταβλητής; τυπος_δεδοµένων όν_µετ1, ον_µετ2, ον_µετ3;
  • 15. A. Μεταβλητές 3. ∆ήλωση Μεταβλητών 2. Παραδείγµατα 15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Το ακόλουθο τµήµα κώδικα: ∆ηλώνει 3 ακέραιες µεταβλητές µε ονόµατα x,y,z Και 2 αριθµούς κινητής υποδιαστολής µονής ακρίβειας µε ονόµατα percent, amount Επίσης το ακόλουθο τµήµα κώδικα: Κάνει ακριβώς την ίδια ενέργεια µε το παραπάνω τµήµα κώδικα. int x,y,z; float percent, amount; int x; int y; int z; float percent, amount; Η εντολή δήλωσης µεταβλητής ισοδυναµεί µε τη δέσµευση της µνήµης από το µεταγλωττιστή, τη συσχέτιση του χώρου αποθήκευσης µε το όνοµα της µεταβλητής. Έτσι η εντολή: int x,y,z αντιστοιχεί στην εικόνα µνήµης: x z y
  • 16. A. Μεταβλητές 3. ∆ήλωση Μεταβλητών 3. ∆ήλωση µε Αρχικοποίηση 16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Είναι σηµαντικό να καταλάβουµε ότι µια έντολη δήλωσης: Απλά δεσµεύει τον χώρο για να αποθηκευτεί η µεταβλητή ∆εν δίνει τιµή στην µεταβλητή. Έτσι αρχικά η µεταβλητή, έχει όπως λέµε «σκουπίδια», δηλαδή έχει ότι περιείχαν τα bytes της προτού δεσµευθεί ο χώρος της. Για το λόγο αυτό συχνά είναι χρήσιµο µε το που δηλώνουµε µια µεταβλητή να αρχικοποιούµε µε κατάλληλη τιµή: Π.χ. Η δήλωση ∆ηλώνει µια ακέραια µεταβλητή και της αναθέτει την τιµή 5 Ενώ η δήλωση ∆ηλώνει δύο πραγµατικές µεταβλητές µε τιµές 5.5 και 4.44 αντίστοιχα. int x=5; float y=5.5, z=4.44;
  • 17. A. Μεταβλητές 3. ∆ήλωση Μεταβλητών 3. ∆ήλωση µε Αρχικοποίηση 17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Η δήλωση ∆ηλώνει µια ακέραια µεταβλητή x και εκχωρεί σε αυτήν την τιµή 5. Αυτό µπορεί εναλλακτικά να γίνει και µε τις ακόλουθες γραµµές κώδικα: Προσοχή! Το = είναι ο τελεστής καταχώρησης (ή τελεστής εκχώρησης) που δίνει στην µεταβλητή που είναι αριστερά του, την τιµή που βρίσκεται δεξιά του. (∆εν έχει λοιπόν καµία σχέση µε την γνωστή µαθηµατική µας ισότητα) Έτσι οι δύο παραπάνω τρόποι είναι ισοδύναµοι µεταξύ τους. int x=5; int x; x=5;
  • 18. A. Μεταβλητές 3. ∆ήλωση Μεταβλητών 4. Που δηλώνουµε µεταβλητές 18∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Στο µάθηµα 12: Εµβέλεια Μεταβλητών, θα δούµε ότι ανάλογα µε το που δηλώνουµε τις µεταβλητές επηρεάζεται ο τρόπος που χρησιµοποιούνται από το πρόγραµµα µας. Εδώ θα δούµε αρχικά ότι υπάρχουν δύο τύποι µεταβλητών: Οι καθολικές µεταβλητές στις οποίες έχουν πρόσβαση και η main και όλες οι συναρτήσεις. Οι καθολίκές µεταβλητές, δηλώνονται ακριβώς πριν την main Οι τοπικές µεταβλητές, τις οποίες δηλώνει κάποια συνάρτηση και στις οποίες έχουν πρόσβαση µόνο η συνάρτηση. Οι τοπικές µεταβλητές δηλώνονται στο σώµα της συνάρτησης χρήστη( ή της main) αµέσως µετά το άγκιστρο που ανοίγει το σώµα της συνάρτησης χρήστη (ή της main αντίστοιχα) Το σχήµα της επόµενης διαφάνειας συνοψίζει τους κανόνες αυτούς
  • 19. A. Μεταβλητές 3. ∆ήλωση Μεταβλητών 4. Που δηλώνουµε µεταβλητές 19∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Στο µάθηµα 12: Εµβέλεια Μεταβλητών, θα δούµε ότι ανάλογα µε το που δηλώνουµε τις µεταβλητές επηρεάζεται ο τρόπος που χρησιµοποιούνται από το πρόγραµµα µας. Εδώ θα δούµε αρχικά ότι υπάρχουν δύο τύποι µεταβλητών: Οι καθολικές µεταβλητές στις οποίες έχουν πρόσβαση και η main και όλες οι συναρτήσεις. Οι καθολίκές µεταβλητές, δηλώνονται ακριβώς πριν την main Οι τοπικές µεταβλητές, τις οποίες δηλώνει κάποια συνάρτηση και στις οποίες έχουν πρόσβαση µόνο η συνάρτηση. Οι τοπικές µεταβλητές δηλώνονται στο σώµα της συνάρτησης χρήστη( ή της main) αµέσως µετά το άγκιστρο που ανοίγει το σώµα της συνάρτησης χρήστη (ή της main αντίστοιχα) Το σχήµα της επόµενης διαφάνειας συνοψίζει τους κανόνες αυτούς #include <stdio.h> int function(int x); // Το πρωτότυπο µιας συνάρτησης int g; /* Η g είναι καθολική. Σε αυτήν έχει πρόσβαση και η main και η συνάρτηση f */ main() { int m; /* Η m είναι τοπική. Σε αυτήν έχει πρόσβαση µόνο η main */ ...(Εντολές της main)... } int function(int x) // Το σώµα της συνάρτησης { int k; /* H k είναι τοπική µεταβλητή. Σε αυτήν έχει πρόσβαση µόνο η συνάρτηση f() */ ...(Εντολές της function)... }
  • 20. A. Μεταβλητές 4. Συνώνυµα τύπων δεδοµένων 1. Η λέξη-κλειδί typedef 20∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές H C µας δίνει το δικαίωµα να ορίσουµε ένα συνώνυµο ενός τύπου δεδοµένων. Η εργασία αυτή γίνεται µε την typedef που συντάσσεται ως εξής: Με την εντολή αυτή ορίζουµε ότι ο τύπος δεδοµένων µε όνοµα νεο_ονοµα_Τ∆ θα έχει ακριβώς την ίδια συµπεριφορά µε τον υπάρχοντα τύπο δεδοµένων µε όνοµα παλιο_όνοµα_Τ∆ Για παράδειγµα µε την εντολή Μπορούµε να γράφουµε στο πρόγραµµά µας, αντί για int τον τύπο δεδοµένων akeraios, που θα έχει την ίδια συµπεριφορά µε το int Οι εντολές typedef πρέπει να βρίσκονται ακριβώς µετά τις οδηγίες #include στην αρχή του προγράµµατός µας. Μεταγλωττίστε και εκτελέστε το παράδειγµα της επόµενης διαφάνειας που αναδεικνύει την χρήση της typedef. typedef παλιο_ονοµα_Τ∆ νεο_ονοµα_Τ∆; typedef int akeraios;
  • 21. A. Μεταβλητές 4. Συνώνυµα τύπων δεδοµένων 1. Η λέξη-κλειδί typedef 21∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Στο µάθηµα 12: Εµβέλεια Μεταβλητών, θα δούµε ότι ανάλογα µε το που δηλώνουµε τις µεταβλητές επηρεάζεται ο τρόπος που χρησιµοποιούνται από το πρόγραµµα µας. Εδώ θα δούµε αρχικά ότι υπάρχουν δύο τύποι µεταβλητών: Οι καθολικές µεταβλητές στις οποίες έχουν πρόσβαση και η main και όλες οι συναρτήσεις. Οι καθολίκές µεταβλητές, δηλώνονται ακριβώς πριν την main Οι τοπικές µεταβλητές, τις οποίες δηλώνει κάποια συνάρτηση και στις οποίες έχουν πρόσβαση µόνο η συνάρτηση. Οι τοπικές µεταβλητές δηλώνονται στο σώµα της συνάρτησης χρήστη( ή της main) αµέσως µετά το άγκιστρο που ανοίγει το σώµα της συνάρτησης χρήστη (ή της main αντίστοιχα) Το σχήµα της επόµενης διαφάνειας συνοψίζει τους κανόνες αυτούς /* typedef.c: Paradeigma xrisis tis entolis typedef */ #include <stdio.h> typedef int akeraios; main() { akeraios x,y,z; printf("Dwste enan akeraio: "); scanf("%d",&x); printf("Dwste akomi enan akeraio: "); scanf("%d",&y); z=x+y; printf("To athroisma toys einai: %d", z); }
  • 22. A. Μεταβλητές 4. Συνώνυµα τύπων δεδοµένων 1. Η λέξη-κλειδί typedef 22∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές mτέτοιου τύπου χρήσεις ωστόσο δεν είναι χρήσιµες. Τους βασικούς τύπους δεδοµένων θα πρέπει να µάθουµε να τους χρησιµοποιούµε ως έχουν. Ωστόσο για δευτερεύοντες τύπους δεδοµένων (όπως τύπους δεδοµένων που καθορίζονται από τον χρήστη), ο ορισµός συνωνύµων µέσω της typedef θα µας φανεί ιδιαίτερα χρήσιµος!
  • 23. Β. Σταθερές 1. Αριθµητικές σταθερές 23∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Ήδη στα προηγούµενα παραδείγµατα, είδαµε πολλές φορές να γράφουµε έναν αριθµό στο πρόγραµµα (προκειµένου π.χ. να τον αποθηκεύσουµε σε µία µεταβλητή) Η απεικόνιση αριθµών στην C, είναι η πρώτη κατηγορία σταθερών, οι λεγόµενες αριθµητικές σταθερές, όπου αναφερόµαστε σε έναν αριθµό απλά καταγράφοντας τον. Υπάρχουν 3 ειδών αριθµητικές σταθερές (δηλαδή αριθµοί) που µπορούµε να γράψουµε στο πρόγραµµα µας: Οι ακέραιοι αριθµοι. Όταν γράφουµε έναν ακέραιο αριθµό στο πρόγραµµα µας π.χ. 2, η C καταλαβαίνει ότι πρέπει να αποθηκευτεί προσωρινά σε έναν χώρο αποθήκευσης ακεραίου (int) Οι πραγµατικοί αριθµοί. Η C αντιλαµβάνεται έναν πραγµατικό αριθµό µε 2 τρόπους: Βάζοντας τελεία ( . ) για να απεικονίσουµε την υποδιαστολή (π.χ. 3.45) ∆ίνοντας την επιστηµονική µορφή του αριθµού (π.χ. 1.23e6 που απεικονίζει τον αριθµό 1.23x106=1230000)
  • 24. Β. Σταθερές 2. Συµβολικές Σταθερές 24∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Μια συµβολική σταθερά είναι µια σταθερά που έχει ένα όνοµα, σε αντίθεση µε τις αριθµητικές σταθερές που είναι ένας ξερός αριθµός. Για παράδειγµα αν γράφουµε ένα πρόγραµµα που θα χρησιµοποιήσει τον αριθµό π (π.χ. αν υπολογίζουµε το εµβαδόν ενός κύκλου), θα θέλαµε να απεικονίσουµε τον αριθµό σε µία µεταβλητή Ωστόσο η τιµή αυτής της µεταβλητής δεν πρόκειται να αλλάξει ποτέ στην διάρκεια του προγράµµατος. Για το λόγο αυτό θα αποθηκεύσουµε την µεταβλητή αυτή ως σταθερά. Υπάρχουν δύο ειδών συµβολικές σταθερές, που ορίζονται µέσω: Της οδηγία #define Της λέξης κλειδί const m.και οι δύο τρόποι χρησιµοποιούνται εξίσου συχνά. Η διαφορά τους θα γίνει πλήρως κατανοητή σε επόµενα µαθήµατα, αλλα θα δούµε τώρα ότι: Με την #define ορίζουµε σταθερά που την βλέπει υποχρεωτικά όλο το πρόγραµµα (όλες οι συναρτήσεις) Με την const µπορούµε να ορίσουµε σταθερά που την επεξεργάζεται µόνο µια συγκεκριµένη συνάρτηση.
  • 25. Β. Σταθερές 2. Συµβολικές Σταθερές 1. Η οδηγία #define 25∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Μπορούµε να ορίσουµε µια στάθερα µέσω της οδηγία #define ακολουθώντας την σύνταξη: Για παράδειγµα το π θα το ορίσουµε µε την δήλωση: Προσοχή! Μετά την δήλωση δεν βάζουµε ερωτηµατικό! Οι δηλώσεις #define γράφονται αµέσως µετά τις δηλώσεις #include. Η ακριβής λειτουργία της define είναι ότι ο µεταγλωττιστής αναζητά κάθε εµαφάνιση της PI στο πρόγραµµα και την αντικαθιστά µε την αριθµητική τιµή. Κάνει δηλαδή την ίδια ενέργεια µε το να πηγαίναµε µε το χέρι και να αντικαταστήσουµε τις εµφανίσεις της PI µε την συγκεκριµένη τιµή #define ΟΝΟΜΑ_ΣΤΑΘΕΡΑΣ ΤΙΜΗ_ΣΤΑΘΕΡΑΣ #define PI 3.1415
  • 26. Β. Σταθερές 2. Συµβολικές Σταθερές 2. Η λέξη-κλειδί const 26∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Μία οποιαδήποτε µεταβλητή µπορούµε να την ορίσουµε ως σταθερά, αν γνωρίζουµε η τιµή της δεν πρόκειται να αλλάξει κατά την διάρκεια εκτέλεσης του προγράµµατος. Ο καθορισµός ότι η µεταβλητή µετατρέπεται σε σταθερά γίνεται προσθέτοντας την λέξη κλειδί const µπροστά από την δήλωση της µεταβλητής. Προσοχή! Μία σταθερά θα πρέπει να αρχικοποιείται οπωσδήποτε κατά την δήλωσή της! Έτσι µια ακεραια σταθερά µε την τιµή 100 δηλώνεται ως εξής: Μπορούµε να έχουµε σταθερά οποιουδήποτε τύπου δεδοµένων! ∆ήλωση σταθεράς µε την λέξη const µπορούµε να έχουµε στα σηµεία όπου επιτρέπεται δήλωση µεταβλητών (αρχή συναρτήσεων και πριν την main) const int x=100;
  • 27. Β. Σταθερές 2. Συµβολικές Σταθερές 2. Η λέξη-κλειδί const 27∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Σε µεγάλα προγράµµατα είναι συχνό να κρατάµε άµυνες για να αποφύγουµε λάθη που θα είναι δύσκολο να εντοπιστούν Ο ορισµός µεταβλητών ως σταθερών µε χρήση της λεξης κλειδί const είναι µια συνηθισµένη πολιτική Πράγµατι έστω ότι δηλώνουµε µια σταθερά στην αρχή ενός προγράµµατος. Τότε αν επιχειρήσουµε να αλλάξουµε την τιµή της σε επόµενη γραµµή κώδικα, ο µεταγλωττιστής θα διαµαρτυρηθεί! Έτσι έχουµε µια άµυνα, αφού ούτε εµείς οι ίδιοι δεν θα µπορέσουµε να αλλάξουµε την τιµή της, όταν γράφουµε τον κώδικα. Μελετήστε συστηµατικά το πρόγραµµα της επόµενης διαφάνειας. Συγκεντρώνει όλες τις πληροφορίες για την δοµή ενός προγράµµατος C, ενσωµατώνοντας όλα τα χαρακτηριστικά που έχουµε αναφέρει.
  • 28. Β. Σταθερές 4. Συµβολικές Σταθερές 2. Η λέξη-κλειδί const 28∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Σε µεγάλα προγράµµατα είναι συχνό να κρατάµε άµυνες για να αποφύγουµε λάθη που θα είναι δύσκολο να εντοπιστούν Ο ορισµός µεταβλητών ως σταθερών µε χρήση της λεξης κλειδί const είναι µια συνηθισµένη πολιτική Πράγµατι έστω ότι δηλώνουµε µια σταθερά στην αρχή ενός προγράµµατος. Τότε αν επιχειρήσουµε να αλλάξουµε την τιµή της σε επόµενη γραµµή κώδικα, ο µεταγλωττιστής θα διαµαρτυρηθεί! Έτσι έχουµε µια άµυνα, αφού ούτε εµείς οι ίδιοι δεν θα µπορέσουµε να αλλάξουµε την τιµή της, όταν γράφουµε τον κώδικα. Μελετήστε συστηµατικά το πρόγραµµα της επόµενης διαφάνειας. Συγκεντρώνει όλες τις πληροφορίες για την δοµή ενός προγράµµατος C, ενσωµατώνοντας όλα τα χαρακτηριστικά που έχουµε αναφέρει. /* statheres.c: Programma poy deixnei tin xrisi statherwn */ #include <stdio.h> //1.grafoume ta arxeia kefalidas #define N 100 //2.Grafoume odigies define statherwn //3. Edw mporoume na orisoume katholikes metavlites //4. Edw mporoume na orisoyme prwtotipa sinartisewn main() { //5.1 Dilwsi statherwn kai metavlitwn tis main int i,sum; const int number=10; //5.2 entoles tis main for (i=number; i<=N; i++) sum=sum+i; printf("To athroisma twn arithmwn [%d..%d] einai %d",number,N,sum); getchar(); } //6. Edw tha exoyme ta swmata twn sinartisewn
  • 29. Γ. Ασκήσεις Εφαρµογή 1 29∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 3: Μεταβλητές και Σταθερές Γράψτε ένα πρόγραµµα C το οποίο: 1. ∆ηλώνει µία σταθερά µε τιµή 100 µε χρήση της const 2. ∆ηλώνει µια ακέραια µεταβλητή 3. ∆ιαβάζει την τιµή της ακέραιας µεταβλητής από το πληκτρολόγιο 4. Εκτυπώνει στην οθόνη τις τιµές της σταθεράς και της µεταβλητής