Κεφάλαιο 2.1-2.4: Εισαγωγή στην C. ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Σχετικά έγγραφα
Κεφάλαιο : Εισαγωγή στην C: (Διαλέξεις 3-4)

3 &4. Εισαγωγήστη C Ιωάννης Κατάκης

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Προγραμματισμό για ΗΜΥ

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

ΕΠΛ 034: Εισαγωγήστον ΠρογραµµατισµόγιαΗΜΥ

Η Γλώσσα C Μία Σφαιρική Ανασκόπηση

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Δομημένος Προγραμματισμός (ΤΛ1006)

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΠαράδειγµαΠρογραµµατισµού

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Αντικειµενοστρεφής Προγραµµατισµός

Λειτουργικά Συστήματα

Δομημένος Προγραμματισμός

Μεθόδων Επίλυσης Προβλημάτων

Δομημένος Προγραμματισμός

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Η γλώσσα προγραμματισμού C

Διδάσκων: Δημήτριος Βαρσάμης

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραµµατισµός. Αλγόριθµοι και Προγράµµατα

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Ανάπτυξη και Σχεδίαση Λογισμικού

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Γλώσσα Προγραμματισμού C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός Η/Υ (ΤΛ2007 )

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός σε C++

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Ενδεικτική περιγραφή μαθήματος

Συναρτήσεις και διαδικασίες

Στόχοι και αντικείμενο ενότητας. Συντακτικό Γλώσσας. Αλφάβητο. #2.. Εισαγωγή στη C (Μέρος Πρώτο)

Μεθόδων Επίλυσης Προβλημάτων

Διαδικασία Ανάπτυξης Λογισμικού

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Δομημένος Προγραμματισμός (ΤΛ1006)

Εισαγωγή στον Προγραμματισμό

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)

Επανάληψη για τις Τελικές εξετάσεις

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Προγραμματισμός Η/Υ. Ενότητα 2α: Εισαγωγή στη C (Μέρος Πρώτο)

TMHMA TEXNΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛ/ΝΙΩΝ Προγραμματισμός Ι ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ , Α ΕΞΑΜΗΝΟ Βασίλης Μποζαντζής. Βασίλης Μποζαντζής

Κεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11)

Δεδομένα, Τύποι και Τιμές

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εισαγωγή στον Προγραμματισμό

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Αλγόριθμοι. Χρυσόστομος Στύλιος. Εργαστήριο Γνώσης και Ευφυούς Πληροφορικής. Δομές Δεδομένων & Αλγόριθμοι 1

Διαδικασιακός Προγραμματισμός

Προγραμματισμός Ι (ΗΥ120)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

ΑΣΚΗΣΗ 2: ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΣΤΗ C

Προγραμματισμό για ΗΜΥ

Προγραμματισμός Υπολογιστών με C++

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Ι. Πολλαπλά Αρχεία. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΤΟΥΣ

B. Ενσωμάτωση Ιθαγενών Μεθόδων

Προγραμματισμός Ι (ΗΥ120)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Διάλεξη 11: Οργάνωση Προγραμμάτων σε Πολλαπλά Αρχεία

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Περιεχόμενα. Πρόλογος... 21

Τύποι Δεδομένων Είσοδος/Έξοδος

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Εισαγωγή στον Προγραμματισμό

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Προγραµµατισµός Ι (ΗΥ120)

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Κεφάλαιο 1 Εισαγωγή στη C

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Δομημένος Προγραμματισμός (ΤΛ1006)

Μεθόδων Επίλυσης Προβλημάτων

Βασικές Αρχές Προγραμματισμού

Transcript:

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Περιεχόµενα Εισαγωγή στην C: Σύνταξη και Σηµασιολογία σχόλια µεταβλητές και σταθερές τύποι δεδοµένων Μετά αυτές τις δυο διαλέξεις θα µπορείτε να γράψετε και να κατανοήσετε απλά προγράµµατα στην C!!!

Οι σχεδιαστές της C Dennis Ritchie Η γλώσσα C αναπτύχθηκε το 1972 από τον Dennis Ritchie στα ΑΤ&Τ (Bell) Laboratories.

Dennis Ritchie

Ηιστορία της C Γλώσσα γενικού σκοπού Αρχικά µεγάλη συνάφεια µε το UNIX Μεγάλο µέρος του UNIX γράφτηκε στη C Αλλά φυσικά και του Linux

Ιστορικό ιάγραµµα Γλωσσών Προγραµµατισµού

Γιατί η C? C είναι µικρή µε λίγες εντολές C είναι η γλώσσα του Unix/Linux C είναι standard C είναι φορητή C είναι ισχυρή C είναι αρθρωτή C είναι η βάση της C++ και της Java C είναι γρήγορη

ANSI C Standard H γλώσσα C είναι απλά ένα σύνολο από συντακτικούς κανόνες. Ξέρουµε όλοι ότι για να εκτελεστεί ένα πρόγραµµα C πρέπει να χρησιµοποιηθεί ένας µεταγλώττισης (compiler) Οι compilers παράγονται από διάφορες εταιρείες και οργανισµούς. Για να υπάρχει κάποιο πρότυπο, το American National Standard Institutes (ANSI) δηµιούργησε το πρότυπο Ansi C το οποίο καλούνται οι διάφορες εταιρείες να ακολουθούν. Microsoft ΑΝSI C Others ιάγραµµα VENN για µεταγλωττιστές C Borland

οµή Προγράµµατος C Α) Οδηγίες στον προεπεξεργαστή Β) ηλώσεις σταθερών Γ) Ορισµός συνάρτησης main δηλώσεις µεταβλητών εντολές (εκφράσεις, κλήσεις συναρτήσεων κτλ) ) Σχόλια

οµή προγράµµατος C Οδηγίες προεπεξεργαστή ήλωση σταθεράς Ορισµός συνάρτησης main ήλωση µεταβλητών Ακολουθία εντολών

Α) Οδηγίες προς τον προεπεξεργαστή Εισδοχή Βιβλιοθηκών #include Σύνταξη: #include <standard header file> #include <stdio.h> #include <math.h> Μία βιβλιοθήκη (library) είναι µία συλλογή χρήσιµων συναρτήσεων και συµβόλων. Άλλες βιβλιοθηκες: <time.h>, string.h, signal.h,. Οι πιο µοντέρνες γλώσσες (4ης γενιάς Java) έχουν ένα τεράστιο σύνολο από βιβλιοθήκες. Αυτό τις καθιστά ουσιαστικά πιο ισχυρές για την επίλυση προβληµάτων Άλλες διαταγές στον προ-επεξεργαστή: define, ifdef, if, else, endif, undef

Α) Οδηγίες προς τον προεπεξεργαστή Η βιβλιοθήκη stdio περιέχει, ανάµεσα σε άλλα, τις συναρτήσεις printf, για εκτύπωση πληροφοριών, και scanf, για εισδοχή πληροφοριών, καθώς επίσης όλη την λειτουργικότητα για ανάγνωση / γραφή πληροφοριών σε αρχεία. Η βιβλιοθήκη math περιέχει διάφορες µαθηµατικές συναρτήσεις.

Β) Σταθερές, Μεταβλητές και Συναρτήσεις Ένα πρόγραµµα σεc, ανεξαρτήτως µεγέθους, αποτελείται από εντολές (οργανωµένα µέσα σε συναρτήσεις -functions) και δεδοµένα (οργανωµένα µέσα σε µεταβλητές - variables). Συνάρτηση Σύνολο εντολών που προσδιορίζουν τις υπολογιστικές λειτουργίες που θα γίνουν Μεταβλητές Αποθηκεύουν τιµές που χρησιµοποιούνται κατά τον υπολογισµό. Οι τιµές προέρχονται από α) το δίσκο β) κάποια µονάδα εισόδου (πχ keyboard) γ) παράγονται κατά την διάρκεια εκτέλεσης του προγράµµατος

Β) Σταθερές VS Μεταβλητές Μεταβλητή (variables): Μια περιοχή στην µνήµη (RAM) του υπολογιστή όπου µπορούµε νααποθηκεύσουµε προσωρινά δεδοµένα. Κατά την διάρκεια εκτέλεσης αυτή η τιµή µπορεί να αλλάξει όσες φορές θέλουµε πχ ένας µετρητής, η ηλικία του χρηστή, κτλ Σταθερά (constants): Μια περιοχή στην µνήµη (RAM) του υπολογιστή όπου µπορούµε να αποθηκεύσουµε δεδοµένα τα οποία δεν αλλάζουν κατά την διάρκεια εκτέλεσης ενός προγράµµατος. Πχ. KMS_PER_MILE = 1.609 (Ένα µίλι είναι πάντοτε 1.609 χιλιόµετρα)

Ονοµασίες σε Προγράµµατα Για σταθερές, µεταβλητές, συναρτήσεις, κτλ. Κανόνες Σύνταξης: 1. Αποτελούνται από γράµµατα, δεκαδικά ψηφία και underscores ( _ ). 2. εν µπορεί να αρχίζουν µε δεκαδικό ψηφίο. 3. σύµβολα όπως &, #, $ δεν επιτρέπονται. 4. το όνοµα µιας µεταβλητής δεν µπορεί να περιέχει κενό 5. εσµευµένες λέξεις (θα εξηγηθούν αργότερα) δεν µπορούν να χρησιµοποιηθούν ως ονοµασίες για κάτι άλλο. 6. Ονοµασίες που ορίζονται σε κάποια από τις βασικές βιβλιοθήκες δεν πρέπει να ξαναορίζονται (πχ printf()) GOOD BAD RESERVED KMS_PER_MILE 1Letter double miles one new printf kms new-fn scanf

Ονοµασίες συνέχεια Η C ειναι CASE SENSITIVE, δηλαδή κεφαλαία και µικρά γράµµατα θεωρούνται διαφορετικά: fooκαι FOO είναι δυο διαφορετικά ονόµατα One, one και ONE είναι όλες διαφορετικές µεταβλητές. Χρησιµοποιείτε αυτοεπεξηγηµατικά ονόµατα Π.χ. η ονοµασία age είναι πολύ καλύτερη από την ονοµασία Α για µία µεταβλητή στην οποία θα καταχωρούνται ηλικίες.

Ονοµασία Συνέχεια: εσµευµένες Λέξεις(Reserved Words) Λέξεις µε ειδική σηµασία για την C. εν πρέπει να ορίζονται ξανά σαν ονόµατα auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Για περισσότερες Πληροφορίες: http://tigcc.ticalc.org/doc/keywords.html#auto

Ορισµοί Σταθερών Σύνταξη: #define ονοµασία τιµή #define pi 3.1453 #define false 0 #define true 1 #define KMS_PER_MILE 1.609 Η χρήση σταθερών - Αυξάνει την αναγνωσιµότητα του προγράµµατος - ιευκολύνει τροποποιήσεις

Σηµασία Σταθεράς Σταθερές έχουν: τιµή όνοµα όχι όµως διεύθυνση Μεταγλωττιστής αντικαθιστά το όνοµα µε την τιµή

Συνάρτηση main Κάθε πρόγραµµα έχει µία συνάρτηση µε το όνοµα main από όπου αρχίζει η εκτέλεση του προγράµµατος. Σύνταξη: void main (void) { σώµα συνάρτησης } #include <stdio.h> void main (void) δήλωση { int a; a = 5; printf( Hello %d\n,a); εντολή } Το σώµα µίας συνάρτησης αποτελείται από δηλώσεις (declarations) και εντολές (executable statements).

Μεταβλητές Αποθήκευση και ανάγνωση τιµών Κάθε µεταβλητή εχει: τύπο τιµή βασικοί: int, char, float, double Εξαρτάται από το λειτουργικό σύστηµα µέγεθος: 4Β, 1Β, 4Β, 8Β (καθε κυψελίδα 1 Byte)

ηλώσεις Μεταβλητών Σύνταξη: τύπος λίστα-µεταβλητών ; double miles; int count; double kms; double miles, kms; int count = 0; /* αρχικοποίηση παράλληλα µε δήλωση*/ Κάθε µεταβλητή που χρησιµοποιείται σε κάποιο πρόγραµµα χρειάζεται να δηλωθεί. Η δήλωσή της έχει ως αποτέλεσµα την παραχώρηση µνήµης για τη δηµιουργία της. Ο τύπος (double, int, κτλ) της µεταβλητής προσδιορίζει τον απαιτούµενο χώρο µνήµης.

Χρήση σχολίων σε C Σύνταξη: ξεκινούν µε /* και τελειώνουν µε */ ή // µας επιτρέπει να βάλουµε σχόλιο σε µια γραµµή Καµιά σηµασία αλλά πολύ σηµαντικό µέρος ενός προγράµµατος (τεκµηρίωση) /* auto einai ena syntaktika ortho sxolio*/ /* kai auto * einai * syntaktika * ortho */

Χρήση σχολίων σε C Παράδειγµα 1 /*program example1.c this program prints on your screen the expression University of Cyprus*/ #include <stdio.h> // use of pre-processor Int main ( ) { printf ("University of Cyprus\n"); /* printing UCY */ return 0; }

Χρήση σχολίων σε C Παράδειγµα 2 /*********************************************** ** PROJECT: P1 ** FILE NAME: example1.c ** AUTHOR: Demetris Zeinalipour ** DATE: 19 September 2005 ***********************************************/ #include <stdio.h> /*use of pre-processor*/ int main ( ) { printf ("University of Cyprus\n"); /*use of printf*/ return 0; }

Για το µάθηµα µας /************************************************* ** EPL032.1 Programmatismos Methodwn Epilyshs Provlimatwn ** AUTHOR: Demetris Zeinalipour ** ID: 1234566 ** DATE: 20 January 2006 ** FILE NAME: example1.c *************************************************/ /* this program prints on your screen the expression University of Cyprus */ #include <stdio.h> /*use of pre-processor*/ int main ( ) { printf ("University of Cyprus\n"); return 0; }

Χρήση σχολίων σε C /* auto * ti* einai */ /***********auto??? ***************/ /* lathos sxolio */ giati */ */ einai lathos??? /*

Περίληψη Βασικών Σηµείων Προγράµµατος σε C Προσοχή όλα µε µικρά ΠρόγραµµασεC #include <stdio.h> void main (void ) { printf ("University of Cyprus\n"); } γράµµατα (Lower case) Aποτέλεσµα University of Cyprus

Περίληψη Βασικών Σηµείων Προγράµµατος σε C 1. #include <stdio.h> περιέχεται στην αρχή κάθε προγράµµατος και περιλαµβάνει οδηγίες για τον προεπεξεργαστή 2. main ( ) Το σηµείο έναρξης του προγράµµατος είναι η «κύρια» συνάρτηση main. 3. { } δηλώνουν τον χώρο των εντολών, οι οποίες περιλαµβάνονται στη συνάρτηση main και πρέπει να εκτελεσθούν

Περίληψη Βασικών Σηµείων Προγράµµατος σε C 4. printf είναι µια συνάρτηση της βιβλιοθήκης της C και εµφανίζει στην οθόνη ότι δίνεται µέσα στην παρένθεση 5. \n οδηγεί τον κέρσορα (cursor) να πάει στην επόµενη γραµµή 6. ; όλες οι δηλώσεις των C-προγραµµάτων καταλήγουν σε αυτό το σύµβολο (semicolon). Χρησιµοποιείται προκειµένου να φανεί που τελειώνει µια δήλωση 7. /* */ Μεταξύ των συµβόλων αυτών γράφονται τα σχόλια.

Περίληψη Βασικών Σηµείων Προγράµµατος σε C Πηγαίος κώδικας (source) hello.c Εκτελέσιµο πρόγραµµα (executable) hello Μεταγλωττιστής C (compiler) Object code Συνδέτης (linker) hello.o stdio.h Αρχεία επικεφαλίδας (header files) printf Βιβλιοθήκη (library)

Παράδειγµα Προγραµµατισµού Γράψετε ένα πρόγραµµα που µετατρέπει κυπριακές λίρες σε ευρώ.

Κατανόηση και Αρχική Λύση Παράδειγµα: 10 λίρες, 2.12 ευρώ στην λίρα >>>>>> 21.2 ευρώ εδοµένα (εισόδου): λίρες, rate εδοµένα (εξόδου): ευρώ Υπολογισµός: ευρώ = λίρες * rate

Υλοποίηση µε γλώσσα προγραµµατισµού (C) επεξεργαστή κειµένου /* programma poy metatrepei lires se euro */ Int main() { float lires, rate; /* inputs*/ float euro; /* output*/ euro = lires * rate; return 0; } Λείπει επικοινωνία µε τον χρήστη

/* programma poy metatrepei lires se euro */ #include <stdio.h> int main() { float lires, rate; /* inputs*/ float euro; /* output*/ /* eisagwgh dedomenwn */ printf( Enter lires kai rate: ); scanf( %f%f,&lires, &rate); euro = lires * rate; /*exagwgh dedomenwn*/ printf( %.2f lires antistoixoun se %.2f euro\n, lires, euro); } return 0;

Ροή Ελέγχου /* programma poy metatrepei lires se euro */ #include <stdio.h> int main() { float lires, rate; /* inputs*/ float euro; /* output*/ /* eisagwgh dedomenwn */ printf( Enter lires kai rate: ); scanf( %f%f,&lires, &rate); euro = lires * rate; /*exagwgh dedomenwn*/ printf( %.2f lires antistoixoun se %.2f euro\n, lires, euro); } return 0;

Ροή εδοµένων /* programma poy metatrepei lires se euro */ #include <stdio.h> int main() { float lires, rate; /* inputs*/ float euro; /* output*/ /* eisagwgh dedomenwn */ printf( Enter lires kai rate: ); scanf( %f%f,&lires, &rate); euro = lires * rate; /*exagwgh dedomenwn*/ printf( %.2f lires antistoixoun se %.2f euro\n, lires, euro); } return 0;

οκιµή: Mεταγλωτισµός, Εκτέλεση > gcc exchange.c o exchange > exchange Enter lires kai rate: 100 1.78 100.00 lires antistoixoun se 178.00 euro > exchange Enter lires kai rate: 5.5 1.62634 5.50 lires antistoixoun se 8.95 euro > Κατακρίβειαν 8.94487 αλλά επειδή ζητήσαµε µόνο.2f για αυτό γίνεται rounding στο κοντινότερο δεκαδικό

Ροή Έλεγχου (control flow) Ηροή ελέγχου στην C είναι ακολουθιακής µορφής - sequential Ξεκινά από την πρώτη εντολή της main Εντολές εκτελούνται σε σειρά Υπαρχουν γλώσσες µή-ακολουθιακές αλλά δεν θα µας απασχολήσουν σε αυτό το µάθηµα.

Σηµασία Μεταβλητής τύπος int count; count = 137; count = count + 142; όνοµα (διεύθυνση) 0 98760060...... τιµή 137 279