Version [22627]
Dies ist eine alte Version von ProzProg4EingabeAusgabe erstellt von RonnyGertler am 2013-03-27 20:24:29.
Prozedurale Programmierung - Kapitel 4 - Eingabe und Ausgabe
Inhalte von Dr. E. Nadobnyh
Grundbegriffe
1. Eine Ausgabe ist die Datenlieferung vom Prozessor bzw. vom Programm zu Peripherie (Bildschirm, Datei).
2. Eine Eingabe ist die Datenlieferung von Peripherie (Tastatur, Datei) zum Prozessor.
3. I/O steht für "Input/Output", E/A -für "Eingabe/ Ausgabe".
4. Bildschirm und Tastatur werden auch als Konsole bezeichnet.
5. Die E/A–Operationen über Konsole werden als interaktive und die E/A–Operationen mit Dateien als nicht-interaktive bezeichnet.
Bibliothekfunktionen für E/A
Für die Eingabe und Ausgabe stehen in C und C++ keine Operatoren zur Verfügung. Die entsprechende Funktionen werden in Standardbibliotheken definiert.
Zwei Standardbibliotheken sind verbreitet:
1) stdio-Bibliothek für C enthält rund 40 Funktionen, darunter printf und scanf als zentrale Funktionen .
2) iostream-Bibliothek für C++ enthält eine ganze Klassenhierarchie und auch Objekte cout und cin.
Überblick
In C++ stehen die C-Funktionen auch zur Verfügung.
C++ hat ihr eigenes Eingabe-Ausgabe-Konzept. Es ist typsicher und ist leicht erweiterbar, z.B. für benutzerdefinierten Datentypen. Standardbibliotheken werden durch die Include-Dateien <stdio.h> und <iostream> eingebunden.
Hier sind einige Beispiele ohne formale Beschreibung:
Bibliothek Aufgabe |
sdtio | iostream |
Bildschirmausgabe | printf | cout<< |
Tastatureingabe | scanf | cin>> |
Dateizugriff | fprintf und fscanf | fstream |
4.1. Bildschirmausgabe
printf
Die formatgesteuerte Ausgabe erfolgt in der stdio-Bibliothek mit der Funktion printf (print formatted). Diese Funktion übersetzt interne Werte in Textzeilen.
Syntax (nicht vollständig): printf (fz , a1, ... ,aN );
1) Argumente a1 bis aN sind Variablen oder andere Daten, die ausgegeben werden müssen.
2) Eine Format-Zeichenkette fz steuert die Formatierung aller Argumente. Sie enthält zwei Arten von Zeichenfolgen:
- gewönliche Zeichen, die in die Ausgabe kopiert werden;
- Formatelemente, die mit dem Zeichen % beginnen und eigentliche Formatierung für die Argumente steuern.
3) Jeder Formatelement bestimmt das Format für ein entsprechendes Argument. Die Format-Zeichenkette bestimmt, wieviele weitere Argumente folgen.
Format-Zeichenkette
Bei der Ausgabe wird jedes Formatelement durch den Wert des nächsten Argumentes ersetzt.
Erklärung:
Format-Zeichenkette: | “2 * %d ergibt %d “ |
Formatelement: | %d |
Argumente: | a, b |
Steuerung: | zwei %d steuern a und b |
Ausgabe: | 2 * 5 ergibt 10 |
printf-Formatelement
Ein Formatelement (Umwandlungsspezifikation) besteht aus 6 Teilen. Linker und rechter Teil sind obligatorisch.
% | - | min | .max | L | UZ |
% | Anfang des Formatelementes |
- | Minus steuert linksbündige Ausgabe |
min | Mindestlänge des Ausgabebereichs |
.max |
1)Anzahl Stellen rechts vom Punkt für Gleitpunkttypen 2)Maximale Länge der auszugebenden Zeichenkette |
L | L - Argument ist long double, l - Argument ist long |
UZ |
Umwandlungszeichen, z.B.: d – Darstellung von Ganzzahlen, f – Darstellung von Gleitpunktzahlen. |
Beispiel:
float a=3.141592; printf(„pi= %7.3f“, a); //pi= 3.142
printf-Umwandlungszeichen
Das Umwandlungszeichen gibt die Interpretation des auszugebenden Wertes.
UZ | Ausgabe als: |
c | Einzelzeichen |
d, i | Ganzzahl (dezimal) |
u | Ganzzahl (dezimal, nur positiv) |
o | Ganzzahl (oktal, nur positiv) |
x, X | Ganzzahl (hexadezimal, nur positiv) |
e, E | Gleitpunktzahl in Exponentendarstellung |
f | Gleitpunktzahl in Dezimalbruchdarstellung |
g, G | kürzeste Darstellung von e oder f |
s | Zeichenkette (C-String) |
p | Pointer (Adresse ) |
⇒ Demos 1, 2, 3.
CategoryProzProg
Diese Seite wurde noch nicht kommentiert.