8 - 2.1.4 C-Kurzeinführung: Anweisungen [ID:14275]
50 von 191 angezeigt

So, in diesem Abschnitt kommen wir jetzt zu Kapitelanweisungen. Das sind letztendlich

die Strukturen in einem C-Programm, mit denen man die Abläufe beschreibt. Eine Anweisung

kann ein Ausdruck sein, es kann ein Blog sein, eine Zusammenfassung mehrerer Ausdrücke,

oder es kann eine Kontrollstruktur sein. Ich habe hier mal einfach drei Beispiele dafür.

a ist gleich b plus c, ist ein einfacher Ausdruck. Oder hier durch die geschweiften Klammern

eingeschlossen zwei Ausdrücke, nämlich a ist gleich b plus c und x ist gleich 5. Und hier

das dritte, die Kontrollstruktur, if x ist gleich 5, then a ist gleich 3. Also letztendlich sind das

Dinge, die Sie aus anderen Programmen hier sprechen, so wie Sie es hier vor sich finden,

bereits kennen. Schauen wir uns die Ausdrücke mal noch ein bisschen genauer an. Das ist ein

Kapitel, das habe ich jetzt in diesem Jahr wieder reingefügt. Das ist eigentlich schon uralt,

aber ich habe festgestellt, doch ein paar Unterschiede gibt es dann doch zu solchen

zu Sprachen wie beispielsweise Java und deswegen möchte ich das Ganze noch mal kurz zusammenfassen.

Aber ich gehe da sehr sehr schnell jetzt drüber. Also ein Ausdruck ist letztendlich jede gültige

Kombination von Operatoren, Werten und Variablen. Wichtig bei der ganzen Geschichte ist die Reihenfolge

der Auswertung. Es gibt Vorrangregeln für Operatoren und die legen die Reihenfolge fest,

in denen die Ausdrücke abgearbeitet werden. Also das ist ein klassisches Punkt vor Strich,

dass also wenn Sie eine Multiplikation und eine Addition haben, dass dann erst die

Multiplikation ausgeführt wird und anschließend mit dem Ergebnis dann eine Addition. Wenn die

Vorrangregeln keine eindeutige Aussage geben und das gibt es in manchen Fällen, dann ist die Reihenfolge

undefiniert. Das ist natürlich der Worst Case, denn dann kann es sein, dass der eine C-Compiler

in einem anderen Code erzeugt wie ein anderer C-Compiler und sich das Programm dann einfach

unterschiedlich verhält. Im Zweifelsfall ist es immer gut mit Klammern zu arbeiten. Damit können

Sie jegliche Vorrangregeln überstimmen bzw. wenn es nicht eindeutig ist, dann auch die

Vorrangregeln wirklich festlegen. Unabhängig davon bleibt es dem Compiler aber trotzdem freigestellt,

Teilausdrücke in einer möglichst effizienten Folge auszuwerten und unter Umständen auch wenn das

Ergebnis des Gesamtausdrucks schon feststeht, einen Teil der Auswertung einfach wegzulassen.

Wir werden gleich doch sehen, wie das geht und warum das so ist. Das erste wäre der

Zuweisungsoperator, also Zuweisung eines Werts an eine Variable. Das ist simpel, A gleich 20,

wie hier in diesem Beispiel. Arithmetische Operatoren, die für alle Int- und Floatwerte

erlaubt sind, also damit auch für Characters, weil Characters sind ja auch Integers, also Addition,

Subtraktion, Multiplikation, Division, Modulooperation und dann die Vorzeichenoperatoren,

das unehre Minus, also minus drei als negative Zahl, das unehre Plus als positives Vorzeichen,

was man normalerweise weglässt, weil plus drei ist nichts anderes wie drei. Ein Beispiel für

so einen Ausdruck mit solchen Operatoren wäre dann so was wie A ist gleich minus fünf plus sieben

mal zwanzig, minus acht und hier haben wir natürlich den Vorrang sieben mal zwanzig wird

zuerst berechnet wegen der Vorrangregel für die multiplikativen Operatoren und dann wird die

Addition und die Subtraktion durchgeführt. Also das sollte jetzt wenig überraschend sein.

Dann gibt es spezielle Zuweisungsoperatoren, die plus oder die ob ist gleich Operatoren,

also so irgendetwas wie hier in diesem Beispiel A plus gleich 24 ist nichts anderes wie A ist

gleich A plus 24. Ich glaube da muss ich auch nicht im Einzelnen darauf eingehen. Diese Kombination

mit dem ist gleich ist im Prinzip für eine Vielzahl von Operatoren, die ich hier aufgeführt habe,

möglich. Die Vergleichsoperatoren sind eigentlich auch relativ wenig überraschend, aber haben doch

eine kleine Besonderheit. Also es gibt die normalen kleiner, kleiner gleich, größer, größer gleich

Operatoren. Der ist gleiche Operator, da muss man immer wieder darauf hinweisen, es sind zwei

Gleichheitszeichen. Ein einzelnes Gleichheitszeichen ist was anderes. Einzelnes Gleichheitszeichen

ist eine Zuweisung. Ja und dann natürlich noch der Ungleichsoperator. Das besondere bei den

Vergleichsoperatoren ist, dass der Ergebnis Typ nicht wie in vielen anderen Programmiersprachen

ein Wahrheitswert ist, sondern er ist ein Integer. Wenn das Ergebnis der ganzen Operation war ist,

dann kommt da eins bei raus und wenn das Ergebnis falsch ist, kommt Null bei raus. Das heißt also,

wenn sie Wert A haben, A ist jetzt vielleicht minus 8, hatten wir glaube ich jetzt auf der Folie

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:21:35 Min

Aufnahmedatum

2020-04-27

Hochgeladen am

2020-04-27 14:06:20

Sprache

de-DE

Tags

module programmstruktur Variablen Datentypen Preprozessor Gültigkeit
Einbetten
Wordpress FAU Plugin
iFrame
Teilen