Εισαγωγή - Τα Βασικά της C1 Τ.Ε.Ι. ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Τ.Ε.Ι. ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ «Προγραμματισμός.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Το αλφαριθμητικό (string)
Βασικές Έννοιες Προγραμματισμού
Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
Τύποι δεδομένων και τελεστές,
Ένα απλό πρόγραμμα σε C /* ********************************************* * This program prints out the sentence “This is a test.” * *********************************************
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΜΑΘ 3122 (106) Γλώσσα προγραμματισμού
Γλώσσα Προγραμματισμού
Τύποι πραγματικών αριθμών
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΤΕΛΕΣΤΕΣ - ΕΚΦΡΑΣΕΙΣ ΜΑΘΗΜΑ 4.
ΜΕΤΑΒΛΗΤΕΣ - ΤΥΠΟΙ ΜΑΘΗΜΑ 3.
ΕΠΑΝΑΛΗΨΗΕΠΑΝΑΛΗΨΗ ΠΡΟΓΡΑΜΜΑΤΑ. ΠΡΟΓΡΑΜΜΑ 1 ΕΞΗΓΗΣΤΕ ΤΙ ΕΞΟΔΟ ΠΑΡΑΓΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ #include int main() { char ch; int i; float fl; printf("dose.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Φυσικές και τεχνητές γλώσσες.
Ενότητα Α.4. Δομημένος Προγραμματισμός
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΜΑΘ 3122/106 – Γλώσσα Προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Διαφάνειες παρουσίασης #2
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Τύ π οι Μεταβλητών Τελεστές Βασική Είσοδος / Έξοδος.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Συγγραφείς Α.Βακάλη Η. Γιαννόπουλος Ν. Ιωαννίδης Χ.Κοίλιας Κ. Μάλαμας Ι. Μανωλόπουλος Π. Πολίτης Γ΄ τάξη.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αλφαριθμητικά (Strings)
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 ο. Βασικές έννοιες προγραμματισμού Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ «Εισαγωγή στον οντοκεντρικό προγραμματισμό (βασική εισαγωγή στο περιβάλλον εργασίας)» Ρουσσάκης Ιωάννης, ΤΕΙ Κρήτης,
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
ΔΠΘ-ΤΜΗΜΑ ΜΠΔ: ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ 1 Εισαγωγή στη γλώσσα Προγραμματισμού C ΠΙΝΑΚΕΣ (arrays)
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στην Python.
Προτάσεις, εκφράσεις, τελεστές Βασικά στοιχεία ελέγχου προγράμματος
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Δεδομένα, μεταβλητές, υπολογισμοί
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Τεχνολογία και Προγραμματισμός Υπολογιστών
Δομές.
Ενισχυτική διδασκαλία
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Τύποι Μεταβλητών.
Τεχνολογία και Προγραμματισμός Υπολογιστών
Τεχνολογία και Προγραμματισμός Υπολογιστών
Τεχνολογία και Προγραμματισμός Υπολογιστών
ΣΥΝΑΡΤΗΣΕΙΣ (Functions)
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΤΗ C
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Εισαγωγή στον Προγ/μό Υπολογιστών
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Εντολές και δομές αλγορίθμου
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Τύποι δεδομένων και τελεστές,
Μεταγράφημα παρουσίασης:

Εισαγωγή - Τα Βασικά της C1 Τ.Ε.Ι. ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Τ.Ε.Ι. ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ «Προγραμματισμός Ι» Herbert Schildt, «Οδηγός της C», Εκδ. Μ. Γκιούρδας, 3η έκδοση.

ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C Γλώσσα υψηλής απόδοσης δομημένου προγραμματισμού Πύλη για τις γλώσσες C++ & Java Εφευρέτης Dennis Ritchie τη δεκαετία του ‘70 Προτυποποιήθηκε (ANSI C) τη δεκαετία του ‘90 Γλώσσα μεσαίου επιπέδου Assembly  C  Visual Basic Assembly: Συμβολική μορφή εντολών hardware Visual Basic: Γλώσσα προγρ/σμού Windows εφαρμογών Σχέση μεταξύ C & C++

Δομή Προγράμματος (1) Γλώσσα C  Εντολές προεπεξεργαστή  Δηλώσεις συναρτήσεων  Δηλώσεις μεταβλητών  Κυρίως πρόγραμμα  Ορισμοί συναρτήσεων main ( ) { - δηλώσεις μεταβλητών - προτάσεις γλώσσας }

Δομή Προγράμματος (2) Κυρίως πρόγραμμα  Είσοδος δεδομένων  Επεξεργασία δεδομένων  Έξοδος αποτελεσμάτων Προτάσεις γλώσσας

ΤΑ ΣΥΣΤΑΤΙΚΑ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΗΣ C - 1 Δομικό στοιχείο ενός προγράμματος C είναι οι συναρτήσεις Κάθε μία από αυτές περιέχει 1 ή περισσότερες εντολές Οι εντολές τερματίζονται με ; Η γενική μορφή μίας συνάρτησης της C: τύπος-επιστρεφόμενης τιμής όνομα-συνάρτησης(λίστα-παραμέτρων) { κορμός-συνάρτησης (εντολές) } Αποδεκτοί τύποι δεδομένων Αποδεκτή ονοματολογία συναρτήσεων και η συνάρτηση main() Ο κορμός ενός προγράμματος και οι συναρτήσεις Βιβλιοθήκης

Ένα απλό πρόγραμμα #include int k = 0; float f; int n=10; int a; main ( ) { int i ; for ( i = 1; i < n ; i++) { scanf (“%d”, &a); k = k + a;} f = k/n; printf (“%f”, f); } Εντολή προεπεξεργαστή Δηλώσεις μεταβλητών Εισαγωγή δεδομένων Επεξεργασία δεδομένων Έξοδος δεδομένων Κυρίως πρόγραμμα

ΤΑ ΣΥΣΤΑΤΙΚΑ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΤΗΣ C - 2 Συναρτήσεις εισόδου/εξόδου π.χ. printf(“αλφαριθμητικό”); Οι ντιρεκτίβες του προεπεξεργαστή της C Το πρώτο πρόγραμμα σε C: #include int main(void) { printf("This is a short C program."); return 0; } #include int main(void) { printf("This is "); printf("another C "); printf("program."); return 0; }

ΔΗΜΙΟΥΡΓΙΑ ΚΑΙ ΜΕΤΑΓΛΩΤΤΙΣΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Μοντέρνοι έναντι παραδοσιακών μεταγλωττιστών Μοντέρνοι (Windows): Όλα τα αναλαμβάνει το περιβάλλον Παραδοσιακοί (DOS, UNIX, LINUX): 1. Συγγραφή προγράμματος σε κειμενογράφο 2. Μεταγλώττιση προγράμματος 3. Εκτέλεση (τρέξιμο) προγράμματος Π.χ. bcc test.c (με Borland C++) cl test.c (με Microsoft Visual C++) Κάθε μία από αυτές περιέχει 1 ή περισσότερες εντολές Μεταγλώττιση C προγράμματος με C++ μεταγλωττιστή Προσοχή στην κατάληξη των αρχείων πηγαίου κώδικα. Μηνύματα λάθους και προειδοποιήσεις Αποτέλεσμα της μεταγλώττισης είναι το εκτελέσιμο αρχείο

Στοιχεία Γλώσσας Προγραμματισμού Αλφάβητο  Οι χαρακτήρες από τους οποίους σχηματίζονται οι λέξεις της γλώσσας Λεξιλόγιο  Οι λέξεις που χρησιμοποιεί η γλώσσα Συντακτικό  Οι κανόνες σύνταξης των προτάσεων της γλώσσας Σημασιολογία  Οι κανόνες ερμηνείας των προτάσεων της γλώσσας

Λεξιλόγιο-Κατηγορίες λέξεων Δεσμευμένες λέξεις (reserved words)  Λέξεις κλειδιά (π.χ. int, if, for)  Ονόματα συναρτήσεων βιβλιοθήκης (π.χ. printf, isdigit)  Ονόματα εντολών προεπεξεργαστή (π.χ. include, define) Αναγνωριστές (identifiers)  Ονόματα μεταβλητών, σταθερών, συναρτήσεων, τα οποία δίνονται από τον προγραμματιστή Τελεστές (operators)  Ειδικά σύμβολα που παριστάνουν μια συγκεκριμένη στοιχειώδη διεργασία που εκτελείται σε δεδομένα

Κανόνες Δημιουργίας Αναγνωριστών Αποτελούνται από γράμματα, αριθμούς και τον ειδικό χαρακτήρα “_”. Αρχίζουν πάντα από γράμμα ή “_” Δεν μπορεί να είναι ίδια με κάποια δεσμευμένη λέξη Διάκριση μικρών και κεφαλαίων Όριο μήκους (π.χ. 31 για ANSI C) class1 Class-1 2classClass_1 class#1 ClAsS1 Παραδείγματα

Αναγνωριστές-Αναγνωσιμότητα x = 20; if (x > y) function1(); else function2(); baros = 20; if (baros < max_baros) ADD _baros(); else DECREASE _baros();

Δεδομένα (1) Είναι αυτά που δίνονται, τα γνωστά, η ακατέργαστη γνωστή πληροφορία, με την επεξεργασία της οποίας θα παραχθούν τα αποτελέσματα (η λύση του προβλήματος) Δεδομένα = τιμές ή πλειάδες τιμών που σχετίζονται με τις οντότητες του προβλήματος

Μεταβλητές (1) Είναι υπολογιστικές οντότητες μέσω των οποίων χρησιμοποιούνται τα δεδομένα. Το περιεχόμενο (τιμή) μιας μεταβλητής μπορεί να μεταβάλλεται κατά τη διάρκεια εκτέλεσης ενός προγράμματος Η χρήση των μεταβλητών πηγάζει από την ανάγκη για  αποθήκευση δεδομένων  ανάκληση αποθηκευμένων δεδομένων

Μεταβλητές (2) Οι μεταβλητές αποτελούν αναφορά  σε μια θέση μνήμης  στο περιεχόμενο μιας θέσης μνήμης Χαρακτηριστικά μεταβλητής  το όνομά της (θέση μνήμης)  η τιμή της (περιεχόμενο) Οι μεταβλητές παριστάνουν οντότητες του προβλήματος που επιλύει το πρόγραμμα Π.χ. Πρόβλημα υπολογισμού της επιφάνειας ενός ορθογωνίου. Οντότητες: μήκος, πλάτος, εμβαδόν Μεταβλητές: mikos, platos, embadon

Σταθερές-Τιμές Σταθερές (constants) είναι υπολογιστικές οντότητες που έχουν σταθερή τιμή κατά τη διάρκεια εκτέλεσης ενός προγράμματος (Π.χ. PI για το 3.14) Τιμές (literals) είναι δεδομένα που δεν χρειάζονται αποθήκευση, χρησιμοποιούνται όπως είναι (Π.χ. Οι αριθμοί 2, 3.5)

Τύποι Δεδομένων Τα δεδομένα δεν έχουν όλα τις ίδιες ιδιότητες, δεν είναι του ίδιου τύπου Τύπος δεδομένων = πεδίο τιμών+τρόποι διαχείρισης = πεδίο τιμών+πράξεις Τύποι δεδομένων  βαθμωτοί ή ατομικοί ή πρωτογενείς  συναθροιστικοί ή σύνθετοι

Πρωτογενείς Τύποι Δεδομένων ακέραιος (int) πραγματικός (float, double) χαρακτήρας (char) λογικός (η C δεν διαθέτει)

Γιατί τύποι δεδομένων; Οικονομία χώρου λόγω διαφορετικής αποθήκευσης Καλύτερος έλεγχος κατά τη μετάφραση και εκτέλεση του προγράμματος

Προτάσεις Προεπεξεργαστή Ειδικές προτάσεις (δεν τελειώνουν σε ;) Εκτελούν κάποια επεξεργασία του πηγαίου κώδικα πριν τη μεταγλώττιση Πρόταση συμπερίληψης  #include > ή #include “ ” Π.χ. #include, #include Πρόταση μακρο-αντικατάστασης  #define Π.χ. #define PI , #define sq(x) x * x (πρβλ. sq(x+1))

ΔΗΛΩΣΗ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΕΚΧΩΡΗΣΗ ΤΙΜΩΝ - 1 Μεταβλητή είναι μία επώνυμη θέση στην μνήμη Στην C αποτελεί νόμο: «Δήλωση πριν την Χρήση» Η C υποστηρίζει πέντε βασικούς τύπους δεδομένων: ΤύποςΔεσμευμένη λέξη χαρακτήραςchar προσημασμένος ακέραιοςint αριθμός κινητής υπο/λήςfloat αρ. κιν. υπο/λής, διπλής ακρίβειαςdouble απουσία τιμήςvoid Δήλωση (αποτελεί εντολή): τύπος όνομα-μεταβλητής; Παράδειγμα: int counter; Θέσεις δήλωσης μεταβλητών & προσπέλαση τους 1. Μέσα σε συναρτήσεις (local variables) 2. Έξω από όλες τις συναρτήσεις (global variables) Δημιουργία κατά την κλήση – Καταστροφή κατά τον τερματισμό

ΔΗΛΩΣΗ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΕΚΧΩΡΗΣΗ ΤΙΜΩΝ - 2 Πολλαπλή δήλωση μεταβλητών Π.χ. float x, y, z; Ονοματολογία μεταβλητών όμοια με συναρτήσεις (0-9 όχι στην αρχή, γράμματα αλφαβήτου και κάτω παύλα) Η C είναι case-sensitive Π.χ. int count, COUNT; Eκχώρηση τιμών (αποτελεί εντολή): όνομα-μεταβλητής = τιμή; Παράδειγματα: counter = 100; fl = 100.1; fl = 100.0; Κάτι ακόμα για τη συνάρτηση εξόδου printf() printf("This prints the number %d", 99); printf("This displays %d, too", 99); % - Κωδικός μορφοποίησης Άλλοι κωδικοί: %c για χαρακτήρες & %f για αριθμούς κινητής υποδιαστολής

Δήλωση Μεταβλητής ή = ; Π.χ. float mikos, platos, embadon; int i = 1; Μεταβλητές που δεν αλλάζουν τιμή (Σταθερές) Π.χ. const float pi = 3.14; διαχωριστικό ;

Τύποι Δεδομένων (data type) int – integer  όλοι οι ακέραιοι (...,-2,-1,0,1,2,...) μέχρι τα όρια που καθορίζονται από το υλικό του υπολογιστή συνήθως (16 bit) Αριθμοί κινητής υποδιαστολής (floating-point numbers)  float  double – double-precision floating point (32 bit)

Τύπος ‘ακέραιος’ Αναπαράσταση ακεραίων, θετικών ή αρνητικών, αριθμών Λέξη κλειδί: int Εύρος: εξαρτάται από το μήκος λέξης του Η/Υ. Π.χ. για λέξη 16-bit: ως ή 0 ως Προσδιοριστές: short, long, unsigned Ακέραιες τιμές: της χειρίζεται σαν ακέραιους αριθμούς, ανάλογα με το μέγεθος. Π.χ. την 125 την χειρίζεται σαν int, ενώ την σαν long int (μπορούμε όμως να επιβάλουμε τον τύπο χειρισμού, π.χ. 6524L)

Τύπος ‘πραγματικός’ Αναπαράσταση πραγματικών αριθμών Εκφράσεις  Σταθερής υποδιαστολής: ,  Εκθετικής ή επιστημονικής μορφής: e+02, 3.5e-2 Λέξεις κλειδιά  float: απλής ακρίβειας (6-7 δεκαδικά ψηφία)  double: διπλής ακρίβειας (14-15 δεκαδ. ψηφία) Προσδιοριστές: long για το double Πραγματικές τιμές: θεωρούνται σαν double Π.χ. 0.13, 56.48, 8e-3, 15e05, 0.004e-04

Τύπος ‘χαρακτήρας’ Αναπαράσταση απλών χαρακτήρων του αλφαβήτου της γλώσσας Λέξη κλειδί: char Η C χειρίζεται τους χαρακτήρες σαν ακεραίους. Κάθε χαρακτήρας θεωρείται σαν ακέραιος με τιμή τον αντίστοιχο κωδικό ASCII (στο δεκαδικό σύστημα)

Τιμές (Σταθερές) Ο τύπος μιας τιμής (σταθεράς) είναι φανερός, αναγνωρίζεται άμεσα, από την εμφάνισή της, δεν χρειάζεται δήλωση Π.χ. 123  int 25865L  long int  double 123.5f  float ‘A’  char

Ανάθεση-Καταχώρηση Σύμβολο ανάθεσης/καταχώρησης: ‘=’ Διαβάζεται «γίνεται» Σύνταξη = ; Π.χ. mikos = 5; embadon = mikos * platos; Ο τύπος της μεταβλητής πρέπει να είναι συμβατός με τον τύπο του αποτελέσματος της έκφρασης Αποτέλεσμα: αλλαγή της τιμής της μεταβλητής x = x +1; (τι σημαίνει;)

Είσοδος δεδομένων Είσοδος ακεραίων: scanf (“%d”, &num); Είσοδος πραγματικών: scanf (“%f”, &num); Προσδιοριστές: %f, %e, %g Είσοδος χαρακτήρων: scanf (“%c”, &ch); τελεστής διεύθυνσης Εντολή/Συνάρτηση scanf: scanf (“ ”, & );

Έξοδος αποτελεσμάτων (1) Εντολή/Συνάρτηση printf: printf (“ ”, ); Έξοδος ακεραίων: printf (“%d”, num); Προσδιοριστές: %d, %x, %o Έξοδος πραγματικών: printf (“%f”, num); Προσδιοριστές: %f, %e, %g Έξοδος χαρακτήρων: printf (“%c”, ch); (χαρακτήρας) printf (“%d”, ch); (Κωδικός ASCII) Προσδιοριστές: %c, %d

Έξοδος αποτελεσμάτων (2) Προσδιοριστές μορφής εκτύπωσης  Οθόνης: ‘\t’, ‘\n’  Αριθμών: % (καθορισμός πλάτους πεδίου). Π.χ. %3d %[ ][. ] (καθορισμός πλάτους πεδίου και δεκαδικών ψηφίων). Π.χ. %6.1f, %.2f, %6f

ΠΑΡΑΔΕΙΓΜΑ-ΠΡΟΓΡΑΜΜΑ #include main () { int num; printf (“Δώσε ένα αριθμό μεταξύ 65 και 90: \t”); scanf (“%d”, &num); printf (“\nΧαρακτήρας: %c\t ASCII κωδικός: %d”, num, num); }

ΑΠΟΤΕΛΕΣΜΑ Δώσε ένα αριθμό μεταξύ 65 και 90: 66 Χαρακτήρας: ΒΚωδικός: 66 Το πληκτρολογεί ο χρήστης

Hello World Σχόλια  κείμενο μεταξύ /* και */ Συμπεριλήψεις βιβλιοθηκών  πρότυπες βιβλιοθήκες  “…” προσωπικές βιβλιοθήκες Κυρίως πρόγραμμα  συνάρτηση (function) main  αρχή και τέλος συνάρτησης {..}  εντολές (statements) /* Αρχείο hello.c * Εμφανίζει στην οθόνη το * μήνυμα hello world */ #include #include “genlib.h” main() { printf(“Hello, world.\n”); }

printf Κλήση της συνάρτησης printf που συμπεριλαμβάνεται στη βιβλιοθήκη stdio.h H printf εμφανίζει δεδομένα στην οθόνη  το όρισμα (argument) της συνάρτησης printf καθορίζει τι ακριβώς θα εμφανίσει στην οθόνη  Το “Hello, world.\n” είναι μια ακολουθία χαρακτήρων ή αλφαριθμητικό (string)  To \n είναι ένας ειδικός χαρακτήρας που ονομάζεται αλλαγή γραμμής (newline)

ΔΗΛΩΣΗ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΕΚΧΩΡΗΣΗ ΤΙΜΩΝ #include int main(void) { int num; num = 100; printf("The value is %d", num); return 0; } #include int main(void) { char ch; float f; double d; ch = 'X'; f = ; d = ; printf("ch is %c, ", ch); printf("f is %f, ", f); printf("d is %f", d); return 0; }

ΕΙΣΟΔΟΣ ΑΡΙΘΜΩΝ ΑΠΟ ΤΟ ΠΛΗΚΤΡΟΛΟΓΙΟ scanf(“%d”, &όνομα-μεταβλητής-int); Π.χ. int num; scanf("%d", &num); scanf(“%f”, &όνομα-μεταβλητής-float); Π.χ. float fl; scanf("%f", &fl); scanf(“%lf”, &όνομα-μεταβλητής- double); Π.χ. double dbl; scanf("%lf", &dbl); #include int main(void) { int num; float f; printf("Enter an integer: "); scanf("%d", &num); printf("Enter a floating point number: "); scanf("%f", &f); printf("%d ", num); printf("%f", f); return 0; }

ΕΚΤΕΛΕΣΗ ΥΠΟΛΟΓΙΣΜΩΝ ΜΕ ΑΡΙΘΜΗΤΙΚΕΣ ΕΚΦΡΑΣΕΙΣ - 1 Η C ορίζει ένα εκτεταμένο σύνολο αριθμητικών τελεστών: ΤελεστήςΣημασία +πρόσθεση -αφαίρεση & μοναδιαίος τελεστής *πολλαπλασιασμός /διαίρεση %υπόλοιπο διαίρεσης ακεραίων Εκφράσεις στη δεξιά πλευρά εντολών εκχώρησης Π.χ. int answer; answer = 100 * 31; Προτεραιότητα πράξεων – Οι τελεστές *, /, % έχουν υψηλότερη προτεραιότητα από τους +, - Χρησιμοποιείτε παντού παρενθέσεις! Π.χ.10 – 2 * 5 (10 – 2) * 5 Μία έκφραση μπορεί να περιέχει μεταβλητές, σταθερές ή συνδυασμό Π.χ. answer = count - 100;

ΕΚΤΕΛΕΣΗ ΥΠΟΛΟΓΙΣΜΩΝ ΜΕ ΑΡΙΘΜΗΤΙΚΕΣ ΕΚΦΡΑΣΕΙΣ - 2 Παράδειγμα 1: #include int main(void) { printf("%d", 5/2); printf(" %d", 5%2); printf(" %d", 4/2); printf(" %d", 4%2); return 0; } Παράδειγμα 2: count *num+88/val-19%count (count * num) + (88 / val) - (19 % count)

ΕΚΤΕΛΕΣΗ ΥΠΟΛΟΓΙΣΜΩΝ ΜΕ ΑΡΙΘΜΗΤΙΚΕΣ ΕΚΦΡΑΣΕΙΣ - 3 Παράδειγμα 3: #include int main(void) { int len, width; printf("Enter length: "); scanf("%d", &len); printf("Enter width: "); scanf("%d", &width); printf("Area is %d", len * width); return 0; } Παράδειγμα 4: #include int main(void) { int i; i = 10; i = -i; printf("This is i: %d", i); return 0; }

ΠΡΟΣΘΗΚΗ ΣΧΟΛΙΩΝ ΣΕ ΕΝΑ ΠΡΟΓΡΑΜΜΑ /* This is a comment. */ /* This is a longer comment that extends over five lines. */ /* this is a comment /* this is another comment nested inside the first -- which will cause a syntax error */ with a nested comment */ pri/* wrong */ntf("this won't work"); /* This program converts earth days into Jovian years. */ #include int main(void) { float e_days; /* number of earth days */ float j_years; /* equivalent number of Jovian years */ /* get number of earth days */ printf("Enter number of earth days: "); scanf("%f", &e_days); /* now, compute Jovian years */ j_years = e_days / (365.0 * 12.0); /* display the answer */ printf("Equivalent Jovian years: %f", j_years); return 0; }