Eine Einführung in die Programmiersprache C und die Grundlagen ...
Eine Einführung in die Programmiersprache C und die Grundlagen ...
Eine Einführung in die Programmiersprache C und die Grundlagen ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />
Steuerzeichen (flags) (<strong>in</strong> beliebiger Reihenfolge), welche <strong>die</strong> Umwandlung modifizieren:<br />
- veranlasst <strong>die</strong> Ausrichtung des umgewandelten Arguments <strong>in</strong> se<strong>in</strong>em Feld nach l<strong>in</strong>ks.<br />
+ bestimmt, dass <strong>die</strong> Zahl immer mit Vorzeichen ausgegeben wird.<br />
Leerzeichen wenn das erste Zeichen ke<strong>in</strong> Vorzeichen ist, wird e<strong>in</strong> Leerzeichen vorangestellt.<br />
0 legt bei numerischen Umwandlungen fest, dass bis zur Feldbreite mit führenden Nullen aufgefüllt<br />
wird.<br />
# verlangt e<strong>in</strong>e alternative Form der Ausgabe. Bei o ist <strong>die</strong> erste Ziffer e<strong>in</strong>e Null. Bei x oder X werden<br />
0x oder 0X e<strong>in</strong>em von Null verschiedenen Resultat vorangestellt. Bei e, E, f, g <strong>und</strong> G enthält <strong>die</strong><br />
Ausgabe immer e<strong>in</strong>en Dezimalpunkt; bei g <strong>und</strong> G werden Nullen am Schluss nicht unterdrückt.<br />
e<strong>in</strong>e Zahl, <strong>die</strong> e<strong>in</strong>e m<strong>in</strong>imale Feldbreite festlegt. Das umgewandelte Argument wird <strong>in</strong> e<strong>in</strong>em Feld ausgegeben, das<br />
m<strong>in</strong>destens so breit ist <strong>und</strong> bei Bedarf auch breiter. Hat das umgewandelte Argument weniger Zeichen als <strong>die</strong><br />
Feldbreite verlangt, wird l<strong>in</strong>ks (oder rechts, wenn Ausrichtung nach l<strong>in</strong>ks verlangt wurde) auf <strong>die</strong> Feldbreite aufgefüllt.<br />
Normalerweise wird mit Leerzeichen aufgefüllt, aber auch mit Nullen, wenn das entsprechende Steuerzeichen<br />
angegeben wurde.<br />
E<strong>in</strong> Punkt, der <strong>die</strong> Feldbreite von der Genauigkeit (precision) trennt.<br />
<strong>E<strong>in</strong>e</strong> Zahl, <strong>die</strong> Genauigkeit, welche <strong>die</strong> maximale Anzahl von Zeichen festlegt, <strong>die</strong> von e<strong>in</strong>er Zeichenkette ausgegeben<br />
werden, oder <strong>die</strong> Anzahl Ziffern, <strong>die</strong> nach dem Dezimalpunkt bei e, E, oder f Umwandlungen ausgegeben<br />
werden, oder <strong>die</strong> Anzahl signifikanter Ziffern bei g oder G Umwandlung oder <strong>die</strong> m<strong>in</strong>imale Anzahl von Ziffern,<br />
<strong>die</strong> bei e<strong>in</strong>em ganzzahligen Wert ausgegeben werden sollen (führende Nullen werden dann bis zur gewünschten<br />
Breite h<strong>in</strong>zugefügt).<br />
E<strong>in</strong> Buchstabe als Längenangabe: h, l oder L.<br />
"h" bedeutet, dass das zugehörige Argument als short oder unsigned short ausgegeben wird;<br />
"l" bedeutet, dass das Argument long oder unsigned long ist:<br />
"L" bedeutet, dass das Argument long double ist.<br />
Als Feldbreite oder Genauigkeit kann jeweils * angegeben werden; dann wird der Wert durch Umwandlung von dem<br />
nächsten oder den zwei nächsten Argumenten festgelegt, <strong>die</strong> den Typ <strong>in</strong>t besitzen müssen.<br />
Aufbau (Ohne Leerzeichen dazwischen, alles ausser dem Umwandlungszeichen kann weggelassen werden):<br />
% Flag Zahl . Zahl Längenangabe Umwandlungszeichen<br />
Beispiel: pr<strong>in</strong>tf("%+08.4d", 17); gibt ><br />
+0017< aus<br />
Die Umwandlungszeichen <strong>und</strong> ihre Bedeutung:<br />
Zeichen Argument Ausgabe<br />
d, i <strong>in</strong>t dezimal mit Vorzeichen.<br />
o <strong>in</strong>t oktal ohne Vorzeichen (ohne führende Null).<br />
x, X <strong>in</strong>t hexadezimal ohne Vorzeichen (ohne führendes 0x oder 0X) mit abcdef bei 0x oder<br />
ABCDEF bei 0X.<br />
u <strong>in</strong>t dezimal ohne Vorzeichen.<br />
c <strong>in</strong>t e<strong>in</strong>zelnes Zeichen (Buchstabe), nach Umwandlung <strong>in</strong> unsigned char.<br />
s char* aus e<strong>in</strong>er Zeichenkette werden Zeichen ausgegeben bis vor '\0', aber maximal so viele<br />
Zeichen, wie <strong>die</strong> Genauigkeit (im Formatstr<strong>in</strong>g) erlaubt.<br />
f double dezimal als [-]mmm.ddd, wobei <strong>die</strong> Genauigkeit <strong>die</strong> Anzahl der d festlegt. Vore<strong>in</strong>stellung<br />
ist 6; bei 0 entfällt der Dezimalpunkt.<br />
e, E double dezimal als [-]m.dddddde±xx oder [-]m.ddddddE±xx, wobei <strong>die</strong> Genauigkeit <strong>die</strong><br />
Anzahl der d festlegt. Vore<strong>in</strong>stellung ist 6; bei 0 entfällt der Dezimalpunkt.<br />
g, G double %e oder %E wird verwendet, wenn der Exponent kle<strong>in</strong>er als -4 oder nicht kle<strong>in</strong>er als<br />
<strong>die</strong> Genauigkeit ist; sonst wird %f benutzt. Null <strong>und</strong> Dezimalpunkt am Schluss werden<br />
nicht ausgegeben.<br />
p void* als Zeiger (Speicheradresse, Darstellung hängt von Implementierung ab).<br />
n <strong>in</strong>t* <strong>die</strong> Anzahl der bisher von <strong>die</strong>sem Aufruf von pr<strong>in</strong>tf ausgegebenen Zeichen wird im<br />
Argument abgelegt. Es f<strong>in</strong>det an <strong>die</strong>ser Stelle ke<strong>in</strong>e Ausgabe statt.<br />
% - e<strong>in</strong> % wird ausgegeben.<br />
Wenn das Zeichen nach % ke<strong>in</strong> gültiges Umwandlungszeichen ist, ist das Ergebnis <strong>und</strong>ef<strong>in</strong>iert.<br />
Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 76/147