21.11.2013 Aufrufe

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 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!