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



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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

Κεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

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

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

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)

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

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

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

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

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

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

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

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

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

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

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

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

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

printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι:

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

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Εξοικ Εξ ε οικ ίωση ε με το το πρόγ ραμμα πρόγ DEV C++ Επικοι Επικ νωνία οι Χρήσ Χρήστη τη Υπολ Υπο ογισ λ τή

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

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

11. Συναρτήσεις (Μέρος Ι)

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

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

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

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

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

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

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

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

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

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

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

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

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

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

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

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

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

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

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

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

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

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

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

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 14. Πίνακες Ι. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

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

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

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

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

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

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

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

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

CE 120. Φροντιστήριο 14/10/2011

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

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

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

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

Συναρτήσεις. Κατασκευαστικά Τεµάχια για τη ηµιουργία Αρθρωτών Προγραµµάτων

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

ΗΥ-150. Προγραµµατισµός. Πίνακες (Arrays)

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

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

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

1. ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ C

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 2 Ο. Εισαγωγή στην C Εντολές εξόδου Εντολές εισόδου Μορφοποιητές ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Transcript:

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

Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε αποτέλεσµα Συνάρτηση εισόδου αντιγράφει δεδοµένα από µονάδα εισόδου σε χώρο στην µνήµη, πχ scanf, Συνάρτηση εξόδου εκτυπώνει σε µονάδα εξόδου πληροφορίες αποθηκευµένες στην µνήµη, πχ printf, Η βιβλιοθήκη stdio περιέχει βασικές συναρτήσεις εισόδου/εξόδου 2

Σύνταξη: εδοµένα Εξόδου - Εντολή printf printf(µορφή εξόδου); printf(µορφή εξόδου, λίστα εκφράσεων); παράµετροι (arguments) int count = 37; printf( The total count is %d\n, count); a) εδοµένα εξόδου b) όρισµα c) ειδικός χαρακτήρας d) έκφραση (µεταβλητή) 3

a) εδοµένα εξόδου Σύνταξη: Ξεκινά µε και τελειώνει µε Περιλαµβάνει: strings (σειρές από χαρακτήρες), ορίσµατα, ειδικούς χαρακτήρες Σηµασία: τυπώνει ως έχουν τα strings ορίσµατα και ειδικοί χαρακτήρες... 4

b) Ορίσµατα printf Σύνταξη: %d %c %f %e %s Σηµασία: αντικατάστησε όρισµα µε τιµή έκφρασης από τη λίστα εκφράσεων %d %f ακέραια τιµή (int) (int => 4 byte => [-2G..2G]) κινητή υποδιαστολή µονής ακρίβειας (float) %lf ή %e κινητή υποδιαστολή διπλής ακρίβειας (double) %c %s ένας χαρακτήρας (char) σειρά από χαρακτήρες (string) Αριθµός ορισµάτων ίδιος µε το µέγεθος λίστας εκφράσεων και σειρά και τύποι να ταιριάζουν 5

a) Παραδείγµατα Ορισµάτων 1 printf( to EPL033 exei %d foitites\n, 74); int n_students = 100; printf( to EPL033 exei %d foitites\n, n_students); float average; printf( o mesos oros einai %f\n, average); printf( simeio = (%f, %f, %f), x, y, z); 6

b) a) Παραδείγµατα Ορισµάτων 2 #include <stdio.h> int main() { printf ("Characters: %c %c \n", 'a', 65); printf ("Decimals: %d %d\n", 1977, 2000000000); printf ("Some different radixes: %d %x %o \n", 100, 100, 100); printf ("floats: %f %.2f \n", 3.1416, 3.1416); printf ("%s \n", "A string"); return 0; } Στην οθόνη θα εκτυπωθούν τα εξής δεδοµένα Characters: a A Decimals: 1977 2000000000 Some different radixes: 100 64 144 floats: 3.141600 3.14 A string βάση %o = octal (οκταδικό) %x = hexadecimal (δεκαεξαδικό) 7

c) Ειδικοί Χαρακτήρες (escape sequences) Σηµασία: \n µετάφερε τον δροµέα στην επόµενη γραµµή \t µετάφερε τον δροµέα στην επόµενη δεξιά στήλη \ εκτύπωσε \\ εκτύπωσε \ Παραδείγµατα printf ( hello world ); printf ( hello world\n ); printf ( hello world\nhello world\n ); printf ( hello world\ti m alive\n ); 8

d)μεταβλητές (Παραδείγµατα) Παραδείγµατα Πράξεις κατευθείαν στην έκφραση int a = 1, b = 2, c=4; printf("%d, %d, %d, %d, %d", a, b, a+b, a/b, a*b+c-a); 1, 2, 3, 0, 5 Αυτόµατο casting int a = 1, b = 2; printf( %d, %d, %f, a, b, (float)a/b); => 1, 2, 0.5 Garbage in => Garbage out Κατά λάθος int a = 1 αντί int a = 1; printf( %d, a); => εκτυπώνει ascii: 1 δηλαδή 49 9

Μορφοποίησης δεδοµένων εξόδου τύπου Integer (integer formatting) Σύνταξη: %nd Σηµασία: χρησιµοποίηση n θέσεων για την εκτύπωση του ακέραιου αριθµού. Εάν ο αριθµός έχει λιγότερα από n ψηφία, τοποθετούνται κενά στα αριστερά (δεξιά ευθυγράµµιση). Εάν ο αριθµός έχει περισσότερα ψηφία, εκτυπώνονται όλα π.χ printf( \n%3d%3d\n\n%2d %3d, 1, 22, 33, -444); 1 2 2 3 3-4 4 4 10

Μορφοποίησης δεδοµένων εξόδου τύπου float (float formatting) Σύνταξη: %n.mf Σηµασία: χρησιµοποίηση τουλάχιστο n θέσεων για την εκτύπωση του αριθµού (συµπεριλαµβάνει την. και το,αν χεριάζετε) Τα m ψηφία να είναι δεκαδικά Εάν ο αριθµός έχει περισσότερα ψηφία, εκτυπώνονται όλα Σύνταξη: %.mf (m δεκαδικά ψηφία) printf( %4.2f %9.6f %3.2f, 4.4, 22.1, 466.00); 4. 40 22. 100000 466. 00 Προσοχή: H στρογγυλοποίηση γίνεται κατευθείαν (π.χ. %.2f και 8.154 => 8.15, ενώ 8.155 => 8.16 11

Είσοδος -- scanf Σύνταξη: scanf(µορφή εισόδου, λίστα διευθύνσεων µεταβλητών); int numbera, numberb; scanf( %d%d,&numbera, &numberb); ορίσµατα διευθύνσεις µεταβλητών 12

Μορφή Eισόδου Σύνταξη: ξεκινά και τελειώνει µε Περιλαµβάνει: ορίσµατα Σηµασία: τύπος ορισµάτων και σειρά τιµών που θα εισαχθούν τύποι ανάλογοι µε printf (πχ %d %f %e %c κτλ) %d, %f και %e διαπερνούν white space (δηλαδή αν ο χρηστής δώσει 023 τότε η µεταβλητή θα πετάξει τα κενά (whitespaces) => τιµή = 23. 13

Τελεστής διεύθυνσης και scanf Σύνταξη: &<όνοµα µεταβλητής> Σηµασία: δίνει την διεύθυνση της µεταβλητής πχ &numbera scanf αποθηκεύει τιµές στις µεταβλητές χρησιµοποιώντας τις διευθύνσεις τους Όπως κάθε συνάρτηση στην C Θα το δούµε σε λεπτοµέρεια πιο µετά 14

Παράδειγµα 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); 15

Τύποι δεδοµένων - Σύνοψη Τύπος δεδοµένων printf scanf float %f %f double %f ή %e %lf int %d %d char %c %c Περισσότερες Πληροφορίες http://www.cplusplus.com/ref/cstdio/printf.html http://www.cplusplus.com/ref/cstdio/scanf.html 16

Παράδειγµα Γράψετε πρόγραµµα που υπολογίζει και τυπώνει την περίµετρο (2.π.R) και εµβαδό (π.r 2 ) ενός κύκλου. Το µόνο δεδοµένο είναι η ακτίνα (R) του κύκλου σε µέτρα. 17

Παράδειγµα /* program that computes the perimeter and area of a circle*/ #include <stdio.h> #define PI 3.14259 /*program constant*/ int main() { float radius; /* variable for input data*/ float perimeter, area; /*variable for output data*/ /*GET INPUT DATA*/ printf("this program computes the area and perimeter of a circle\n"); printf("enter radius of a circle in meters: "); scanf("%f",&radius); /*COMPUTE PERIMETER AND AREA*/ perimeter = 2 * PI * radius; area = PI * radius * radius; } /*PRINT RESULTS*/ printf("a circle with radius %.2f m has perimeter %.2f m and area %.2f sq. m\n", radius, perimeter, area); return 0; 18