if
if ([Test]) <Code wird ausgeführt, wenn [Test] true ist>
if - else
if ([Test]) <Code wird ausgeführt, wenn [Test] true ist> else <Code wird ausgeführt, wenn [Test] false ist>
Mehrfaches if - else
if ([Test1]) <Code wird ausgeführt, wenn [Test1] true ist> else if ([Test2]) <Code wird ausgeführt, wenn [Test1] false und [Test2] true ist> else <Code wird ausgeführt, wenn [Test1] false und [Test2] false ist>
switch
switch (<variable>) { case <testval1> : <Code wird ausgeführt, wenn [variable] ist [testval1>] break; case <testval2> : <Code wird ausgeführt, wenn [variable] ist [testval2>] break; default : <Code wird ausgeführt, wenn [variable] ist weder [testval1] noch [testval2>] break; }
switch mit durchfallen
switch (<variable>) { case <testval1> : <Code wird ausgeführt, wenn [variable] ist [testval1>] case <testval2> : <Code wird ausgeführt, wenn [variable] ist entweder [testval1>] oder [testval2>] break; default : <Code wird ausgeführt, wenn [variable] ist weder [testval1] noch [testval2>] break; }
In allen Schleifen kann das Schlüsselwort break verwendet werden, um die Schleife zu verlassen und die Ausführung unmittelbar nach der Schleife fortzusetzen.
In allen Schleifen kann das Schlüsselwort continue verwendet werden, um den im Hauptteil der Schleife verbleibenden Code zu überspringen und die Ausführung bei der nächsten Iteration des Schleifentests fortzusetzen.
while
while (<test>) <Code wird wiederholt ausgeführt, solange der Test wahr ist>
do-while
do <Code wird einmal und dann wiederholt ausgeführt, solange der Test wahr ist> while (<test>)
for
for (<Anfangsbedingung>; <increment>; <Beendigungsbedingung>) <Code wird wiederholt ausgeführt, bis die Beendigungsbedingung erfüllt ist>
Name | Beschreibung | Bytes |
---|---|---|
char | Ein einzelnes Alphanumerisches Zeichen | 1 |
signed char | Vorzeichenbehafteter 8-bit Integer (-128 bis 127) | 1 |
unsigned char | Vorzeichenloser 8-bit Integer (0 bis 255) | 1 |
short, signed short | Vorzeichenbehafteter 16-bit integer (-32768 bis 32767) | 2 |
unsigned short | Vorzeichenloser 16-bit integer (0 - 65535) | 2 |
int, signed int | Vorzeichenbehafteter 32-bit integer (-2.147.483.648 bis 2.147.483.647) | 4 |
unsigned int | Vorzeichenloser 32-bit integer (0 bis 4.294.967.295) | 4 |
long, signed long | Vorzeichenbehafteter 32-bit integer (-2.147.483.648 bis 2.147.483.647) | 4 |
unsigned long | Vorzeichenloser 32-bit integer (0 - 4.294.967.295) | 4 |
float | Fließkommazahl (+/- 3,402823 x 1038) | 4 |
double | Fließkommazahl (+/- 10308) | 8 |
Je nach Plattform kann int entweder ein short int (16 Bit) oder ein long int (32 Bit) sein. In Raspbian ist int gemäß der obigen Tabelle ein long (32-Bit) Ganzzahlwert.
Zeichen | Bedeutung |
---|---|
%c | Wert als ASCII-Zeichen - char |
%d | Vorzeichenbehafteter Dezimalwert - int |
%ld | Vorzeichenbehafteter Dezimalwert - long int |
%u | Vorzeichenloser Dezimalwert - int |
%lu | Vorzeichenloser Dezimalwert - long int |
%o | Oktaler Wert - int |
%lo | Oktaler Wert - long int |
%x, %X | Hexadezimaler Wert - int *) |
%lx, %lX | Hexadezimaler Wert - long int *) |
%f | Fließkommawert - float |
%e, %E | Exponentialwert - float |
%s | Zeichenkette (String) - char pointer |
*) %x zeigt einen Wert hexadezimal mit Kleinbuchstaben a bis f an
%X zeigt einen Wert hexadezimal mit Großbuchstaben A bis F an
Die Breite (oder Mindestanzahl der gedruckten Zeichen) kann durch Einfügen einer Zahl zwischen % und Buchstabe festgelegt werden. Dadurch wird ein kürzerer Wert mit Leerzeichen am Anfang aufgefüllt. Um Leerzeichen am Ende einzufügen, fügen Sie ein - zwischen % und der Zahl ein. Um mit führenden Nullen aufzufüllen, fügen Sie eine 0 zwischen % und der Zahl ein.
Wenn Sie beispielsweise eine Ganzzahlvariable mit dem Wert 42 drucken, wird mit dem Formatbezeichner %5d 42 mit drei Leerzeichen davor gedruckt. Der Formatbezeichner %-5d druckt 42 mit drei Leerzeichen danach. Der Formatbezeichner %05d gibt es als 00042 aus.
Die Anzahl der Dezimalstellen, die für einen Gleitkomma- oder Exponentialwert angezeigt werden, kann durch Einfügen eines Dezimalpunkts gefolgt von einer Zahl zwischen % und dem Buchstaben festgelegt werden. Dies kann mit einer Breite kombiniert werden, indem die Breite vor dem Dezimalpunkt steht.
Wenn Sie beispielsweise eine Gleitkommavariable mit dem Wert 76.54321 drucken, wird sie mit dem Formatbezeichner %.2f als 76.54 gedruckt. Der Formatbezeichner %08.2f gibt es als 00076.54 aus. (Beachten Sie, dass der Dezimalpunkt ein Zeichen der angegebenen Breite einnimmt.)
Symbol | Funktion |
---|---|
a + b | Addition |
a - b | Substraktion |
b / a | Division |
a * b | Multiplikation |
b % a | Modulo (Rest) |
a & b | Bitweises AND |
a │ b | Bitweises OR |
a ^ b | Bitweises XOR |
a « b | Bit Shift links |
a « b | Bit Shift rechts |
~a | Bitweises 1er Complement |
!a | Logisches NOT |
Die Operatoren in der unteren Tabelle modifizieren den Wert von a direkt.
Symbol | Funktion |
---|---|
a++ | Addiere 1 zu a *) |
a- - | Subtrahiere 1 von a a *) |
++a | Addiere 1 zu a a *) |
- -a | Subtrahiere 1 von a a *) |
a += b | Addiere a zu b |
a -= b | Subtrahiere b von a |
a *= b | Multiplikation |
b /= a | Division |
b %= a | Rest von b / a |
a &= b | Bitweises AND a mit b |
a │= b | Bitweises OR a mit b |
a ^= b | Bitweises XOR a mit b |
a «= b | Bit Shift a links mit b |
a »= b | Bit Shift a rechts mit b |
*) Der Unterschied zwischen a++ und ++a besteht darin, dass sie in einem Test verwendet werden, z.B. wenn (a++), a++ den Wert testet und dann erhöht, während ++a zuerst den Wert erhöht und dann den inkrementierten Wert testet.
Die Operatoren in der folgenden Tabelle werden für Vergleiche in Tests verwendet.
Symbol | Funktion |
---|---|
== | ist gleich mit |
!= | ist nicht gleich mit |
> | ist größer als |
< | ist kleiner als |
>= | ist größer gleich |
<= | ist kleiner gleich |