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

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

description

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

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

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

7/2/2000 epl-131 1

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

• Τυπος επιστροφης voidvoiddisplay_fatal_error(){

printf(“Fatal error exiting program\n”);}

voiddisplay_fatal_error(){

printf(“Fatal error exiting program\n”);return;

}

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

7/2/2000 epl-131 2

Εισοδος/Εξοδος

• Συναρτήσεις εισόδου/εξόδου (Ι/Ο input/output)– Συνάρτηση εισόδου – αντιγράφει δεδομένα από

μονάδα εισόδου σε χώρο στην μνήμη, πχ scanf, getchar

– Συνάρτηση εξόδου – εκτυπώνει σε μονάδα εξόδου πληροφορίες αποθηκευμένες στην μνήμη, πχ printf, putchar

– Η βιβλιοθήκη stdio περιέχει βασικές συναρτήσεις εισόδου/εξόδου

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

7/2/2000 epl-131 3

printf

• Σύνταξη:– printf(μορφη εξοδου);– printf(μορφη εξοδου, λίστα εκφρασεων);

int count = 37;printf(“The total count is %d\n”, count);

παραμετροι (arguments)

ορισμα ειδικοςχαρακτηρας

string εκφραση (μεταβλητη)

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

7/2/2000 epl-131 4

Μορφή Εξόδου

• Συνταξη:– ξεκινα “ και τελειωνει με ’’– Περιλαμβανει: strings, ορισματα, ειδικους χαρακτηρες

• Σημασια: – τυπωνει verbatim τα strings– ορισματα και ειδικοι χαρακτηρες...

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

7/2/2000 epl-131 5

Ορισματα

• Σύνταξη: %d %c %f %e

• Σημασια: αντικαταστησε ορισμα με τιμη εκφρασης απο την λιστα εκφρασεων

• %d ακεραια τιμη• %c χαρακτηρας• %f κινητη υποδιαστολης μονης ακριβειας • %e κινητη υποδιαστολης διπλης ακριβειας

• Αριθμος ορισματων ιδιος με το μεγεθος λιστας εκφρασεων και σειρα και τυποι να ταιριαζουν

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

7/2/2000 epl-131 6

Ειδικοι Χαρακτηρες (escape sequences)

• Σημασια: – \n μεταφερε δρομεα στην επομενη γραμμη – \t μεταφερε δρομεα στην επομενη δεξια στηλη– \’’ εκτυπωσε ’’– \\ εκτυπωσε \– \a ηχησε κουδουνι

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

7/2/2000 epl-131 7

Μορφοποιησής (fomatting)• Σύνταξη: %nd• Σημασια: χρησιμοποιηση n θεσεων για την εκτυπωση

του ακέραιου αριθμού. Εάν ο αριθμός έχει λιγότερα από n ψηφία, τοποθετούνται κενά στα αριστερά (δεξιά ευθυγράμμιση). Εάν ο αριθμός έχει περισσότερα ψηφία, εκτυπώνονται όλα

• printf(\n%3d %3d\n\n%2d %3d, 1, 22, 33, -444);

1 2 2

3 3 - 4 4 4

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

7/2/2000 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

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

7/2/2000 epl-131 9

scanf

• Σύνταξη:– scanf(μορφη εισοδου, λίστα διευθυνσεων μεταβλητων);

int numbera, numberb;scanf(“%d%d”,&numbera, &numberb);

ορισματα διευθυνσειςμεταβλητων

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

7/2/2000 epl-131 10

Μορφη Eισόδου

• Συνταξη:– ξεκινα “ και τελειωνει με ’’– Περιλαμβανει: ορισματα

• Σημασια: – τυπος ορισματων και σειρα τιμων που θα εισαχθουν– τυποι αναλογοι με printf (πχ %d %f %e %c κτλ)– %d, %f και %e διαπερνουν white space

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

7/2/2000 epl-131 11

Τελεστης διευθυνσης και scanf

• Συνταξη: &<ονομα μεταβλητης>

• Σημασια: δινει την διευθυνση της μεταβλητης

πχ &numbera

• scanf αποθηκευει τιμες στις μεταβλητες χρησιμοποιοντας τις διευθυνσεις τους

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

7/2/2000 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);

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

7/2/2000 epl-131 13

scanf (πχ)

0……...…

………...

int numbera, numberb;

scanf(“%d%d”,&numbera,&numberb);98760060

98760064

διευθυνσεις

τιμες

Χρηστης: 23 1379475

3201

23

137

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

7/2/2000 epl-131 14

Tελεστής Ανάθεσης (assignment)

• Συνταξη: μεταβλητη = εκφρασή;• area = PI * radius * radius;

• count = count + 1;

• new_number = old_number;

• average = total / count;

• Η τιμη της εκφρασης αποθηκευεται στην μεταβλητη

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

7/2/2000 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;

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

7/2/2000 epl-131 16

Τελεστης %

Εαν x and y ειναι int ή char

x y x/y x % y

4 2 2 0

4 3 1 1

35 8

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

7/2/2000 epl-131 17

Αριθμητικές Εκφράσεις

• Συνταξη: a τ b ή τ a– τ ειναι ο τελεστης (operator)– a, b ειναι τελεσταιοι (operands)– τελεσταιοι μπορει να ειναι

• σταθερες

• μεταβλητες

• κληση συναρτησης που επιστρεφει αριθμο

• εκφραση (χρηση παρενθέσεων)

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

7/2/2000 epl-131 18

Σύνταξη Αριθμητικής Εκφρασης

αριθ_έκφραση>::= <αριθμός> (<αριθ_έκφραση>) <μοναδιαίος> <αριθ_έκφραση>|

<αριθ_έκφραση><δυαδικός><αριθ_έκφραση>

μοναδιαίος ::= +• <δυαδικός> ::= + / * %

σταθερα, μεταβλητη ήκληση συναρτησης

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

7/2/2000 epl-131 19

Κανόνας Προτεραιότητας Τελεστών

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

προτεραιότητα– δυαδικοί +, χαμηλότερη

προτεραιότητα

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

7/2/2000 epl-131 20

Κανόνας Εταιρικότητας

• Μοναδιαίοι τελεστέοι στην ίδια υποέκφραση και με την ίδια προτεραιότητα αποτιμούνται από τα δεξιά προς τα αριστερά – δεξιά εταιρικότητα

• Δυαδικοί τελεστέοι στην ίδια υποέκφραση και με την ίδια προτεραιότητα αποτιμούνται από τα αριστερά προς τα δεξιά – αριστερή εταιρικότητα

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

7/2/2000 epl-131 21

Κανόνας Παρενθέσεων

• Κάθε έκφραση σε παρένθεση αποτιμείται ξεχωριστά. Φωλιασμένες παρενθετικές εκφράσεις, ((..)), αποτιμούνται από τα μέσα προς τα έξω

• Οπου εισαστε αβεβαιοι χρησιμοποιαται παρενθεσεις

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

7/2/2000 epl-131 22

Παράδειγμα Αποτίμησης

int x = 5; y= 3; z = -4;

Εκφραση Τιμη

(x-y)*z -8

x- (y* z) 17

x - y * z 17

ψηλοτερης προτεραιοτητας

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

7/2/2000 epl-131 23

Παράδειγμα Αποτίμησης

int x = 5; y= 3; z = -4;

Εκφραση Τιμη

(x-y)*-z

x- (y* -z)

x - y * -z123

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

7/2/2000 epl-131 24

Παράδειγμα Αποτίμησης

x * y * z + a / b – c * d

(((x * y) * z) + (a / b)) – (c * d)

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

7/2/2000 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