Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις

Σχετικά έγγραφα
Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6)

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

5 &6. Τύποι δεδομένων, τελεστές και

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

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

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

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

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

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

Προγραµµατισµός. Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

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

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

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

Η Γλώσσα C Μία Σφαιρική Ανασκόπηση

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

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

7. Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου

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

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

ΕΠΛ 032.3: Προγραµµατισµός ΜεθόδωνΕπίλυσηςΠροβληµάτων

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Μεθόδων Επίλυσης Προβλημάτων

Ενσωματωμένοι Τύποι Δεδομένων. ΕΠΛ131 Ενότητα III

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

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

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

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

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

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

8. Συνθήκες ελέγχου, λογικοί τελεστές

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

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

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

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

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

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

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

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

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

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

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

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

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Προγραμματισμός Ι (HY120)

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

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

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

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

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο. Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

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

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

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

scanf() scanf() stdin scanf() printf() int float double %lf float

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

Προγραμματισμός Ι (HY120)

C Programming EPL032 Maria Stavrinou Ioannou Εισαγωγή στη Γλώσσα C

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

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

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

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

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

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

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

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

Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις

Transcript:

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις (Διαλέξεις 5-6) 1 Περιεχόμενα Τύποι Δεδομένων int, char, float, double Τελεστές =,+,-,*,/,% Αριθμητικές εκφράσεις a+b. 2 1

Τύποι Δεδομένων Ένας τύπος δεδομένων είναι ένα σύνολο τιμών και ένα σύνολο λειτουργιών (πράξεων) που μπορούν να εφαρμοστούν σε αυτές τις τιμές βασικοί τύποι δεδομένων: (char, int, float, double) σύνθετοι τύποι δεδομένων: (arrays, structs) π.χ. struct Time { int hours; int minutes; int seconds; }; 3 Τύποι δεδομένων -int Τύπος int (ακέραιος integer) Αναπαριστά ακέραιους αριθμούς, Μέγεθος 4 bytes, πεδίο τιμών -2 31.. +(2 31-1) δηλαδή περίπου : από [-2G..+2G] [-(δυο δισεκατομμύρια).. +δυο δισεκατομμύρια] Πράξεις: πρόσθεση (+), αφαίρεση (-), πολλαπλασιασμός (*), διαίρεση (/) κλπ. Παραδείγματα κυριολεκτικών τιμών: -2189456 0 50 +24562 3245 13576313 4 2

Τύποι δεδομένων - float Τύπος float (κινητής υποδιαστολής απλής ακρίβειας floating point) Αναπαριστά τους πραγματικούς αριθμούς, Μέγεθος 4 bytes, Πράξεις: πρόσθεση (+), αφαίρεση (-), πολλαπλασιασμός (*), διαίρεση (/) Τιμέςμιαςμεταβλητήςfloat μπορεί να είναι: π.χ 3.01, 110.8, -0.01, κλπ. 5 Τύποι δεδομένων - double Τύπος double (κινητής υποδιαστολής διπλής ακρίβειας double precision) Ίδιος τύπος με float αλλά με μεγαλύτερη ακρίβεια (περιέχει δηλ. διπλό αριθμό δεκαδικών ψηφίων απ ότι η μεταβλητή float), Μέγεθος 8 bytes. Τιμή μιας μεταβλητής double μπορεί να είναι: π.χ 1.045623, 6 3

Τύποι δεδομένων - char Τύπος char (χαρακτήρας character) Αναπαριστά ατομικούς χαρακτήρες (Α-Ζ, a-z, 0-9,!@$%&#, ειδικά σύμβολα \n, κλπ.) Μέγεθος 1 byte. Κυριολεκτικές τιμές εσωκλείονται σε αποστρόφους, π.χ. Α, a, 9,,, *, \n, \, κτλ Οι απόστροφοι δεν χρειάζονται όταν εισάγονται χαρακτήρες Για παράδειγμα: a είναι ο χαρακτήρας a b είναι ο χαρακτήρας b 9 είναι ο χαρακτήρας 9 * είναι ο χαρακτήρας * 7 char κάθε χαρακτήρας αντιστοιχεί σε ένα μοναδικό κωδικό C βασίζεται στο ASCII code αλφαβητικοί, ψηφιακοί, ειδικοί ( \n, \t...) 0 ascii:48, 1 ascii:49,.., 9 ascii:57 A ascii:65,, Z ascii:90 a ascii:97,, z ascii:122 8 4

ΟΠίνακαςASCII 9 Βασικοί Τύποι Δεδομένων C Περίληψη Τύπος Μέγεθος Πεδίο Τιμών Μοναδικές char, 1byte a.. z A.. Z 0.. 9 2 8 ή 256 int, 4 bytes -2 31..2 31-1 2 32 float, 4 bytes 10-37..10 38 2 32 double 8 bytes 10-307..10 308 2 64 *δείκτης 4 bytes διευθύνσεις 2 32 (0..2 32-1) * Δεν θα μελετηθεί σε αυτό το μάθημα 10 5

Τύποι δεδομένων (Παράδειγμα) /*program example2.c this program adds three integer variables and displays the results*/ #include <stdio.h> /*use of pre-processor*/ int main ( ) { /*declaration of variables*/ int val1; int val2; int val3; int sum; /*assign values*/ val1=1; val2=2; val3=3; /*compute sum*/ sum=val1+val2+val3; /*display sum*/ printf ("The sum of %d and %d and %d is %d\n", val1, val2, val3, sum); return 0; } 11 Τύποι δεδομένων (Παράδειγμα) /*program example3.c this program adds three integer variables and displays the results*/ #include <stdio.h> /*use of pre-processor*/ main ( ) { int val1=1, val2=2, val3=3, sum; /*compute sum*/ sum=val1+val2+val3; printf ("The sum of %d and %d and %d is %d\n", val1, val2, val3, sum); /*use of printf*/ } The sum of 1 and 2 and 3 is 6 12 6

Επιλογή Τύπου Δεδομένων Μαθητές σε ενα σχολείο Βάρος, Μάζα Εμβαδό, Όγκος Όνομα Αριθμός Ταυτότητας 13 Επιλογή Τύπου Δεδομένων Μαθητές σε ενα σχολείο Βάρος, Μάζα Εμβαδό, Όγκος Όνομα Αριθμός Ταυτότητας int float, double float, double char (string) int 14 7

Σύνταξη: a τ b ή τ a Αριθμητικές Εκφράσεις τείναιοτελεστής (operator) a,bείναι τελεσταίοι (operands) τελεσταίοι μπορεί να είναι Σταθερές (π.χ. KMS_PER_MILE * miles) Μεταβλητές (π.χ. c = a + b) κλήση συνάρτησης που επιστρέφει αριθμό (π.χ c = sum(a,b) + sum(b,a) ) έκφραση (χρήση παρενθέσεων) 15 Αριθμητικοί Τελεστές (arithmetic operators) Όνομα Τελεστής Παράδειγμα Πρόσθεση + num1 + num2 Αφαίρεση - initial - spent Πολλ/σμός * age * 6 Διαίρεση / sum / count Υπόλοιπο % m % n 16 8

Tελεστής Ανάθεσης (=) (assignment operator) Σύνταξη: μεταβλητή = έκφραση; area = PI * radius * radius; count = count + 1; new_number = old_number; average = total / count; Η τιμή της έκφρασης αποθηκεύεται στην μεταβλητή και ο τύπος της τιμής της έκφρασης μετατρέπεται στον τύπο της μεταβλητής. 17 Τύπος Έκφρασης Ορίζεται από τους τύπους των τελεστών char, int, float, double Έκφραση Αποτέλεσμα π.χ int τ int => int 5/2 2 double τ double=> double 5.0/2.0 2.5 int τ double => double 5/2.0 2.5 double τ int => double 5.0/2 2.5 int τ char => int 5+ a 102 Ascii:97 18 9

Μετατροπή Εκφράσεων σε C m 2 -n 2 ax 2 + bx + c -b + 4ac 2ab c+d ((-a)b) + ((-c)d) 19 Μετατροπή Εκφράσεων σε C m 2 -n 2 ax 2 + bx + c -b + 4ac 2ab c+d ((-a)b) + ((-c)d) Στην γλώσσα C m*m - n*n ή (m*m)-(n*n) a*x*x + b*x + c -b + 4 * a* c (2*a*b)/(c+d) -a*b + -c*d 20 10

Κανόνας Προτεραιότητας Τελεστών Τελεστές στην ίδια έκφραση αποτιμούνται σύμφωνα με τις προτεραιότητές τους. Οι προτεραιότητες των αριθμητικών τελεστών, σε φθίνουσα σειρά, είναι: 21 Αριθμητικοί τελεστές και προτεραιότητα Τελεστές Προτεραιότητα Ψηλότερη Προτεραιότητα () Πρώτο στην αποτίμηση. Εάν είναι φωλιασμένο (το εσώτερο πρώτα). Εάν είναι στο ίδιο επίπεδο, από αριστερά στα δεξιά. +- (Μοναδιαίοι) Δεύτερο στην αποτίμηση. Εάν είναι πολλά Εάν υπάρχουν πολλά από δεξιά προς τα αριστέρά. * / % Τρίτο στην αποτίμηση. Εάν υπάρχουν πολλά από αριστερά προς τα δεξιά. + - (Δυαδικοί) Τέταρτο στην αποτίμηση. Εάν υπάρχουν πολλά από αριστερά προς τα δεξιά. = Χαμηλότερη Προτεραιότητα Πέμπτο στην αποτίμηση. Εάν υπάρχουν πολλά από δεξιά προς τα αριστερά. 22 11

Κανόνας Εταιρικότητας Μοναδιαίοι τελεσταίοι (π.χ. α ) στην ίδια υποέκφραση και με την ίδια προτεραιότητα αποτιμώνται από τα δεξιά προς τα αριστερά (Ονομάζεται δεξιά εταιρικότητα) Δυαδικοί τελεσταίοι (α β) στην ίδια υποέκφραση και με την ίδια προτεραιότητα αποτιμώνται από τα αριστερά προς τα δεξιά (Ονομάζεται αριστερή εταιρικότητα) 23 Κανόνας Παρενθέσεων Κάθε έκφραση σε παρένθεση αποτιμείται ξεχωριστά. Φωλιασμένες παρενθετικές εκφράσεις, ((..)), αποτιμώνται από τα μέσα προς τα έξω Όπου είσαστε αβέβαιοι χρησιμοποιείτε παρενθέσεις 24 12

Παράδειγμα Αποτίμησης x * y * z + a / b c * d (((x * y) * z) + (a / b)) (c * d) Και τα δυο είναι σωστά στην γλώσσα C. Ωστόσο η δεύτερη έκφραση εκφράζει πιο ξεκάθαρα την σειρά εκτέλεσης 25 Παράδειγμα Αποτίμησης x = 5; y= 3; z = -4; Έκφραση Τιμή (x-y)*z -8 x- (y* z) 17 x - y * z 17 -α*β=-(α*β) ή ( α)*β? 26 13

Εξάσκηση στην αποτίμηση εκφράσεων Έστω οι ακέραιο a, b, c, d, & e, όπου a = 1, b = 2, c = 3, d = 4 Τι βγάζουν τα παρακάτω; 2%3 = 2 4%2 = 0 3/2 = 1 a + b - c + d => 4 a * b / c => 0 1 + a * b % c => 3 a + d % b c => -2 d + c / b a => 4 27 Υπόλοιπο % Ηέκφρασηm % n επιστρέφει το υπόλοιπο της διαίρεσης του m με το n. Το Modulus είναι ακέραιος τελεστής - καιοιδύο τελεσταίοι πρέπει να είναι ακέραιοι. Π.χ : 17 % 5 = 2 6 % 3 = 0 9 % 2 = 1 5 % 8 = 5 28 14

Ακέραια διαίρεση Εάν και οι δύο τελεσταίοι είναι ακέραιο τότε θα πάρετε ακέραιο ως απάντηση. Το δεκαδικό τμήμα απορρίπτεται. Πχ. : 17 / 5 = 3 4 / 3 = 1 35 / 9 = 3 Εάν ένας εκ των δυο τελεσταίους είναι float (ή double) θα πάρετε float (και αντίστοιχα double) ως αποτέλεσμα 29 Διαίρεση με το 0 Δεν ορίζεται διαίρεση με 0 στα μαθηματικά. Αν επιτρέψετε διαίρεση με το 0 σε ένα πρόγραμμα θα προκληθεί σφάλμα. Η εκτέλεση του προγράμματος θα τερματιστεί απότομα runtime error Θα μάθουμε πώς να αποφεύγουμε την διαίρεση με το 0 30 15

Αυτόματη μετατροπή Mετατροπή Τύπων Σε ανάθεση (αυτόματα) ητιμήσταδεξιά του = μετατρέπεται στον τύπο της μεταβλητής στα αριστερά του = int x = 3.14; /* 3 */ float x = (2/3); /* 0.0 */ Ρητή Μετατροπή (Casting) float x = (float) 2/3; /* 2.0/3, 2.0/3.0, 0.66666 */ float x = (float) (2/3); /* 0.0 */ 31 Εντoλές printf και scanf Παράδειγμα χρήσης της εντολής printf: printf ( That equals %f kilometers and %e meters. \n, kms, mtrs); Παράδειγμα χρήσης της εντολής scanf: scanf( %d%f, &arithmos1, &arithmos2); Τύπος δεδομένων printf scanf float %f %f double %f ή %e %lf int %d %d char %c %c 32 16

Παράδειγμα Προγράμματος /********************************************************* * EPL032: Programmatismos Methodvn Epilisis Problhmatvn * Author: Marios Lestas * ID: 757991 * Date: 8 Feb 2007 * File Name: Diairesi.c *********************************************************/ /* This program divides two integers and displays the quotient and the remainder */ /* Inputs: Two integers * Outputs: The quotient and the remainder * Useful formulas: /, % */ #include <stdio.h> main() { /* Dilosi metablhtvn*/ int input1,input2; /* Eisodoi */ int quotient,remainder; /* Eksodoi */ /* Eisagogi dedomenon*/ printf("write two integers \n"); scanf("%d%d", &input1,&input2); /* Ipologismoi */ quotient=input1/input2; remainder=input1%input2; /*Ipologismos pilikou*/ /*Ipologismos ipolipou*/ /*Ektiposi apotelesmatos*/ printf("the quotient is %d and the remainder %d \n",quotient, remainder); } 33 17