Die C Datentypen
Variablen Typ Keyword Bytes Bereich
character char 1 -128 ... bis ... 127
integer int 2 -32768 ... bis ... 32767
short integer short 2 -32768 ... bis ... 32767
long integer long 4 - 2 147 483 648 ... bis ... 2 147 483 647
unsigned character unsigned char 1 0 ... bis ... 255
unsigned integer unsigned int 2 0 ... bis ... 65 535
unsigned short integer unsigned short 2 0 ... bis ... 65 535
unsigned long integer unsigned long 4 0 ... bis ... 4 294 967 295
Single-precision floating-point float 4 1.2E-38 ... bis ... 3.4E38   ca. 7 Stellen
double-precision floating-point double 8 2.2E-308 ... bis ... 1.8E308   ca. 15 Stellen
Die C Kontrollstrukturen
Verzweigungen
if (bedingung)
 anweisung1
else
 anweisung2
Ist bedingung erfüllt, wird anweisung1 ausgeführt, sonst anweisung2.
if ( n > 0 )
 puts("n > 0");
else
 puts("n <= 0");
switch (xp) {
case const1:
 anweisung
 break;
case const2:
 anweisung
 break;
default:
 anweisung
}
Hat xp bei switch den Wert einer case- Konstanten, so wird bei dieser Marke fortgesetzt. Bei keiner Übereinstimmung wird bei default fortgefahren. Die default Marke ist optional.
switch (n) {
case 1:
 puts("n ist 1");
 break;
case 2:
 puts("n ist 2");
 break;
default:
 puts("n<1 od. n>2");
}
Schleifen
for (xp1;xp2;xp3)
 anweisung
Die for Zählschleife wird mittels xp1 initialisert; xp2 stellt die Abbruchbedingung dar und xp3 dient der Reinitialisierung.
for (i=1;i<11;i=i+1)
 printf("i=%i",i);
while (xp)
 anweisung
Solange xp logisch wahr (TRUE) liefert, wird anweisung ausgeführt. Ist xp FALSE wird anweisung nicht ausgeführt.
n=1;
while (n<11) {
 printf("n=%i",n);
 n++;
}
do
 anweisung
while (xp);
Solange xp logisch wahr liefert, wird anweisung ausgeführt. Diese Schleife unterscheidet sich von while dadurch, daß anweisung mindestens einmal ausgeführt wird, bevor xp bewertet wird.
n=1;
do {
 printf("n=%i",n);
 n++;
} while (n<11);
Die C Operatoren
Mathematische Operatoren
+ Addition Addiert zwei Operanden x + y
- Subtraktion Subtrahiert den zweiten Operanden vom ersten x - y
* Multiplikation Produkt der Operanden x * y
/ Division Dividiert den ersten mit dem zweiten Operanden x / y
% Modulus Liefert Rest bei Ganzzahl- Division von x durch y x % y
++ Inkrement Addiert 1 x++, ++x
-- Dekrement Subtrahiert 1 x--, --x

Vergleichs-Operatoren
= = gleich x gleich y ? x = = y
> größer als x größer y ? x > y
< kleiner als x kleiner als y ? x < y
>= größer
od. gleich
x größer oder gleich y ? x >= y
<= kleiner od. gleich x kleiner oder gleich y ? x <= y
!= ungleich x ungleich y ? x != y
Logische Operatoren
&& und Nur wahr, falls beide Ausdrücke wahr (exp1 && exp2)
|| oder Nur falsch falls beide Ausdrücke falsch (exp1 || exp2)
! nicht Negation des Wahrheitsgehalts von exp1 (!exp1)

Bedingungs-Operator
? : Bedingung
(if/then/else)
Wenn exp1 wahr ist, ist das Ergebnis exp2, sonst ist das Ergebnis exp3. exp1 ? exp2 : exp3

Verbund-Operatoren
+= Verbund Addition x += y ist äquivalent zu x = x + y
-= Verbund Subtraktion x -= y ist äquivalent zu x = x - y
*= Verbund Multiplikation x *= y ist äquivalent zu x = x * y
/= Verbund Division x /= y ist äquivalent zu x = x / y
%= Verbund Modulus x %= y ist äquivalent zu x = x % y

Die C Schlüsselwörter
KEYWORDDESCRIPTION
asmC keyword that denotes inline assembly languege code
autoThe default storage class
breakC command that exits for, while, switch, and do ... while statements unconditionally
caseC command used within the switch Statement
charThe simplest C data type
constC data modifier that prevents a variable from being changed. See volatile.
continueC command that resets a for, while, or do ... while statement to the next iteration
defaultC command used within the switch statement to catch any instances not specified with a case statement
doC looping command used in conjunction with the while statement the loop will always execute at least once.
doubleC data type that can hold doubleprecision floating-point values
elseStatement signaling alternative statements to be executed when an if statement evaluates to FALSE
enumC data type that allows variabel to be declared that accept only certain values
externC data modifier indicating that a variable will be declared in another area of the program
float C data type used for floating-point numbers
forC looping command that contains initialization incrementation and conditional sections
gotoCauses a jump to a predefined label
ifC command used to change program flow based on a TRUE/FALSE decision
intC data type used to hold integer values
KEYWORDDESCRIPTION
longC data type used to hold larger integer values than int
registerStorage modifier that specifies that a variable should be stored in a register, if possible
returnC command that causes program flow to exit from the current function and return to the calling function; also can be used to return a single value.
short C data type used to hold integers; not commonly used and is the same size as an int on most computers
signedC modifier used to signify that a variable can have both positive and negative values
sizeofC operator that returns the size (number of bytes) of the item
staticC modifier used to signify that the compiler should retain the variable's value
structC keyword used to combine C variabies of any data types into a group
switchC command used to change program flow into a multitude of directions; used in conjunction with the case statement
typedef C modifier used to create new names for existing variable and function types
union C keyword used to allow multiple variables to share the same memory space
unsignedC modifier used to signify that a variable will only contain positive values. See signed.
voidC keyword used to either signify that a function does not return anything or that a pointer being used is considered generic (able to point to any data type)
volatileC modifier that signifies a variable can be changed. See const.
while C looping statement that executes a section of code as long as a condition remains TRUE