C - Entscheidungskriterien: Ein Anfängerguide

Hallo da draußen, zukünftige Programmierer! Willkommen in der aufregenden Welt der C-Programmierung. Ich freue mich sehr, Ihr Guide auf dieser Reise durch eines der grundlegendsten Konzepte im Programmieren zu sein: Entscheidungskriterien. Als jemand, der seit über einem Jahrzehnt C unterrichtet, kann ich Ihnen versichern, dass das Beherrschen dieser Konzepte ein echter Game-Changer in Ihrem Programmierabenteuer sein wird. Also, tauchen wir ein!

C - Decision Making

If-Anweisung in der C-Programmierung

Stellen Sie sich vor, Sie sind in einem Eiscreme-Geschäft und müssen entscheiden, ob Sie ein Eis kaufen sollen oder nicht. In der Programmierung verwenden wir die 'if'-Anweisung für solche Entscheidungen. Es ist so, als ob Sie eine Frage stellen und basierend auf der Antwort etwas tun.

Hier ist, wie es in C aussieht:

if (bedingung) {
// Code, der ausgeführt wird, wenn die Bedingung wahr ist
}

Schauen wir uns ein echtes Beispiel an:

#include <stdio.h>

int main() {
int kugeln = 2;

if (kugeln > 1) {
printf("Wow, das ist eine Menge Eiscreme!\n");
}

return 0;
}

In diesem Beispiel wird die Nachricht gedruckt, wenn die Anzahl der Kugeln größer als 1 ist. Probieren Sie, den Wert von 'kugeln' zu ändern und sehen Sie, was passiert!

If...else-Anweisung in der C-Programmierung

Was ist, wenn wir etwas tun möchten, wenn die Bedingung falsch ist? Dann kommt die 'if...else'-Anweisung ins Spiel. Es ist wie ein Plan B.

if (bedingung) {
// Code, der ausgeführt wird, wenn die Bedingung wahr ist
} else {
// Code, der ausgeführt wird, wenn die Bedingung falsch ist
}

Lassen Sie uns unser Eiscreme-Beispiel erweitern:

#include <stdio.h>

int main() {
int geld = 5;
int eiscreme_kosten = 6;

if (geld >= eiscreme_kosten) {
printf("Juhu! Du kannst ein Eis kaufen!\n");
} else {
printf("Leider nicht genug Geld für Eiscreme heute.\n");
}

return 0;
}

Hier überprüfen wir, ob wir genug Geld für Eiscreme haben. Wenn ja, toll! Wenn nicht, gibt es immer ein nächstes Mal.

Geschachtelte If-Anweisungen in der C-Programmierung

Manchmal ist das Leben (und die Programmierung) nicht nur eine Entscheidung. Oft müssen wir Entscheidungen innerhalb von Entscheidungen treffen. Das ist, wo geschachtelte 'if'-Anweisungen ins Spiel kommen.

if (äußere_bedingung) {
if (innere_bedingung) {
// Code, der ausgeführt wird, wenn beide Bedingungen wahr sind
}
}

Schauen wir uns ein komplexeres Eiscreme-Szenario an:

#include <stdio.h>

int main() {
int temperatur = 30;
int hat_geld = 1; // 1 bedeutet wahr, 0 bedeutet falsch

if (temperatur > 25) {
if (hat_geld) {
printf("Es ist heiß und du hast Geld. Zeit für Eiscreme!\n");
} else {
printf("Es ist heiß, aber kein Geld für Eiscreme. Vielleicht eine kalte Dusche?\n");
}
} else {
printf("Es ist nicht so heiß. Spare dein Geld für einen regnerischen Tag.\n");
}

return 0;
}

Dieses Programm berücksichtigt sowohl die Temperatur als auch das Vorhandensein von Geld, bevor es Eiscreme vorschlägt.

Switch-Anweisung in der C-Programmierung

Die 'switch'-Anweisung ist wie ein mehrschichtiger Eiscreme-Durchbruch der Entscheidungskriterien. Sie ist perfekt, wenn Sie zwischen mehreren Optionen wählen müssen.

switch(ausdruck) {
case konstante1:
// Code, der ausgeführt wird, wenn der Ausdruck konstante1 entspricht
break;
case konstante2:
// Code, der ausgeführt wird, wenn der Ausdruck konstante2 entspricht
break;
...
default:
// Code, der ausgeführt wird, wenn der Ausdruck keiner Konstanten entspricht
}

Lassen Sie uns verwenden, um Eiscreme-Sorten auszuwählen:

#include <stdio.h>

int main() {
int geschmack = 2;

switch(geschmack) {
case 1:
printf("Du hast Vanille gewählt. Klasisch!\n");
break;
case 2:
printf("Schokolade ist's. Lecker!\n");
break;
case 3:
printf("Erdbeere, eine fruchtige Freude!\n");
break;
default:
printf("Wir haben diese Sorte nicht. Wie wäre es mit Vanille?\n");
}

return 0;
}

Dieses Programm wählt eine Nachricht basierend auf der gewählten Geschmacksnummer aus.

Ternäres Operator in der C-Programmierung

Der ternäre Operator (?:) ist wie eine Kurzform der 'if...else'-Anweisung. Er ist perfekt für schnelle, einfache Entscheidungen.

bedingung ? ausdruck_wahr : ausdruck_falsch;

Hier ist eine knappe Möglichkeit, eine Entscheidung über das Dessert zu treffen:

#include <stdio.h>

int main() {
int hunger = 1; // 1 für wahr, 0 für falsch

printf(hunger ? "Lass uns Eiscreme holen!\n" : "Vielleicht später.\n");

return 0;
}

Dieser eine Zeiler überprüft, ob Sie hungrig sind, und schlägt Eiscreme vor, wenn ja.

Break-Anweisung in der C-Programmierung

Die 'break'-Anweisung ist so, als ob Sie in der Mitte eines Gesprächs sagen "Ich bin hier fertig". Sie wird verwendet, um früh aus Schleifen oder Switch-Anweisungen auszusteigen.

#include <stdio.h>

int main() {
int i;
for(i = 1; i <= 10; i++) {
if(i == 5) {
printf("5 gefunden! Lass uns hier aufhören.\n");
break;
}
printf("%d ", i);
}
return 0;
}

Dieses Programm zählt bis 10, aber stoppt, wenn es 5 erreicht.

Continue-Anweisung in der C-Programmierung

'Continue' ist so, als ob Sie in einem Gespräch sagen "Überspringe dies und gehe weiter". Es überspringt den Rest der aktuellen Iteration in einer Schleife und geht zur nächsten über.

#include <stdio.h>

int main() {
int i;
for(i = 1; i <= 5; i++) {
if(i == 3) {
printf("Ups, lasst uns 3 überspringen.\n");
continue;
}
printf("Eiscreme-Schuss Nummer %d\n", i);
}
return 0;
}

Dieses Programm zählt Eiscreme-Schüsse, aber überspringt Nummer 3.

Goto-Anweisung in der C-Programmierung

Die 'goto'-Anweisung ist wie ein Teleportationsgerät in Ihrem Code. Sie springt zu einer gekennzeichneten Anweisung. Verwenden Sie es jedoch sparsam, da es den Code schwer lesbar machen kann.

#include <stdio.h>

int main() {
int schüsse = 0;

scoop_more:
schüsse++;
printf("Ein Schuss hinzugefügt. Insgesamt: %d\n", schüsse);

if(schüsse < 3) {
goto scoop_more;
}

printf("Eiscreme-Sundae fertig!\n");
return 0;
}

Dieses Programm fügt Schüsse zu Ihrem Sundae hinzu, bis Sie drei haben.

Hier ist eine Tabelle, die alle Entscheidungsmethoden zusammenfasst, die wir behandelt haben:

Methode Zweck Syntax
if Einfache Bedingungsprüfung if (bedingung) { ... }
if...else Zweigweg-Entscheidung if (bedingung) { ... } else { ... }
Geschachtelte if Mehrere Bedingungen if (bedingung1) { if (bedingung2) { ... } }
switch Mehrere Optionen switch(ausdruck) { case konstante: ... }
?: Schnelle, einfache Entscheidung bedingung ? wahr_ausdruck : falsch_ausdruck
break Schleife oder Switch früh beenden break;
continue Zum nächsten Schleifen-Durchgang springen continue;
goto Zu einer gekennzeichneten Anweisung springen goto kennung;

Erinnern Sie sich daran, dass Übung den Meister macht! Versuchen Sie, Ihre eigenen Programme mit diesen Konzepten zu schreiben. Bereit zum Coden!

Credits: Image by storyset