1 / 25

Συναρτήσεις ( συν)

Συναρτήσεις ( συν). Τυπος επιστροφης void. void display_fatal_error() { printf(“Fatal error exiting program<br>”); }. void display_fatal_error() { printf(“Fatal error exiting program<br>”); return; }. Εισοδος/Εξοδος. Συναρτήσεις εισόδου/εξόδου (Ι/Ο input/output)

Download Presentation

Συναρτήσεις ( συν)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Συναρτήσεις (συν) • Τυπος επιστροφης void void display_fatal_error() { printf(“Fatal error exiting program\n”); } void display_fatal_error() { printf(“Fatal error exiting program\n”); return; } epl-131

  2. Εισοδος/Εξοδος • Συναρτήσεις εισόδου/εξόδου (Ι/Ο input/output) • Συνάρτηση εισόδου – αντιγράφει δεδομένα από μονάδα εισόδου σε χώρο στην μνήμη, πχ scanf, getchar • Συνάρτηση εξόδου – εκτυπώνει σε μονάδα εξόδου πληροφορίες αποθηκευμένες στην μνήμη, πχ printf, putchar • Η βιβλιοθήκη stdio περιέχει βασικές συναρτήσεις εισόδου/εξόδου epl-131

  3. printf • Σύνταξη: • printf(μορφη εξοδου); • printf(μορφη εξοδου, λίστα εκφρασεων); παραμετροι (arguments) int count = 37; printf(“The total count is %d\n”, count); string ορισμα ειδικος χαρακτηρας εκφραση (μεταβλητη) epl-131

  4. Μορφή Εξόδου • Συνταξη: • ξεκινα “ και τελειωνει με’’ • Περιλαμβανει: strings, ορισματα, ειδικους χαρακτηρες • Σημασια: • τυπωνειverbatim τα strings • ορισματα και ειδικοι χαρακτηρες... epl-131

  5. Ορισματα • Σύνταξη: %d %c %f %e • Σημασια: αντικαταστησε ορισμα με τιμη εκφρασης απο την λιστα εκφρασεων • %d ακεραια τιμη • %c χαρακτηρας • %f κινητη υποδιαστολης μονης ακριβειας • %e κινητη υποδιαστολης διπλης ακριβειας • Αριθμος ορισματων ιδιος με το μεγεθος λιστας εκφρασεων και σειρα και τυποι να ταιριαζουν epl-131

  6. Ειδικοι Χαρακτηρες (escape sequences) • Σημασια: • \n μεταφερε δρομεα στην επομενη γραμμη • \t μεταφερε δρομεα στην επομενη δεξια στηλη • \’’ εκτυπωσε ’’ • \\ εκτυπωσε \ • \a ηχησε κουδουνι epl-131

  7. 1 2 2 - 3 4 3 4 4 Μορφοποιησής (fomatting) • Σύνταξη: %nd • Σημασια: χρησιμοποιηση n θεσεων για την εκτυπωση του ακέραιου αριθμού. Εάν ο αριθμός έχει λιγότερα από nψηφία, τοποθετούνται κενά στα αριστερά (δεξιά ευθυγράμμιση). Εάν ο αριθμός έχει περισσότερα ψηφία, εκτυπώνονται όλα • printf(\n%3d %3d\n\n%2d %3d, 1, 22, 33, -444); epl-131

  8. Μορφοποιησής (fomatting) • Σύνταξη: %n.mf • Σημασια: χρησιμοποιηση n θεσεων για την εκτυπωση του πραγματικου αριθμού (συμπεριλαμβανει .) και m ψηφια να ειναι δεκαδικα. • Σύνταξη: %.mf (m δεκαδικα ψηφια) • printf(%4.2f %3.6f %3.2f, 4.4, 22.1, 466.00); 4.40 22.100000 466.00 epl-131

  9. scanf • Σύνταξη: • scanf(μορφη εισοδου, λίστα διευθυνσεων μεταβλητων); int numbera, numberb; scanf(“%d%d”,&numbera, &numberb); ορισματα διευθυνσεις μεταβλητων epl-131

  10. Μορφη Eισόδου • Συνταξη: • ξεκινα “ και τελειωνει με’’ • Περιλαμβανει: ορισματα • Σημασια: • τυπος ορισματων και σειρα τιμων που θα εισαχθουν • τυποι αναλογοι με printf (πχ %d %f %e %c κτλ) • %d, %f και %e διαπερνουν white space epl-131

  11. Τελεστης διευθυνσης και scanf • Συνταξη: &<ονομα μεταβλητης> • Σημασια: δινει την διευθυνση της μεταβλητης πχ &numbera • scanf αποθηκευει τιμες στις μεταβλητες χρησιμοποιοντας τις διευθυνσεις τους epl-131

  12. scanf int numbera, numberb; printf(“Enter two integer numbers: ”); scanf(“%d%d”,&numbera, &numberb); printf(“The two numbers entered are %d %d\n\n”, numbera, numberb); epl-131

  13. 9475 3201 23 137 scanf (πχ) int numbera, numberb; 0 … … ... … … … … ... scanf(“%d%d”,&numbera,&numberb); 98760060 Χρηστης: 23 137 διευθυνσεις 98760064 τιμες epl-131

  14. Tελεστής Ανάθεσης (assignment) • Συνταξη: μεταβλητη = εκφρασή; • area = PI * radius * radius; • count = count + 1; • new_number = old_number; • average = total / count; • Η τιμη της εκφρασης αποθηκευεται στην μεταβλητη epl-131

  15. Τελεστές (operators) • Αριθμητικοι για int, char, float, double • δυαδικοί (binary) + - * / % μοναδιαιoί (unary) - + • c=a+b; προσθεση • c=a-b; αφαιρεση • c=a*b; γινομενο • c=a/b; διαιρεση • c=a%b; υπολοιπο (για int και char μονο) • c=-a; ή c = -a + b; • c=+a; epl-131

  16. Τελεστης % Εαν x and y ειναι int ή char x y x/y x % y 4 2 2 0 4 3 1 1 35 8 epl-131

  17. Αριθμητικές Εκφράσεις • Συνταξη: a τ b ή τ a • τ ειναι ο τελεστης (operator) • a,b ειναι τελεσταιοι (operands) • τελεσταιοι μπορει να ειναι • σταθερες • μεταβλητες • κληση συναρτησης που επιστρεφει αριθμο • εκφραση (χρηση παρενθέσεων) epl-131

  18. σταθερα, μεταβλητη ή κληση συναρτησης Σύνταξη Αριθμητικής Εκφρασης • αριθ_έκφραση>::= <αριθμός>  (<αριθ_έκφραση>)  <μοναδιαίος> <αριθ_έκφραση>| <αριθ_έκφραση><δυαδικός><αριθ_έκφραση> • μοναδιαίος::=  + • <δυαδικός> ::=  +  /  *  % epl-131

  19. Κανόνας Προτεραιότητας Τελεστών • Τελεστές στην ίδια έκφραση αποτιμούνται σύμφωνα με τις προτεραιότητές τους. Οι προτεραιότητες των αριθμητικών τελεστών, σε φθίνουσα σειρά, είναι: • μοναδιαίοι +,  υψηλότερη προτεραιότητα • *, /, % ενδιάμεση προτεραιότητα • δυαδικοί +,  χαμηλότερη προτεραιότητα epl-131

  20. Κανόνας Εταιρικότητας • Μοναδιαίοι τελεστέοι στην ίδια υποέκφραση και με την ίδια προτεραιότητα αποτιμούνται από τα δεξιά προς τα αριστερά – δεξιά εταιρικότητα • Δυαδικοί τελεστέοι στην ίδια υποέκφραση και με την ίδια προτεραιότητα αποτιμούνται από τα αριστερά προς τα δεξιά – αριστερή εταιρικότητα epl-131

  21. Κανόνας Παρενθέσεων • Κάθε έκφραση σε παρένθεση αποτιμείται ξεχωριστά. Φωλιασμένες παρενθετικές εκφράσεις, ((..)), αποτιμούνται από τα μέσα προς τα έξω • Οπου εισαστε αβεβαιοι χρησιμοποιαται παρενθεσεις epl-131

  22. ψηλοτερης προτεραιοτητας Παράδειγμα Αποτίμησης int x = 5; y= 3; z = -4; Εκφραση Τιμη (x-y)*z -8 x- (y* z) 17 x - y * z 17 epl-131

  23. Παράδειγμα Αποτίμησης int x = 5; y= 3; z = -4; Εκφραση Τιμη (x-y)*-z x- (y* -z) x - y * -z 3 2 1 epl-131

  24. Παράδειγμα Αποτίμησης x * y * z + a / b – c * d (((x * y) * z) + (a / b)) – (c * d) epl-131

  25. Τύπος Εκφρασης • Οριζεται απο τους τυπων των τελεστων • char, int, float, double • int τ int int 5/2 2 • int τ double double 5/2.0 2.5 • int τ char int 5+’a’ 102 • int τ float float epl-131

More Related