
Die Programmiersprache C (Eine Kurzreferenz)
1.
Schlüsselwörter in C (reservierte Wörter
2. Rangfolge der Operatoren
3. Präprozessoranweisungen
4. Datentypen
5.Konstanten
6. Speicherklassen
7. Funktionen
8. Zeiger
9. dynamische Speicherverwaltung
10. Dateiarbeit
11. wichtige Bibliotheksfunktionen
12. Die Formatangaben von printf und scanf
|
break |
case |
char |
const |
continue |
|
default |
do |
double |
else |
enum |
|
extern |
float |
for |
goto |
if |
|
int |
long |
register |
return |
short |
|
signed |
sizeof |
static |
struct |
switch |
|
typedef |
union |
unsigned |
void |
while |
|
Operator |
Auswertung von |
|
() [] . -> |
links -> rechts |
|
! ~ - ++ -- & * (type) sizeof |
rechts -> links |
|
* / % |
links->rechts |
|
+ - |
links->rechts |
|
<< >> |
links->rechts |
|
< <= > >= |
links->rechts |
|
== != |
links->rechts |
|
& |
links->rechts |
|
^ |
links->rechts |
|
| |
links->rechts |
|
&& |
links->rechts |
|
|| |
links->rechts |
|
?: |
rechts->links |
|
= += -= etc. |
rechts->links |
|
, |
links->rechts |
|
#define |
Makros definieren |
|
#elif |
else...if-Zweig einer #if...-Anweisung |
|
#else |
else-Zweig einer #if...-Anweisung |
|
#endif |
Abschluß einer #if-Anweisung |
|
#error |
Fehlermeldung ausgeben |
|
#if |
Bedingte Compilierung, wenn Bedingung zutrifft |
|
#ifdef |
Bedingte Compilierung, wenn ein Makro definiert ist |
|
#ifndef |
Bedingte Compilierung, wenn ein Makro nicht definiert ist |
|
#include |
Zusätzliche Quelltexte aufnehmen |
|
#undef |
Makro-Definition entfernen |
char, unsigned char
int, unsigned int (unsigned), long int (long)
float
double
char name [32];
enum boolean
{
false,
true
};
struct datum
{
int tag;
int monat;
int jahr;
};
union int_oder_float
{
int var1;
float var2;
};
struct beispiel
{
unsigned a: 1;
unsigned b: 4;
unsigned c: 3;
};
typedef int WORD; /* typedef <bekannter Typ> <neuer Typ>; */
#define PI 3.1415
const float pi = 3.1415;
auto int a, b, c;
Das Schlüsselwort auto kann entfallen.
Geltungsbereich: lokal / global
Lebensdauer: Block / Modul / Programm
extern float wurzel, potenz;
Geltungsbereich: global
Lebensdauer: Programm
static int first = TRUE;
Geltungsbereich: lokal
Lebensdauer: Programm
register long counter;
Geltungsbereich: lokal
Lebensdauer: Block / Modul / Programm
double square (double);
double square (double value)
{
return (value * value);
}
char *ptr;
char wort [20];
char *ptr;
ptr = & wort[0]; /* bzw. ptr = wort; */
*ptr = 'A';
ptr++;
Beispiel: Funktion zum Kopieren eines Strings
void strcpy (char *dstPtr, char *srcPtr)
{
while ((*dstPtr++ = *srcPtr++) != '\0')
;
}
int *buffer;
buffer = (int *) malloc (size);
free (buffer);
FILE *stream;
stream = fopen ("TESTFILE.TXT", "wt");
if (stream == NULL)
{
fprintf (stderr, "Fehler
beim Öffnen der Datei !\n");
return (1);
}
fread (buffer, itemSize, nItems,
stream);
fscanf (stream, "%d", &count);
fwrite (buffer, itemSize, nItems, stream);
fprintf (stream, "%d", count);
fseek (stream, 0L, SEEK_END);
fclose (stream);
|
Funktion |
Typ |
vereinbart in |
Zweck |
|
abs(i) |
int |
stdlib.h |
Absolutwert von i |
|
ceil(d) |
double |
math.h |
zur nächsten ganzen Zahl aufrunden |
|
cos(d) |
double |
math.h |
Cosinus von d |
|
cosh(d) |
double |
math.h |
hyperbolischer Cosinus |
|
exp(d) |
double |
math.h |
e mit d potenzieren |
|
fabs(d) |
double |
math.h |
Absolutwert von d |
|
floor(d) |
double |
math.h |
zur nächstniedrigeren ganzen Zahl abrunden |
|
fmod(d1,d2) |
double |
math.h |
Divisionsrest von d1/d2 mit Vorzeichen wie d1 |
|
getchar() |
int |
stdio.h |
Zeichen von der Standardeingabe einlesen |
|
log(d) |
double |
math.h |
natürlicher Logarithmus von d |
|
pow(d1,d2) |
double |
math.h |
d1 mit d2 potenzieren |
|
printf(...) |
int |
stdio.h |
Datenelemente auf Standardausgabe ausgeben |
|
putchar(c) |
int |
stdio.h |
ein Zeichen auf Standardausgabe ausgeben |
|
rand() |
int |
stdlib.h |
eine positive ganze Zufallszahl erzeugen |
|
randomize() |
void |
stdlib.h |
Zufallsgenerator initialisieren |
|
sin(d) |
double |
math.h |
Sinus von d |
|
sqrt(d) |
double |
math.h |
Quadratwurzel von d |
|
srand(u) |
void |
stdlib.h |
Zufallsgenerator initialisieren |
|
scanf(...) |
int |
stdio.h |
Datenelemente von Standardeingabe lesen |
|
tan(d) |
double |
math.h |
Tangens von d |
|
toupper(c) |
int |
ctype.h |
Umwandlung in einen Großbuchstaben |
|
tolower(c) |
int |
ctype.h |
Umwandlung in einen Kleinbuchstaben |
|
Platzhalter |
für Typ |
wichtige Variationen |
|
%d |
int |
%x, %o |
|
%ld |
long |
%lx |
|
%f |
float |
%e, %g |
|
%lf |
double |
%le, %lg |
|
%c |
char |
- |
|
%s |
Zeichenkette mit abschl. '\0' |
- |