auto | default | float | register | struct | volatile |
break | do | for | return | switch | while |
case | double | goto | short | typedef | |
char | else | if | signed | union | |
const | enum | int | sizeof | unsigned | |
continue | extern | long | static | void |
|
|
|
|
|
Klammern
Operatoren zur Komponentenauswahl |
. -> |
von links nach rechts |
|
|||
|
Cast-Operator
Größenoperator Adressoperator Verweisoperator Negationsoperatoren arithmetisch logisch bitlogisch Inkrement Dekrement |
sizeof & * -
|
|
|
|||
|
Arithmetische Operatoren |
|
von links nach rechts |
|
|
von links nach rechts | |
|
Schiebe-Operatoren |
|
von links nach rechts |
|
Vergleichsoperatoren |
|
von links nach rechts |
|
|
von links nach rechts | |
|
Bit-Operatoren |
|
von links nach rechts |
|
|
von links nach rechts | |
|
|
von links nach rechts | |
|
Logische Operatoren |
|
von links nach rechts |
|
|
von links nach rechts | |
|
Bedingungs-Operator
(ternär) |
|
von rechts nach links |
|
Zuweisungs-Operatoren |
|
von rechts nach links |
|
Sequenz-Operator |
|
von rechts nach links |
|
Bezeichnung |
|
Auswertungsrichtung |
|
Klammern
Operatoren zur Komponentenauswahl |
. -> |
von links nach rechts |
|
|||
|
Cast-Operator
Größenoperator Adreßoperator Verweisoperator Negationsoperatoren arithmetisch logisch bitlogisch Inkrement Dekrement |
sizeof & * - ! ~ ++ - - |
von rechts nach links |
|
|||
|
Arithmetische Operatoren |
|
von links nach rechts |
|
|
von links nach rechts | |
|
Schiebe-Operatoren |
|
von links nach rechts |
|
Vergleichsoperatoren |
|
von links nach rechts |
|
|
von links nach rechts | |
|
Bit-Operatoren |
|
von links nach rechts |
|
|
von links nach rechts | |
|
|
von links nach rechts | |
|
Logische Operatoren |
|
von links nach rechts |
|
|
von links nach rechts | |
|
Bedingungs-Operator
(ternär) |
|
von rechts nach links |
|
Zuweisungs-Operatoren |
|
von rechts nach links |
|
Sequenz-Operator |
|
von rechts nach links |
Nähere Erläuterungen zu den Operatoren befinden sich in Kapitel
3.
|
|
|
|
char
unsigned signed char enum |
1 Byte
1 Byte 2 Byte |
-128 bis 127
0 bis 255 (ASCII) -32 768 bis 32 767 |
|
int | 2 Bytes
4 Bytes |
-32 768 bis 32 767
-2 147 483 648 bis 2 147 483 647 |
|
unsigned int | unsigned | 2 Bytes
4 Bytes |
0 bis 65 535
0 bis 4 294 967 295 |
short int | short | 2 Bytes | -32 768 bis 32 767 |
unsigned short
int |
unsigned
short |
2 Bytes | 0 bis 65 535 |
long int | long | 4 Bytes | -2 147 483 648 bis
2 147 483 647 |
unsigned long
int |
unsigned
long |
4 Bytes | 0 bis 4 294 967 295 |
float | 4 Bytes | 8.43E-37 bis 3.37E+38
6 Stellen genau |
|
long float | double | 8 Bytes | 1.7E-308 bis 1.67E+308
15 Stellen genau |
long double | 16 Bytes | 3.4E-4932 bis 1.1E+4932
19 Stellen genau |
Nähere Erläuterungen zu den Datentypen befinden sich im Kapitel
4.
8.4 ANSI - Standardisierte
Header-Dateien
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
printf() - Typangaben für Zeichen
und Zahlen
c char oder int (<=255) einzelnes Zeichen
d int dezimal
u unsigned int dezimal
o unsigned int oktal
x unsigned int hexadezimal mit a, b, c, d, e, f
X unsigned int hexadezimal mit A, B, C, D, E, F
bei Long-Typen muss den obigen Typangaben noch ein "l" vorangestellt
werden, z.B.: lx, ld.
printf() - Typangaben für Gleitpunktzahlen und Strings
f float / double Gleitpunktzahl (Dezimalpunktdarstellung)
e float / double Gleitpunktzahl (Exponentialdarstellung)
g float / double wie e bzw.f, (kürzere Variante)
s String Ausgabe eines Strings bis "\0"
(falls keine Genauigkeitsangabe)
8.5 Klassifizierung
der ANSI-Funktionen
Zeitfunktionen
asctime konvertiert die Time-Struktur in einen String
ctime liefert einen String aus Datum und Uhrzeit
difftime liefert die Zeitdifferenz in Sekunden
gmtime wandelt Time-Struktur in "Greenwich mean time" um
localtime wandelt Time-Struktur in "Local time"
time aktualisiert die Time-Struktur
Testfunktionen
assert erlaubt Programmabbruch, wenn Testergebnis fehlschlägt
Speicherverwaltungsfunktionen
calloc reserviert Speicherplatz für Arrays
free gibt reservierten Speicherplatz frei
longjmp erlaubt einen Rücksprung zum setjmp-Aufruf
malloc reserviert Speicherplatz in Bytes
realloc verändert die Größe eines Speicherblocks
setjmp markiert Rücksprung-Stelle von longjmp
Ein-/Ausgabefunktionen
clearerr löscht den EOF- und den Fehlerindikator einer Datei
fclose schließt eine Datei
feof testet den EOF-Indikator einer Datei
ferror testet den Fehlerindikator einer Datei
fflush erzwingt das Speichern des Puffers in eine Datei
Ein-/Ausgabefunktionen
fgetc liest ein einzelnes Zeichen aus einer Datei
fgets liest eine Zeile aus einer Datei in einen Puffer
fopen öffnet eine Datei in einem bestimmten Modus
fprintf schreibt nach angegebenem Format in die Datei
fputc schreibt ein einzelnes Zeichen in die Datei
fputs schreibt eine Zeichenkette in die Datei
fread liest mehrere Sätze aus einer Datei in einen Puffer
freopen ordnet einem Stream eine neue Datei zu
fscanf liest nach angegebenem Format aus einer Datei
fseek bewegt den Dateizeiger
ftell ermittelt die aktuelle Position des Dateizeigers
fwrite schreibt mehrere Sätze aus einem Puffer in eine Datei
getc liest ein Zeichen von einem Stream
getchar liest ein Zeichen von stdin
gets liest eine Zeile von stdin in einen Puffer
perror schreibt eine Meldung auf stderr
printf schreibt nach angegebenem Format auf stdout
putc schreibt ein Zeichen auf einen Stream
putchar schreibt ein Zeichen auf stdout
puts schreibt eine Zeile auf stdout
remove löscht eine Datei
rename benennt eine Datei um
rewind setzt den Dateizeiger zurück an den Dateianfang
scanf liest nach angegebenem Format von stdin
setbuf definiert einen Ein-/Ausgabe-Puffer für eine Datei
setvbuf definiert die Art der Pufferung für eine Datei
sprintf schreibt nach angegebenem Format an eine Speicherstelle
sscanf liest nach angegebenem Format von einer Speicherstelle
tmpfile erzeugt und öffnet eine temporäre Datei
tmpnam erzeugt einen temporären Dateinamen
ungetc erzeugt das Rückgängigmachen eines vorherigen getc
Klassifizierungsfunktionen
isalpha prüft auf alphabetisch (ohne deutsche Umlaute zu berücksichtigen)
iscntrl prüft auf Steuerzeichen
isdigit prüft auf Ziffer
isgraph prüft auf Grafikzeichen
islower prüft auf Kleinbuchstaben (ohne deutsche Umlaute)
isprint prüft auf druckbare Zeichen (ohne deutsche Umlaute)
ispunct prüft auf Satzzeichen
isspace prüft auf Trennzeichen (Whitespaces)
isupper prüft auf Großbuchstaben (ohne deutsche Umlaute)
isxdigit prüft auf Hexadezimalziffer
Umwandlungsfunktionen
atof konvertiert ASCII nach Float
atoi konvertiert ASCII nach Integer
atol konvertiert ASCII nach Long
strtod konvertiert String nach Double
strtol konvertiert String nach Long
strtoul konvertiert String nach Unsigned Long
tolower konvertiert in Kleinschreibung (ohne deutsche Umlaute zu berücksichtigen)
toupper konvertiert in Großschreibung (ohne deutsche Umlaute)
Steuerungsfunktionen
abort bricht ein Programm mit einer Fehlermeldung ab
exit beendet ein Programm ordnungsgemäß
getenv ermittelt den Wert einer Umgebungsvariablen
main wird beim Programmstart immer zuerst aufgerufen
raise simuliert Signale an das Programm
system erlaubt das Absetzen von Betriebssystem-Kommandos
Mathematische Funktionen
abs ermittelt den Absolutwert
acos ermittelt den Arcuscosinus
asin ermittelt den Arcussinus
atan ermittelt den Arcustangens
atan2 berechnet den Arcustangens eines Quotienten
bsearch führt eine binäre Suche in einem sortierten Feld durch
ceil rundet positive Zahlen auf, negative Zahlen jedoch ab
cos ermittelt den Cosinus
cosh ermittelt den hyperbolischen Cosinus
exp stellt die Exponentialfunktion dar
fabs ermittelt den Absolutwert einer Fließkommazahl
floor rundet positive Zahlen ab, negative jedoch auf
frexp bestimmt für Float-Werte Mantisse und Exponent zur Basis 2
ldexp berechnet das Produkt aus Mantisse und einer Zweierpotenz
log ermittelt den natürlichen Logarithmus
log10 ermittelt den dekadischen Logarithmus
pow berechnet das Ergebnis von Potenzen
qsort sortiert ein Feld nach dem Quicksort-Algorithmus
rand generiert eine Zufallszahl
sin ermittelt den Sinus
sqrt berechnet die Quadratwurzel
srand initialisiert den Zufallszahlengenerator
tan ermittelt den Tangens
Stringfunktionen
strcat verkettet zwei Strings miteinander
strchr sucht in einem String nach einem Zeichen
strcmp vergleicht zwei Strings miteinander
strcpy kopiert einen String auf einen anderen Speicherplatz
strcspn ermittelt die Anzahl der Zeichen eines Strings bis zu einem Begrenzer
strlen ermittelt die Länge eines Strings
strncat verkettet einen String mit einem Teilstring
strncpy kopiert einen Teilstring auf einen anderen Speicherplatz
strpbrk ermittelt die Position des ersten Begrenzungszeichens
strrchr sucht von rechts nach links in einem String nach einem Zeichen
strspn sucht die Position eines nicht zur Vorgabemenge gehörigen Zeichens
strstr sucht einen Teilstring in einem String
strtok führt eine Token-Suche in einem String durch
Speicherfunktionen
memchr sucht in einem bestimmten Bereich nach einem Zeichen
memcmp vergleicht zwei Speicherbereiche miteinander
memset initialisiert einen Speicherbereich