H ΓΛΩΣΣΑ C. Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Eξόδου. ηµήτρης Ψούνης

Σχετικά έγγραφα
H ΓΛΩΣΣΑ C. Μάθηµα 15: Είσοδος/Έξοδος: Συναρτήσεις Εισόδου. ηµήτρης Ψούνης

Επεξεργασία Αρχείων Κειµένου

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

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

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

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

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

Διάλεξη 18η: Διαχείρηση Αρχείων

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

ιαφάνειες παρουσίασης #6 (β)

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

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

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

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

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

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

#define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579

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

ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο

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

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

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

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

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

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

Η γλώσσα προγραμματισμού C Χειρισμός αρχείων

Περιεχόµενα. Πρόλογος... 15

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

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

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

H ΓΛΩΣΣΑ C. Μάθηµα 17: Είσοδος/Έξοδος: Επικοινωνία µε το Λειτουργικό Σύστηµα. ηµήτρης Ψούνης

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

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

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

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

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

4ο σετ σημειώσεων - Χειρισμός αρχείων και structs

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

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

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

Προγραμματισμός σε C. Αρχεία κειμένου (Text files)

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

ΑΡ Χ Ε Ι Α Κ Ε Ι Μ Ε Ν Ο Υ (text files)

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

Χpήσιµες Βιβλιοθήκες της γλώσσας C

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

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

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

Ι Ανασκόπηση και εμβάθυνση Μερικά πιο προχωρημένα θέματα. ΙΙ Τα αρχεία δεδομένων στη C

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

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

ΑΡΧΕΙΑ ΚΕΙΜΕΝΟΥ ΣΤΗΝ C

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

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

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

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

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

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

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

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

Προγραμματισμός σε C. Αρχεία κειμένου (Text files)

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

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

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

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

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

int abs( int x ), επιστρέφει την απόλυτη τιμή του ακεραίου x Πχ abs( 11) ισούται με 11, abs(34) ισούται με 34 double fb( fabs( double x ), επιστρέφει

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

Βιβλιοθήκη stdio. Προγραμματισμός II 1

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

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

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

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

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

Εργαστήριο 9: Αρχεία

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

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

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες

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

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

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

FILE *fopen(const char *fname, const char *mode) void fclose(file *f) void fflush(file *f)

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 4 getchar() - putchar() - math.h. Γιώργος Λαµπρινίδης

H ΓΛΩΣΣΑ C. Μάθηµα 7: Πίνακες. ηµήτρης Ψούνης

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

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

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

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΤΟΥΣ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Η γλώσσα C. Διαχείριση Συμβολοσειρών

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

ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ. Mε την εντολή αυτή μπορούμε να δημιουργήσουμε έναν καινούριον υποκατάλογο.

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

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

Transcript:

H ΓΛΩΣΣΑ C Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Eξόδου ηµήτρης Ψούνης

2 Περιεχόµενα Μαθήµατος A. Συναρτήσεις ροής εξόδου stdout 1. Γενικά 2. Η συνάρτηση putchar() 3. Οι συναρτήσεις putc() και fputc() 4. Οι συναρτήσεις puts() και fputs() 5. Οι συναρτήσεις printf() και fprintf() B. Ασκήσεις

3 1. Γενικά Η είσοδος και η έξοδος στην C, γίνεται µέσω ροών (streams). Μία ροή είναι µια ακολουθία χαρακτήρων η οποία είναι εν αναµονή για να την χρησιµοποιήσουµε ανάλογα µε την θέλησή µας. Ήδη (χωρίς να το γνωρίζουµε) έχουµε χρησιµοποιήσει δύο ροές: Την προκαθορισµένη ροή εισόδου (stdin) από την οποία διαβάζουµε χαρακτήρες από το πληκτρολόγιο. Την προκαθορισµένη ροή εξόδου (stdout)στην οποία γράφουµε χαρακτήρες στην οθόνη. stdout stdin

4 1. Γενικά H C µας παρέχει µία σειρά από συναρτήσεις για να διαχειριστούµε τηνέξοδο προς την οθόνη Όλες έχουν οριστεί στο stdio.h Τρεις είναι οι κατηγορίες των συναρτήσεων: Οι συναρτήσεις που τυπώνουν ένα χαρακτήρα στην οθόνη: Αυτές είναι οι putchar, putc και fputc Οι συναρτήσεις που τυπώνουν µία συµβολοσειρά στην οθόνη: Αυτές είναι οι puts και fputs Και οι συναρτήσεις που τυπώνουν (σχεδόν) τα πάντα: Αυτές είναι οι printf και fprintf Οι συναρτήσεις αυτές στέλνουν χαρακτήρες στη ροή stdout

5 2. Η συνάρτηση putchar() Το πρωτότυπο της συνάρτησης putchar είναι: int putchar(int ch) Και έχει οριστεί στη βιβλιοθήκη: stdio.h Η συνάρτηση δέχεται έναν ASCII κωδικό ως όρισµα και προβάλλει στην οθόνη τον αντίστοιχο χαρακτήρα. Επιστρέφει τον χαρακτήρα που γράφτηκε στην οθόνη ή EOF σε περίπτωση λάθους.

6 2. Η συνάρτηση putchar() Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση putchar /* putchar.c: Epideiksi tis putchar */ #include <stdio.h> main() { int i; } for (i=40; i<100; i++) putchar(i);.

7 3. Οι συναρτήσεις fputc() και putc() Το πρωτότυπο της συνάρτησης getch είναι: int fputc(int c, FILE *fp) Και έχει οριστεί στη βιβλιοθήκη: stdio.h Το πρώτο όρισµα είναι ένας ASCII κωδικός Το δεύτερο όρισµα θα πρέπει να είναι η ροή εξόδου stdout. Σηµείωση: Θα χρησιµοποιήσουµε την συνάρτηση αυτή για να τυπώνουµε ένα χαρακτήρα σε αρχείο (επόµενο µάθηµα) Η συµπεριφορά της είναι ίδια µε την putchar() Αντίστοιχα έχει οριστεί η συνάρτηση: int putc(int c, FILE *fp) Και έχει οριστεί στη συνάρτηση: stdio.h

8 3. Οι συναρτήσεις fputc() και putc() Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση getch #include <stdio.h> main() { int i; } for (i=40; i<100; i++) fputc(i,stdout);

9 4. Οι συναρτήσεις puts() και fputs() Το πρωτότυπο της συνάρτησης fputs είναι: int fputs(char *s, FILE *fp) Και έχει οριστεί στη βιβλιοθήκη: stdio.h Το πρώτο όρισµα είναι µία συµβολοσειρά (πίνακας χαρακτήρων) Το δεύτερο όρισµα θα πρέπει να είναι η ροή εξόδου stdout. Σηµείωση: Θα χρησιµοποιήσουµε την συνάρτηση αυτή για να τυπώνουµε µία συµβολοσειρά σε αρχείο (επόµενο µάθηµα) H συνάρτηση τυπώνει τη συµβολοσειρά s στην οθόνη (µέχρι τον χαρακτήρα \0) και αλλάζει γραµµή! Επιστρέφει 1 αν όλα πήγαν καλά, και EOF σε περίπτωση λάθους. Αντίστοιχα έχει οριστεί η συνάρτηση: int puts(char *s) Και έχει οριστεί στη συνάρτηση: stdio.h

10 4. Οι συναρτήσεις puts() και fputs() Το ακόλουθο πρόγραµµα κάνει µία «εµπνευσµένη» εκτύπωση: /* puts.c: Epideiksi tis puts */ #include <stdio.h> main() { int i; char *s="hello World!"; puts(s); puts("-----------------"); for (i=0; i<100; i++) { puts(&s[i]); } } if (s[i]=='\0') break;

11 5. Οι συναρτήσεις printf() και fprintf() Το πρωτότυπο της συνάρτησης printf είναι: int printf ( const char * format,... ); Και έχει οριστεί στη βιβλιοθήκη: stdio.h Αφιερώσαµε όλο το «Μάθηµα 9: Εισαγωγή στην Είσοδο/Έξοδο εδοµένων» στην συνάρτηση αυτή! Αντίστοιχα ορίζεται η συνάρτηση: int fprintf (FILE *fp, const char * format,... ); Και έχει οριστεί στη βιβλιοθήκη: stdio.h Η συνάρτηση λειτουργεί µε τον ίδιο τρόπο µε την printf αλλά µπορεί να τυπώσει και σε αρχείο, όπως θα δούµε σε επόµενο µάθηµα! Για έξοδο στην οθόνη βάζουµε στο πρώτο όρισµα to stdout

12 5. Οι συναρτήσεις printf() και fprintf() Το ακόλουθο πρόγραµµα κάνει µία «όχι εµπνευσµένη» εκτύπωση: /* fprintf.c: Epideiksi tis puts */ #include <stdio.h> main() { int i; } for (i=0; i<100; i++) { fprintf(stdout,"\n%d*%d*%d=%d",i,i,i,i*i*i); }

13 Β. Ασκήσεις 1. ιαχείριση Συµβολοσειρών Γράψτε ένα πρόγραµµα το οποίο: 1. Να διαβάζει µία συµβολοσειρά από την είσοδο. 2. Να τυπώνει τη συµβολοσειρά στην οθόνη. Το πρόγραµµα υποχρεωτικά θα πρέπει να χρησιµοποιεί µόνο τις gets και puts (και µόνον αυτές)

14 Β. Ασκήσεις 2. ιαχείριση Συµβολοσειρών Γράψτε ένα πρόγραµµα το οποίο: 1. Να διαβάζει µία συµβολοσειρά από την είσοδο. 2. Να τυπώνει τη συµβολοσειρά στην οθόνη. Το πρόγραµµα υποχρεωτικά θα πρέπει να χρησιµοποιεί µόνο τις getchar και putchar (και µόνον αυτές)

15 Β. Ασκήσεις 3. ιαχείριση Συµβολοσειρών Γράψτε ένα πρόγραµµα το οποίο: 1. Να διαβάζει µία συµβολοσειρά από την είσοδο. 2. Να τυπώνει τη συµβολοσειρά στην οθόνη. Το πρόγραµµα υποχρεωτικά θα πρέπει να χρησιµοποιεί µόνο τις scanf και printf (και µόνον αυτές)