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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

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

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

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

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

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

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

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

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

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

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

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

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

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

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

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

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

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

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

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

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

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

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

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

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

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

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

Εισαγωγή στην γλώσσα προγραμματισμού C

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

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

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

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

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

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

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

ΗΥ-150. Προγραμματισμός

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

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

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

ΗΥ-150. Προγραμματισμός

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

Προγραμματισμός I (Θ)

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

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

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

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

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 9 Ο. Διαχείριση αλφαριθμητικών και πράξεις σε επίπεδο bit ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΙΝΑΤΚΑΣ Ι.

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

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

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

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

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

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

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

Συμβολοσειρές ΣΥΜΒΟΛΟΣΕΙΡΕΣ. Γεώργιος Παπαϊωάννου ( )

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

2.1. Εντολές Σχόλια Τύποι Δεδομένων

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

Εισαγωγή στη γλώσσα προγραμματισμού C++

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Βασικές έννοιες προγραμματισμού

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

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

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

Εισαγωγή στον δομημένο προγραμματισμό

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

Δεδομένα, τελεστές, είσοδος/έξοδος

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

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

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

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

Transcript:

Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου

Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C

Αλφάβητο της C Κώδικας σε 96 ASCII χαρακτήρες Γράμματα, αριθμητικά ψηφία, άλλοι χαρακτήρες Ειδικοί χαρακτήρες γράφονται με τη βοήθεια του \ Συμβολοσειρές και σχόλια με οποιουσδήποτε χαρακτήρες Δεσμευμένες λέξεις, αναγνωριστικά, σταθερές τιμές, τελεστές, διαχωριστικά

Συμβολοσειρές (Strings) Ή αλλιώς αλφαριθμητικά Οποιοιδήποτε χαρακτήρες εντός διπλών εισαγωγικών ( ) Χρήσιμες για επικοινωνία με το χρήστη (είσοδο/έξοδο) Περισσότερα σε επόμενο μάθημα

Δεσμευμένες Λέξεις Ή αλλιώς λέξεις-κλειδιά (keywords) char, int, if, else, while, και πολλές άλλες Δε μπορούν να χρησιμοποιηθούν ως ονόματα μεταβλητών

Σχόλια Οποιοιδήποτε χαρακτήρες μεταξύ /* και του επόμενου */ Μετά από // μέχρι το τέλος της γραμμής Τα σχόλια είναι απολύτως απαραίτητα για την κατανόηση ενός προγράμματος!

Κενά Ως κενά νοούνται ο χαρακτήρας, ο χαρακτήρας στηλοθέτη ( \t ), και ο χαρακτήρας αλλαγής γραμμής ( \n ) Η χρήση κενών είναι ελεύθερη μεταξύ λέξεων και συμβόλων της C Συνιστάται η καλή χρήση κενών για πιο ευανάγνωστα προγράμματα!

Αναγνωριστικά Ονόματα μεταβλητών, συναρτήσεων και τύπων (και σταθερών ίσως ) Αλφαριθμητικοί χαρακτήρες και ο χαρακτήρας _ Τα κεφαλαία θεωρούνται διαφορετικά από τα μικρά γράμματα! Συνιστάται η χρήση αναγνωριστικών με νόημα!

Σταθερές Τιμές Οι τιμές που γράφονται στον κώδικα μη προσημασμένες ακέραιες και πραγματικές, χαρακτήρες, συμβολοσειρές και όχι οι μεταβλητές που δηλώνονται σταθερές (όπως θα δούμε παρακάτω)

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

Οι Βασικοί Τύποι της C Ακέραιοι τύποι πολλοί ακέραιοι τύποι, ή πιο σωστά πολλές παραλλαγές των ακέραιων τύπων Τύποι πραγματικών (κινητής υποδιαστολής) λιγότεροι!

Ακέραιοι Τύποι Δύο τύποι : char και int Δημιουργία πολλών παραλλαγών με τη βοήθεια προσδιοριστών Διαφόρων μεγεθών (από πολύ λίγα έως πάρα πολλά bits) Προσημασμένοι ή μη προσημασμένοι

Μέγεθος Ακεραίου Διαφοροποίηση μεταξύ συστημάτων και μεταγλωττιστών! Κοινοί τύποι: char (8 bits!), short int(16 bits?), int (32 bits?), long int (32 bits?!) Λιγότερο κοινοί τύποι: long long int(πχ σε συστήματα linux με μεταγλωττιστές gnu), int64 (πχ σε συστήματα της microsoft) Όταν υπάρχει προσδιοριστής, το int συνήθως παραλείπεται

Πρόσημο Προσημασμένοι ακέραιοι με τον προσδιοριστή signed ο προσδιοριστής signed μπορεί να παραληφθεί Μη προσημασμένοι ακέραιοι με τον προσδιοριστή unsigned

Χαρακτήρες Δεν υπάρχει ειδικός τύπος χαρακτήρα Οι χαρακτήρες υποστηρίζονται ως ακέραιοι με τον τύπο char (κωδικοποίηση σε 8 bits) άσχετα αν συνήθως γράφονται ως σταθερές μέσα σε απλά εισαγωγικά μπορούν εξίσου καλά να γραφούν ως αριθμοί (που να χωράνε σε 8 bits!) Υποστήριξη και για κωδικοποίηση 16 bits με τη μη τυποποιημένη παραλλαγή του char wchar_t

Λογικές Τιμές Και εδώ δεν υπάρχει ειδικός λογικός τύπος Οι τιμές κάθε ακέραιου τύπου μπορούν να νοηθούν ως λογικές 0 = ψευδής 0 = αληθής

Μη Τυποποιημένοι Ακέραιοι Μην εκπλαγείτε αν δείτε και άλλους ακέραιους τύπους στον υπολογιστή σας Ο τύπος long long είναι τυποποιημένος από το 1999 (λόγω της ανάγκης χρήσης αριθμών 64 bits) Άλλοι μη τυποποιημένοι ακέραιοι τύποι συνήθως είναι συνώνυμοι των τυποποιημένων

Τύποι Κινητής Υποδιαστολής Απλής και διπλής ακρίβειας: float (32 bits) και double (64 bits) Και εδώ μπορούμε συχνά να συναντήσουμε το μη τυποποιημένο τύπο long double (80 bits?)

Δηλώσεις Μεταβλητών Η βασική μορφή δήλωσης: type name; type name1, name2, ; γενικά ένα όνομα τύπου ακολουθούμενο από μια λίστα ονομάτων, διαχωρισμένα με, που τερματίζεται με ; Οι δηλώσεις δέχονται προσδιοριστές ή και αρχικές τιμές

Προσδιοριστές Δηλώσεων Κατηγορία αποθήκευσης Απαγόρευση αλλαγής τιμής Δημιουργία πινάκων και δεικτών

Αρχικές Τιμές Μια μεταβλητή δέχεται αρχική τιμή στη δήλωσή της: type name = value; type name1, name2 = value, name3, ; όπου value κάποια σταθερά αντίστοιχου τύπου Συμβατότητα τύπων και αρχικών τιμών

Σταθερές Μεταβλητές μόνο για ανάγνωση Χρήση προσδιοριστή const για απαγόρευση αλλαγής τιμής, οπότε η μεταβλητή μετατρέπεται σε σταθερά

Βιβλιοθήκες της C Χρήση έτοιμου κώδικα για ειδικές λειτουργίες Είσοδος/Έξοδος Επεξεργασία συμβολοσειρών Διαχείριση μνήμης κλπ Οι δηλώσεις μιας βιβλιοθήκης πρέπει να είναι ορατές στον κώδικα που τις χρησιμοποιεί!

Συναρτήσεις Ε/Ε Βιβλιοθήκη stdio Ενσωμάτωση δηλώσεων με την οδηγία: #include <stdio.h> Το αρχείο stdio.h υπάρχει κάπου στο σύστημα Οι οδηγίες είναι ειδικές εντολές που αρχίζουν με # και απευθύνονται στον προεπεξεργαστή της C

Η συνάρτηση printf() Η πρώτη παράμετρος είναι μια συμβολοσειρά μορφοποίησης που μπορεί να περιέχει μορφότυπους εξόδου Για κάθε μορφότυπο εξόδου πρέπει να ακολουθεί αντίστοιχη παράμετρος με τη σειρά που αναγράφονται οι μορφότυποι Μεταβλητό πλήθος παραμέτρων?

Μορφότυποι Εξόδου %d για εκτύπωση προσημασμένου ακεραίου %s για εκτύπωση συμβολοσειράς %c για εκτύπωση απλού χαρακτήρα %f για εκτύπωση πραγματικού αριθμού κλπ Προσδιοριστές εύρους πχ %3d, %8.3f, %03d, %10s, %-10s, %.10s

Η συνάρτηση scanf() Η πρώτη παράμετρος είναι μια συμβολοσειρά μορφοποίησης που πρέπει να περιέχει μορφότυπους εισόδου Για κάθε μορφότυπο εισόδου πρέπει να ακολουθεί αντίστοιχη παράμετρος με τη σειρά που αναγράφονται οι μορφότυποι Μια παράμετρος εισόδου πρέπει να είναι η διεύθυνση μνήμης όπου θα τοποθετηθεί η αντίστοιχη τιμή εισόδου Οι τιμές εισόδου διαχωρίζονται με κενά ή χαρακτήρες που αναγράφονται στη συμβολοσειρά μορφοποίησης

Μορφότυποι Εισόδου %d για ανάγνωση προσημασμένου ακεραίου %s για ανάγνωση συμβολοσειράς %c για ανάγνωση απλού χαρακτήρα %f για ανάγνωση πραγματικού αριθμού κλπ Προσδιοριστές εύρους και αποδεκτών χαρακτήρων πχ %3d, %[a-z]s

Άλλες Συναρτήσεις Ε/Ε Συνάρτηση getchar() Χωρίς παραμέτρους, επιστρέφει τον επόμενο χαρακτήρα Συνάρτηση putchar() Με παράμετρο ένα χαρακτήρα, τον εκτυπώνει

Άλλες Οδηγίες Η οδηγία ορισμού σταθερής τιμής #define X 10 Ο προεπεξεργαστής αντικαθιστά όλους τους χαρακτήρες Χ με τη συμβολοσειρά 10 Όλους τους χαρακτήρες Χ!!! Στην ουσία αυτή η οδηγία δεν είναι μόνο για σταθερές τιμές, αλλά πιο γενικής αντικατάστασης

Εντολές της C Απλές και σύνθετες (= ακολουθίες εντολών μέσα σε άγκιστρα) Προς το παρόν θα δούμε μόνο μιάμιση εντολή της C: Η κλήση συναρτήσεων είναι μέρος της εντολής έκφρασης (την οποία θα δούμε την επόμενη εβδομάδα!) τερματισμός κάθε εντολής έκφρασης με ; Η εντολή if-else

Η εντολή ελέγχου if-else Η λέξη-κλειδί if ακολουθούμενη από μια έκφραση συνθήκης σε παρενθέσεις ακολουθούμενη από μια εντολή πιθανά σύνθετη προαιρετικά ακολουθούμενη από τη λέξηκλειδί else ακολουθούμενη από μια εντολή πιθανά σύνθετη

Έκφραση Συνθήκης Λογική έκφραση, που ουσιαστικά είναι οποιαδήποτε ακέραια έκφραση απλή ακέραια (ή συμβατή) μεταβλητή ή σταθερά λογική παράσταση λογικές εκφράσεις συνδυασμένες με λογικούς τελεστές έκφραση σύγκρισης άλλη ακέραια έκφραση

Τι μάθαμε σήμερα Αλφάβητο της C Βασικοί τύποι της C Απλές δηλώσεις μεταβλητών της C Βασική είσοδος/έξοδος Μιάμιση εντολή της C