Kapitel dreizehn - Quick Reference

Kontrollstrukturen

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>

Variablentypen

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.

Format Platzhalter

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.)

Operatoren

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