SlideShare a Scribd company logo
H ΓΛΩΣΣΑ C
Μάθηµα 16:
Είσοδος/Έξοδος: Συναρτήσεις Eξόδου
∆ηµήτρης Ψούνης
Περιεχόµενα Μαθήµατος
A. Συναρτήσεις ροής εξόδου stdout
1. Γενικά
2. Η συνάρτηση putchar()
3. Οι συναρτήσεις putc() και fputc()
4. Οι συναρτήσεις puts() και fputs()
5. Οι συναρτήσεις printf() και fprintf()
B. Ασκήσεις
2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
A. Συναρτήσεις Ροής Εξόδου
1. Γενικά
3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Η είσοδος και η έξοδος στην C, γίνεται µέσω ροών (streams).
Μία ροή είναι µια ακολουθία χαρακτήρων η οποία είναι εν αναµονή για να την
χρησιµοποιήσουµε ανάλογα µε την θέλησή µας.
Ήδη (χωρίς να το γνωρίζουµε) έχουµε χρησιµοποιήσει δύο ροές:
Την προκαθορισµένη ροή εισόδου (stdin) από την οποία διαβάζουµε χαρακτήρες από το
πληκτρολόγιο.
Την προκαθορισµένη ροή εξόδου (stdout) στην οποία γράφουµε χαρακτήρες στην
οθόνη.
stdout
stdin
A. Συναρτήσεις Ροής Εξόδου
1. Γενικά
4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
H C µας παρέχει µία σειρά από συναρτήσεις για να διαχειριστούµε την έξοδο προς την οθόνη
Όλες έχουν οριστεί στο stdio.h
Τρεις είναι οι κατηγορίες των συναρτήσεων:
Οι συναρτήσεις που τυπώνουν ένα χαρακτήρα στην οθόνη:
Αυτές είναι οι putchar, putc και fputc
Οι συναρτήσεις που τυπώνουν µία συµβολοσειρά στην οθόνη:
Αυτές είναι οι puts και fputs
Και οι συναρτήσεις που τυπώνουν (σχεδόν) τα πάντα:
Αυτές είναι οι printf και fprintf
Οι συναρτήσεις αυτές στέλνουν χαρακτήρες στη ροή stdout
A. Συναρτήσεις Ροής Εξόδου
2. Η συνάρτηση putchar()
5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Το πρωτότυπο της συνάρτησης putchar είναι:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται έναν ASCII κωδικό ως όρισµα και προβάλλει στην οθόνη τον αντίστοιχο
χαρακτήρα.
Επιστρέφει τον χαρακτήρα που γράφτηκε στην οθόνη ή EOF σε περίπτωση λάθους.
int putchar(int ch)
stdio.h
A. Συναρτήσεις Ροής Εξόδου
2. Η συνάρτηση putchar()
6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση putchar
.
/* putchar.c: Epideiksi tis putchar */
#include <stdio.h>
main()
{
int i;
for (i=40; i<100; i++)
putchar(i);
}
A. Συναρτήσεις Ροής Εξόδου
3. Οι συναρτήσεις fputc() και putc()
7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Το πρωτότυπο της συνάρτησης getch είναι:
Και έχει οριστεί στη βιβλιοθήκη:
Το πρώτο όρισµα είναι ένας ASCII κωδικός
Το δεύτερο όρισµα θα πρέπει να είναι η ροή εξόδου stdout.
Σηµείωση: Θα χρησιµοποιήσουµε την συνάρτηση αυτή για να τυπώνουµε ένα χαρακτήρα
σε αρχείο (επόµενο µάθηµα)
Η συµπεριφορά της είναι ίδια µε την putchar()
Αντίστοιχα έχει οριστεί η συνάρτηση:
Και έχει οριστεί στη συνάρτηση:
int fputc(int c, FILE *fp)
stdio.h
int putc(int c, FILE *fp)
stdio.h
A. Συναρτήσεις Ροής Εξόδου
3. Οι συναρτήσεις fputc() και putc()
8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση getch
#include <stdio.h>
main()
{
int i;
for (i=40; i<100; i++)
fputc(i,stdout);
}
A. Συναρτήσεις Ροής Εξόδου
4. Οι συναρτήσεις puts() και fputs()
9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Το πρωτότυπο της συνάρτησης fputs είναι:
Και έχει οριστεί στη βιβλιοθήκη:
Το πρώτο όρισµα είναι µία συµβολοσειρά (πίνακας χαρακτήρων)
Το δεύτερο όρισµα θα πρέπει να είναι η ροή εξόδου stdout.
Σηµείωση: Θα χρησιµοποιήσουµε την συνάρτηση αυτή για να τυπώνουµε µία
συµβολοσειρά σε αρχείο (επόµενο µάθηµα)
H συνάρτηση τυπώνει τη συµβολοσειρά s στην οθόνη (µέχρι τον χαρακτήρα 0) και αλλάζει
γραµµή!
Επιστρέφει 1 αν όλα πήγαν καλά, και EOF σε περίπτωση λάθους.
Αντίστοιχα έχει οριστεί η συνάρτηση:
Και έχει οριστεί στη συνάρτηση:
int fputs(char *s, FILE *fp)
stdio.h
int puts(char *s)
stdio.h
A. Συναρτήσεις Ροής Εξόδου
4. Οι συναρτήσεις puts() και fputs()
10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Το ακόλουθο πρόγραµµα κάνει µία «εµπνευσµένη» εκτύπωση:
/* 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;
}
}
A. Συναρτήσεις Ροής Εξόδου
5. Οι συναρτήσεις printf() και fprintf()
11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Το πρωτότυπο της συνάρτησης printf είναι:
Και έχει οριστεί στη βιβλιοθήκη:
Αφιερώσαµε όλο το «Μάθηµα 9: Εισαγωγή στην Είσοδο/Έξοδο ∆εδοµένων» στην
συνάρτηση αυτή!
Αντίστοιχα ορίζεται η συνάρτηση:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση λειτουργεί µε τον ίδιο τρόπο µε την printf αλλά µπορεί να τυπώσει και σε
αρχείο, όπως θα δούµε σε επόµενο µάθηµα!
Για έξοδο στην οθόνη βάζουµε στο πρώτο όρισµα to “stdout”
int printf ( const char * format, ... );
stdio.h
int fprintf (FILE *fp, const char * format, ... );
stdio.h
A. Συναρτήσεις Ροής Εξόδου
5. Οι συναρτήσεις printf() και fprintf()
12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Το ακόλουθο πρόγραµµα κάνει µία «όχι εµπνευσµένη» εκτύπωση:
/* 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);
}
}
Β. Ασκήσεις
1. ∆ιαχείριση Συµβολοσειρών
13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Γράψτε ένα πρόγραµµα το οποίο:
1. Να διαβάζει µία συµβολοσειρά από την είσοδο.
2. Να τυπώνει τη συµβολοσειρά στην οθόνη.
Το πρόγραµµα υποχρεωτικά θα πρέπει να χρησιµοποιεί µόνο τις gets και puts (και µόνον αυτές)
Β. Ασκήσεις
2. ∆ιαχείριση Συµβολοσειρών
14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Γράψτε ένα πρόγραµµα το οποίο:
1. Να διαβάζει µία συµβολοσειρά από την είσοδο.
2. Να τυπώνει τη συµβολοσειρά στην οθόνη.
Το πρόγραµµα υποχρεωτικά θα πρέπει να χρησιµοποιεί µόνο τις getchar και putchar (και µόνον
αυτές)
Β. Ασκήσεις
3. ∆ιαχείριση Συµβολοσειρών
15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
Γράψτε ένα πρόγραµµα το οποίο:
1. Να διαβάζει µία συµβολοσειρά από την είσοδο.
2. Να τυπώνει τη συµβολοσειρά στην οθόνη.
Το πρόγραµµα υποχρεωτικά θα πρέπει να χρησιµοποιεί µόνο τις scanf και printf (και µόνον αυτές)

More Related Content

PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ

What's hot (20)

PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
PDF
Η Γλώσσα C - Μάθημα 2
PDF
Η Γλώσσα C - Μάθημα 3
PDF
Η Γλώσσα C - Μάθημα 1
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
PDF
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
PDF
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
PDF
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
PDF
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 3
Η Γλώσσα C - Μάθημα 1
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
Ad

Viewers also liked (7)

PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
PDF
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
PDF
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
PDF
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
Ad

Similar to Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ) (20)

PDF
C_24112023.pdf
PDF
C_01122023.pdf
PPT
ΛΣ2_IPC
PDF
Function pointers in C
PPTX
Signals
DOCX
Πρόγραμμα επιλογής σε C - 2
PDF
Advanced Notes on Pointers
PDF
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
PDF
OS_Processes_iteration12333333333333333333333333
PPTX
rapidbounce Presentation in Greek: "Python For Beginners"
PPT
ΛΣ1FILES1v0
PPTX
εντολές και-δομές-αλγορίθμου
PDF
Δομή ακολουθίας στη ΓΛΩΣΣΑ
PPT
Python Κεφ. 1.5 συναρτήσεις
PDF
C_03112023.pdf
PPTX
Εκχώρηση, Είσοδος και Έξοδος τιμών και Δομή ακολουθίας
DOCX
13 Προγράμματα C.
PDF
ΠΛΗ10 ΜΑΘΗΜΑ 2.8
PDF
Παιγνίδια με Πίνακες και Δείκτες
PPTX
Processes
C_24112023.pdf
C_01122023.pdf
ΛΣ2_IPC
Function pointers in C
Signals
Πρόγραμμα επιλογής σε C - 2
Advanced Notes on Pointers
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
OS_Processes_iteration12333333333333333333333333
rapidbounce Presentation in Greek: "Python For Beginners"
ΛΣ1FILES1v0
εντολές και-δομές-αλγορίθμου
Δομή ακολουθίας στη ΓΛΩΣΣΑ
Python Κεφ. 1.5 συναρτήσεις
C_03112023.pdf
Εκχώρηση, Είσοδος και Έξοδος τιμών και Δομή ακολουθίας
13 Προγράμματα C.
ΠΛΗ10 ΜΑΘΗΜΑ 2.8
Παιγνίδια με Πίνακες και Δείκτες
Processes

More from Dimitris Psounis (20)

PDF
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
PDF
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
PDF
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
PDF
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
PDF
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
PDF
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
PDF
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
PDF
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
PDF
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
PDF
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
PDF
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
PDF
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
PDF
ΠΛΗ31 - ΤΕΣΤ 33
PDF
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
PDF
ΠΛΗ31 ΤΕΣΤ 32
PDF
ΠΛΗ31 ΤΕΣΤ 31
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ31 - ΤΕΣΤ 33
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 31

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)

  • 1. H ΓΛΩΣΣΑ C Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Eξόδου ∆ηµήτρης Ψούνης
  • 2. Περιεχόµενα Μαθήµατος A. Συναρτήσεις ροής εξόδου stdout 1. Γενικά 2. Η συνάρτηση putchar() 3. Οι συναρτήσεις putc() και fputc() 4. Οι συναρτήσεις puts() και fputs() 5. Οι συναρτήσεις printf() και fprintf() B. Ασκήσεις 2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου
  • 3. A. Συναρτήσεις Ροής Εξόδου 1. Γενικά 3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Η είσοδος και η έξοδος στην C, γίνεται µέσω ροών (streams). Μία ροή είναι µια ακολουθία χαρακτήρων η οποία είναι εν αναµονή για να την χρησιµοποιήσουµε ανάλογα µε την θέλησή µας. Ήδη (χωρίς να το γνωρίζουµε) έχουµε χρησιµοποιήσει δύο ροές: Την προκαθορισµένη ροή εισόδου (stdin) από την οποία διαβάζουµε χαρακτήρες από το πληκτρολόγιο. Την προκαθορισµένη ροή εξόδου (stdout) στην οποία γράφουµε χαρακτήρες στην οθόνη. stdout stdin
  • 4. A. Συναρτήσεις Ροής Εξόδου 1. Γενικά 4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου H C µας παρέχει µία σειρά από συναρτήσεις για να διαχειριστούµε την έξοδο προς την οθόνη Όλες έχουν οριστεί στο stdio.h Τρεις είναι οι κατηγορίες των συναρτήσεων: Οι συναρτήσεις που τυπώνουν ένα χαρακτήρα στην οθόνη: Αυτές είναι οι putchar, putc και fputc Οι συναρτήσεις που τυπώνουν µία συµβολοσειρά στην οθόνη: Αυτές είναι οι puts και fputs Και οι συναρτήσεις που τυπώνουν (σχεδόν) τα πάντα: Αυτές είναι οι printf και fprintf Οι συναρτήσεις αυτές στέλνουν χαρακτήρες στη ροή stdout
  • 5. A. Συναρτήσεις Ροής Εξόδου 2. Η συνάρτηση putchar() 5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Το πρωτότυπο της συνάρτησης putchar είναι: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται έναν ASCII κωδικό ως όρισµα και προβάλλει στην οθόνη τον αντίστοιχο χαρακτήρα. Επιστρέφει τον χαρακτήρα που γράφτηκε στην οθόνη ή EOF σε περίπτωση λάθους. int putchar(int ch) stdio.h
  • 6. A. Συναρτήσεις Ροής Εξόδου 2. Η συνάρτηση putchar() 6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση putchar . /* putchar.c: Epideiksi tis putchar */ #include <stdio.h> main() { int i; for (i=40; i<100; i++) putchar(i); }
  • 7. A. Συναρτήσεις Ροής Εξόδου 3. Οι συναρτήσεις fputc() και putc() 7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Το πρωτότυπο της συνάρτησης getch είναι: Και έχει οριστεί στη βιβλιοθήκη: Το πρώτο όρισµα είναι ένας ASCII κωδικός Το δεύτερο όρισµα θα πρέπει να είναι η ροή εξόδου stdout. Σηµείωση: Θα χρησιµοποιήσουµε την συνάρτηση αυτή για να τυπώνουµε ένα χαρακτήρα σε αρχείο (επόµενο µάθηµα) Η συµπεριφορά της είναι ίδια µε την putchar() Αντίστοιχα έχει οριστεί η συνάρτηση: Και έχει οριστεί στη συνάρτηση: int fputc(int c, FILE *fp) stdio.h int putc(int c, FILE *fp) stdio.h
  • 8. A. Συναρτήσεις Ροής Εξόδου 3. Οι συναρτήσεις fputc() και putc() 8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση getch #include <stdio.h> main() { int i; for (i=40; i<100; i++) fputc(i,stdout); }
  • 9. A. Συναρτήσεις Ροής Εξόδου 4. Οι συναρτήσεις puts() και fputs() 9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Το πρωτότυπο της συνάρτησης fputs είναι: Και έχει οριστεί στη βιβλιοθήκη: Το πρώτο όρισµα είναι µία συµβολοσειρά (πίνακας χαρακτήρων) Το δεύτερο όρισµα θα πρέπει να είναι η ροή εξόδου stdout. Σηµείωση: Θα χρησιµοποιήσουµε την συνάρτηση αυτή για να τυπώνουµε µία συµβολοσειρά σε αρχείο (επόµενο µάθηµα) H συνάρτηση τυπώνει τη συµβολοσειρά s στην οθόνη (µέχρι τον χαρακτήρα 0) και αλλάζει γραµµή! Επιστρέφει 1 αν όλα πήγαν καλά, και EOF σε περίπτωση λάθους. Αντίστοιχα έχει οριστεί η συνάρτηση: Και έχει οριστεί στη συνάρτηση: int fputs(char *s, FILE *fp) stdio.h int puts(char *s) stdio.h
  • 10. A. Συναρτήσεις Ροής Εξόδου 4. Οι συναρτήσεις puts() και fputs() 10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Το ακόλουθο πρόγραµµα κάνει µία «εµπνευσµένη» εκτύπωση: /* 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. A. Συναρτήσεις Ροής Εξόδου 5. Οι συναρτήσεις printf() και fprintf() 11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Το πρωτότυπο της συνάρτησης printf είναι: Και έχει οριστεί στη βιβλιοθήκη: Αφιερώσαµε όλο το «Μάθηµα 9: Εισαγωγή στην Είσοδο/Έξοδο ∆εδοµένων» στην συνάρτηση αυτή! Αντίστοιχα ορίζεται η συνάρτηση: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση λειτουργεί µε τον ίδιο τρόπο µε την printf αλλά µπορεί να τυπώσει και σε αρχείο, όπως θα δούµε σε επόµενο µάθηµα! Για έξοδο στην οθόνη βάζουµε στο πρώτο όρισµα to “stdout” int printf ( const char * format, ... ); stdio.h int fprintf (FILE *fp, const char * format, ... ); stdio.h
  • 12. A. Συναρτήσεις Ροής Εξόδου 5. Οι συναρτήσεις printf() και fprintf() 12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Το ακόλουθο πρόγραµµα κάνει µία «όχι εµπνευσµένη» εκτύπωση: /* 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. ∆ιαχείριση Συµβολοσειρών 13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Γράψτε ένα πρόγραµµα το οποίο: 1. Να διαβάζει µία συµβολοσειρά από την είσοδο. 2. Να τυπώνει τη συµβολοσειρά στην οθόνη. Το πρόγραµµα υποχρεωτικά θα πρέπει να χρησιµοποιεί µόνο τις gets και puts (και µόνον αυτές)
  • 14. Β. Ασκήσεις 2. ∆ιαχείριση Συµβολοσειρών 14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Γράψτε ένα πρόγραµµα το οποίο: 1. Να διαβάζει µία συµβολοσειρά από την είσοδο. 2. Να τυπώνει τη συµβολοσειρά στην οθόνη. Το πρόγραµµα υποχρεωτικά θα πρέπει να χρησιµοποιεί µόνο τις getchar και putchar (και µόνον αυτές)
  • 15. Β. Ασκήσεις 3. ∆ιαχείριση Συµβολοσειρών 15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 16: Είσοδος/Έξοδος: Συναρτήσεις Εξόδου Γράψτε ένα πρόγραµµα το οποίο: 1. Να διαβάζει µία συµβολοσειρά από την είσοδο. 2. Να τυπώνει τη συµβολοσειρά στην οθόνη. Το πρόγραµµα υποχρεωτικά θα πρέπει να χρησιµοποιεί µόνο τις scanf και printf (και µόνον αυτές)