ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C Τµήµα Πληροφορικής και Τηλεπικοινωνιών
Περιεχόµενα Εισαγωγή Πρόγραµµα Φάσεις Υλοποίησης µε χρήση του εργαλείου DEV C + + οµή Προγράµµατος Η συνάρτηση main Μεταβλητές Τι είναι µεταβλητή; Χαρακτηριστικά Μεταβλητών ηλωσεις Μεταβλητών. Βασικοί τύποι δεδοµένων στη C. Τύπος Ακεραίου- int Πραγµατικοί αριθµοί (float και double)
Φάσεις Υλοποίησης Συγγραφή πηγαίου κώδικα, δηµιουργία.c αρχείου Προεπεξεργαστής(preprocessor)- προσθέτει τα αρχεία επικεφαλίδων (header files) στο αρχείο πηγαίου κώδικα Μεταγλώττιση (compilation) -αυτοµατοποιηµένη διαδικασία µετατροπής γλώσσας υψηλού επιπέδου σε γλώσσα µηχανής, καλείται συντακτικός έλεγχος και δηµιουργείται αντικείµενο πρόγραµµα.obj αρχείο Σύνδεση τµηµάτων που αποτελούν το µοντέλο υλοποίησης (linking) αυτοµατοποιηµένη διαδικασία σύνδεσης του αντικείµενου προγράµµατος µε άλλα αντικείµενα προγράµµατα (ϐιβλιοθήκες), για να δηµιουργηθεί ένα πλήρες αντικείµενο πρόγραµµα έτοιµο για εκτέλεση (.exe) Φορτωτής (loader)- ϕορτώνει το εκτελέσιµο στην κύρια µνήµη Ελεγχος καλής λειτουργίας (διόρθωση- run time errors)
Φάσεις Υλοποίησης µε χρήση του εργαλείου DEV C++ Επιλέγω File-> New-> Source File (συντόµευση πληκτρολογίου Ctrl+N)Γράφω τον κώδικα Αποθηκεύω το αρχείο επιλέγοντας File-> SaveAs (διαλέγω το path και πληκτρολογώ το όνοµα του αρχείου). Το αρχείο ϑα έχει επέκταση.c
Compilation, linking kai loading Γίνεται αυτόµατα από τον compiler Επιλέγω Execute->Compile (συντόµευση πληκτρολογίου Ctrl+F9). ηµιουργείται αυτόµατα εκτελέσιµο αρχείο, µε όνοµα ίδιο µε αυτό του πηγαίου κώδικα, εφόσον δεν υπάρχουν συντακτικά λάθη. Για να το τρέξω επιλέγω Execute->Run (συντόµευση πληκτρολογίου Ctrl+F10) Τα δύο προηγούµενα ϐήµατα µπορούν να εκτελεστούν µε µία εντολή, επιλέγοντας Execute->Compile & Run (συντόµευση πληκτρολογίου F9 )
οµή Προγράµµατος Οι εντολές εκτελούνται µε τη σειρά Οδηγίες Προεπεξεργαστή ηλώσεις Συναρτήσεων Η ϐασική συνάρτηση main()
οµή προγράµµατος Οδηγίες προεπεξεργαστή #include... # define... τµήµα δηλώσεων ηλωσεις και ορισµοί µεταβλητών. ηλωσεις συναρτήσεων (πρωτότυπα) ορισµός της συνάρτησης main ορισµοί συναρτήσεων ΣΧΟΛΙΑ ό,τι πλαισιώνεται από /*...*/, αγνοείται από το µεταφραστή //... σχόλια γραµµής, ο µεταφρασής αγνοεί το περιεχόµενο ολόκληρης της γραµµής.
Οδηγίες προεπεξεργαστή Βασικά αρχεία επικεφαλίδων (header files) πχ #include <stdio.h> #include <stdlib.h> Αρχεία επικεφαλίδων που ορίζονται από τον προγραµµατιστή (επέκταση.h) Ορισµοί σταθερών (definitions)πχ #define pi 3.1415927 ηλώσεις συναρτήσεων ηλώσεις µεταβλητών
Η συνάρτηση main main() { declarations /* ηλώσεις µεταβλητών και σταθερών που ϑα χρησιµοποιηθούν µόνο από τη main.*/ statements /*Εντολές (σώµα της συνάρτησης).*/ system(pause); /*Την χρησιµοποιούµε για «πάγωµα» του παραθύρου.*/ return 0; /* εντολή επιστροφής.*/ }
Παράδειγµα 1 #include <stdio.h> #include <stdlib.h> int main() { system("pause"); return 0; }
Παράδειγµα 2 #include <stdio.h> #include <stdlib.h> int main() { printf(" lab one "); system("pause"); return 0; }
Τι είναι µεταβλητή; Η C επιτρέπει τη χρήση συµβολικών ονοµάτων για αναφορά στα δεδοµένα που επεξεργαζόµαστε (αντί η αναφορά να γίνεται µε κλήση διευθύνσεων µνήµης). Μια µεταβλητή αντιστοιχεί σε µια ϑέση µνήµης που έχει το όνοµα της µεταβλητής. Η αντιστοιχία συµβολικού ονόµατος και διεύθυνσης µνήµης είναι µοναδική. Οι µεταβλητές αφορούν τις ποσότητες που οι τιµές τους µπορούν να µεταβληθούν κατά τη διάρκεια εκτέλεσης του προγράµµατος.
Χαρακτηριστικά Μεταβλητών Κάθε µεταβλητή χαρακτηρίζεται από όνοµα τύπο µέγεθος τιµή
Επιτρεπτά ονόµατα µεταβλητών Πρέπει να αρχίζει µε γράµµα ή µε το χαρακτήρα υπογράµµισης Μπορεί να περιέχει γράµµατα, αριθµούς και χαρακτήρες υπογράµµισης. ε µπορεί να είναι δεσµευµένη λέξη. Στις περισσότερες υλοποιήσεις της C γίνεται διάκριση µεταξύ πεζών και κεφαλαίων γραµµάτων. Το µέγιστο πλήθος χαρακτήρων σε ένα όνοµα µεταβλητής εξαρτάται από το µεταγλωτιστή.
ηλωσεις Μεταβλητών Οι µεταβλητές δηλώνονται ως εξής: <Τύπος εδοµένων> < Ονοµα Μεταβλητής> ; Περισσότερες από µία µεταβλητές του ίδιου τύπου διαχωρίζονται µε κόµµα. Μπορούµε να αρχικοποιήσουµε µια µεταβλητή κατά τη δήλωση της.
Βασικοί τύποι δεδοµένων στη C Η C υποστηρίζει τους παρακάτω ϐασικούς τύπους δεδοµένων. ακέραιους - int πραγµατικούς - float/double χαρακτήρες - char
Τύπος Ακεραίου- int Οι ακέραιοι (integer) στη C είναι οι γνωστοι ακέραιοι από τα µαθηµατικά και µπορεί να είναι ϑετικοί ή αρνητικοί. ήλωση της µεταβλητής µε όνοµα a ως ακέραιο τύπο δεδοµένων: int a Προσδιοριστές για εκτύπωση και ανάγνωση είναι %d -για εµφάνιση σε δεκαδική µορφή %x -για εµφάνιση σε δεκαεξαδική µορφή %o -για εµφάνιση σε οκταδική µορφή άλλοι τύποι ακεραίων Για πολύ µεγάλους ακεραίους χρησιµοποιούµε long. Για πολύ µικρούς ακεραίους χρησιµοποιούµε short. Αν δε ϑέλουµε να έχουν πρόσηµο χρησιµοποιούµε unsigned.
Παράδειγµα #include <stdio.h> #include <stdlib.h> int main() { int a,b; a=3; b=64; printf("a=%d, b=%d \n",a,b); printf(" o a se dekadikh morfh einai %d \n",a); printf(" o b se oktadikh morfh einai %o \n",b); system("pause"); return (0); }
Τύπος δεδοµένων float περιλαµβάνει πραγµατικούς αριθµούς µε ακρίβεια 6 σηµαντικών ψηφίων. ήλωση της µεταβλητής a ως τύπου float: float a Προσδιοριστής %f για εµφάνιση σε fixed point µορφή (6 δεκαδικά). Εχουµε τη δυνατότητα να καθορίσουµε το πληθος των ϑέσεων που ϑα καταλαβει ένας πραγµατικός αριθµός καθώς και το πληθος των δεκαδικών ψηφίων που ϑα διαθέτει. %w.d f όπου w: πλήθος συνολικών ψηφίων d: πληθος δεκαδικών ψηφίων Προσδιοριστής %e για εµφάνιση σε επιστηµονική µορφή.
Παράδειγµα 1 #include <stdio.h> #include <stdlib.h> int main() { float x; x=15.23456; printf("x=%f \n",x); system("pause"); return(0); }
Παράδειγµα 2 #include <stdio.h> #include <stdlib.h> int main() { float x; x=15.23456; printf("x=%5.2f \n",x); system("pause"); return(0); }
Παράδειγµα 3 #include <stdio.h> #include <stdlib.h> int main() { float x; x=15.23456; printf("x=%.3f \n",x); system("pause"); return(0); }
Παράδειγµα 4 #include <stdio.h> #include <stdlib.h> int main() { float x; x=15.23456; printf("x=%e \n",x); system("pause"); return(0); }