Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:"— Μεταγράφημα παρουσίασης:

1 ΛΟΓ102: Τεχνολογία Λογισμικού Ι nickie@softlab.ntua.gr Διδάσκων: Νίκος Παπασπύρου http://www.softlab.ntua.gr/~nickie/TUC/log102/ 1Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Διαφάνειες παρουσίασης #1 4 Ιστορία και γενικά χαρακτηριστικά της C 4 Hello world! 4 Εκτέλεση προγραμμάτων 4 Απλοί τύποι δεδομένων 4 Ορισμός μεταβλητών, αρχικοποίηση, σταθερές

2 2Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Η ιστορία της C 1969-1973AT&T Bell Labs, Dennis Ritchie 1978 “The C Programming Language” K&R: Kernighan & Ritchie 1983Σύσταση ANSI Standardization Committee X3J11 1989-1990Αποδοχή ANSI/ISO Standard  ANSI C 1990-Αναθεώρηση του standard υπό εξέλιξη. C9X.

3 3Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Χαρακτηριστικά της C(i) u Γλώσσα προστακτικού προγραμματισμού u Γλώσσα μετρίου επιπέδου u Οικονομία στην έκφραση (λιτή και περιεκτική) u Σχετικά χαλαρό σύστημα τύπων u Φιλοσοφία: ο προγραμματιστής έχει πλήρη έλεγχο και ευθύνεται για τα σφάλματά του

4 4Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Χαρακτηριστικά της C(ii) u Ιδιαίτερα δημοφιλής στην πράξη u Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέως φάσματος συστημάτων και εφαρμογών u Έχει χρησιμοποιηθεί ως βάση για πληθώρα άλλων γλωσσών: C++, Java

5 5Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Hello world! #include void main () { printf("Hello world!\n"); } u Παρατηρήσεις l Η επικοινωνία με τον «έξω» κόσμο γίνεται μέσω της βιβλιοθήκης συναρτήσεων l Το σημείο έναρξης του προγράμματος είναι η «κύρια» συνάρτηση main.

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

7 7Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Τύποι δεδομένων (απλοί) u Ακέραιοι αριθμοί intchar u Καθορισμός προσήμανσης signedunsigned u Καθορισμός μεγέθους shortlong u Αριθμοί κινητής υποδιαστολής floatdouble

8 8Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Πίνακας απλών τύπων δεδομένων char, signed char, unsigned char signed short int, unsigned short int signed int, unsigned int signed long int, unsigned long int float double long double u Με κόκκινο χρώμα όσα μπορούν να παραλειφθούν.

9 9Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Ορισμός μεταβλητών int x; int x, y, z; double r; unsigned long abc;  Αρχικοποίηση int x = 1; int x, y = 0, z = 2; double r = 1.87; unsigned long abc = 42000000;

10 10Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Σταθερές(i) u Ακέραιες 420-1 δεκαδικές 037 οκταδικές 0x1f δεκαεξαδικές 42U42L42UL unsigned & long u Κινητής υποδιαστολής 42.0-1.3 δεκαδικές 2.99e8 με δύναμη του 10 42.0F42.0L float & long double

11 11Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Σταθερές(ii) u Χαρακτήρα 'a''0''$' u Ειδικοί χαρακτήρες \n αλλαγή γραμμής \' απόστροφος \\ χαρακτήρας \ (backslash) \t αλλαγή στήλης (tab) \" εισαγωγικό \0 χαρακτήρας με ASCII = 0 (null) \037 » με ASCII = 37 (οκταδικό) \0x1f » με ASCII = 1f (δεκαεξαδικό)

12 12Νίκος ΠαπασπύρουΛΟΓ102: Τεχνολογία Λογισμικού Ι Σταθερές(iii) u Συμβολοσειρές "abc""Hello world!\n""a\"51\"" u Δηλώσεις σταθερών const int size = 10, num = 5; const double pi = 3.14159; const char newline = '\n'


Κατέβασμα ppt "ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google