21.07.2013 Aufrufe

3. C-Datentypen

3. C-Datentypen

3. C-Datentypen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Erstellt von Mario Mayr (Quelle leider vergessen)<br />

Zeichenkonstanten<br />

Zeichenkonstanten werden in Apostrophe gesetzt. Nichtdruckbare Zeiche oder solche, die<br />

nicht auf der Tastatur verfügbar sind, werden als Escapesequenzen angegeben.<br />

'a'<br />

'\n'<br />

'\t'<br />

'\x41'<br />

Intern werden Zeichen als int-Werte verwaltet, so daß 'a' und 97 eigentlich dasselbe<br />

darstellt:<br />

#include <br />

int main(void)<br />

{<br />

printf("%c ist in ASCII: %d\n", 'a', 'a');<br />

printf("%c ist wirklich in ASCII: %d\n", 97, 97);<br />

return 0;<br />

}<br />

Datentypumwandlungen (wer es zum weiteren Verständnis braucht !?!)<br />

<strong>Datentypen</strong> können in C im Gegensatz zu anderen Programmiersprachen ineinander<br />

umgewandelt werden. In C werden Typumwandlungen entweder implizit oder durch ein<br />

spezielles Konstrukt explizit durchgeführt. In einem gemischten Ausdruck wird implizit eine<br />

Typumwandlung so vorgenommen, daß versucht wird auf den größten Typ des Ausdruckes zu<br />

konvertieren. Die Typ-Reihenfolge ist dabei:<br />

int < long < unsigned < unsigned long < float < double<br />

Die Regeln für die Umwandlung sind:<br />

• Ist ein Operator long double, wird auch der andere auch in long double umgewandelt.<br />

• Ist ein Operator double, wird auch der andere auch in double umgewandelt.<br />

• Ist ein Operator float, wird auch der andere auch in float umgewandelt.<br />

• Andernfalls werden char und short in int gewandelt.<br />

• Falls dann einer der Operanden long ist, wird der andere in long geändert.<br />

Wird der Ausdruck einer Variablen zugewiesen muß vielleicht noch eine Konversion<br />

vorgenommen werden. Beispiele von Umwandlungen enstprechender Variablen zeigt<br />

folgende Aufstellung:<br />

char c; int i; long l; float f; double d;<br />

c - i Umwandlung int<br />

d = c - i Umwandlung int, Zuweisung an double<br />

l * 2.0 - i Umwandlung double<br />

c = l * 2.0 - i Umwandlung double, Zuweisung an char<br />

f * d Umwandlung double<br />

l = f * d Umwandlung double, Zuweisung an long<br />

1 + <strong>3.</strong>0 Umwandlung double<br />

'a' + 1 Umwandlung int<br />

i = i / d Umwandlung double, Zuweisung an int

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!