if, else und switch-case in C – einfach erklärt (2024)

Video anzeigen

zur Videoseite: if, else und switch-case

Du möchtest wissen, wie die Befehle if, if else und switch-case in C funktionieren? Hier erklären wir dir, wann du diese Befehle verwenden kannst an einem einfachen Beispiel.

Inhaltsübersicht

Einfaches Beispiel zum Fallunterscheidungsprinzip

im Videozur Stelle im Video springen

(00:14)

Stell dir vor, du möchtest Pizza bei einem Lieferdienst bestellen und verwendest dazu deren Software. Du klickst ganz einfach an, was du möchtest und erhältst es. Doch wie funktioniert das? Verantwortlich dafür ist das Fallunterscheidungsprinzip. Es funktioniert nach dem wenn – dann -Prinzip und sorgt dafür, dass du dein Essen bekommst. Die Implementierung von Bedingungen und Wahlmöglichkeiten ermöglicht dabei deine Lieferung.

Schauen wir uns dazu doch erst einmal dieses simple Beispiel einer digitalen Speisekarte an. Der Einfachheit halber verwenden wir kein GUI, sondern arbeiten mit der Kommandozeile.

If in C

im Videozur Stelle im Video springen

(00:54)

Zuerst starten wir wie immer unsere main-Funktion. Dann deklarieren wir eine Variable, die wir später benutzen werden. Danach folgt die Ausgabe unseres Begrüßungsbildschirms für die Speisekarte. Darauffolgend lesen wir mittels der scanf-Funktion, einen Wert über die Kommandozeile ein und speichern ihn in choice.

if, else und switch-case in C – einfach erklärt (1)

direkt ins Video springen

Nun fügen wir das if ein, das unsere Bedingung einleitet. In die geschweiften Klammern hinter diesem if setzen wir einen Anweisungsblock, der unsere printf-Anweisung enthält. Diese gibt dem Kunden später die gewünschte Speisekarte aus, aber nur, wenn der Benutzer auch mit seiner Eingabe die Bedingung erfüllt. Diese schreiben wir immer in die runden Klammern zwischen dem if und dem Anweisungsblock. In unserem Fall handelt es sich um die Bedingung eine eins einzugeben.

Sollte der Kunde jedoch etwas anderes als eine eins eingeben und damit die Bedingung nicht erfüllen, so überspringen wir den gesamten Anweisungsblocks, der innerhalb der geschweiften Klammern steht, und fahren mit dem nachstehenden Programmcode fort. In unserem Fall handelt es sich dabei um ein weiteres if. Die Bedingung zur Ausführung dieses Blockes ist die Eingabe einer 2. Das hat also zur Folge, dass bei einem Programmablauf immer nur einer der beiden Blöcke durchlaufen wird. Schließlich kann unser Benutzer nicht gleichzeitig zwei Werte für die gleiche Variable festsetzen.

If else C

im Videozur Stelle im Video springen

(02:15)

Da wir hier nur zwei Möglichkeiten haben und sowieso immer eine der beiden ausgeführt wird, können wir statt zwei if-Bedingungen auch else verwenden.

if, else und switch-case in C – einfach erklärt (2)

direkt ins Video springen

Dazu fragen wir erst – wie gehabt – unsere erste if-Bedingung ab. Danach wird allerdings nicht einfach der nachfolgende Code ausgeführt, sondern, falls die Bedingung nicht erfüllt wurde, wird stattdessen der else-Block mit Anweisungen ausgeführt. Diesen fügen wir ein, indem wir direkt hinter die schließende geschweifte Klammer des Anweisungs-Blocks der if-Bedingung ein else schreiben und dessen Anweisungs-Block anhängen.

Der Vorteil ein solches Konstrukt zu verwenden liegt darin, dass wir Rechenleistung und damit auch Zeit sparen, da keine zweite Bedingung überprüft werden muss. Allerdings kann eine solche Regelung auch Probleme verursachen, wenn mehr als eine Möglichkeit vorliegt.

If else if C

im Videozur Stelle im Video springen

(03:04)

Sollte unser Gast zum Beispiel die vegane Option 3 wählen, so würde er im Moment trotzdem die vegetarische Karte angezeigt bekommen. Das liegt daran, dass unser Code im else-Block IMMER ausgeführt wird, wenn keine eins eingegeben wird. Das heißt, unser Gast könnte ebenso gut eine 300 eingeben – es würde keinen Unterschied machen.

if, else und switch-case in C – einfach erklärt (3)

direkt ins Video springen

Schwieriger wird es erst, wenn die vegetarische Karte noch einmal auf eine vegane Karte reduziert werden soll. Dazu brauchen wir nämlich eine weitere if-Bedingung, die wir in den else-Block hineinschreiben.

Switch-case C

im Videozur Stelle im Video springen

(03:39)

Noch schwieriger wird es, wenn wir nicht nur die Karte programmieren wollen, sondern die Kunden direkt die Pizzen über das System bestellen lassen möchten. Nun haben wir eine Unmenge an Möglichkeiten und es wäre nicht ratsam, für jede dieser Möglichkeiten eine if-Abfrage zu programmieren. Stattdessen bedienen wir uns eines Systems, dass extra für diese Fälle konstruiert wurde. Es nennt sich Switch-Case und ermöglicht uns aus einer Vielzahl von Alternativen zu wählen. Wir entfernen also die nun nutzlosen if-Abfragen aus unserem Programm und ersetzen sie durch switch.

if, else und switch-case in C – einfach erklärt (4)

direkt ins Video springen

Direkt hinter dieses switch schreiben wir unseren Wert, den wir vergleichen wollen. Dieser muss in jedem Fall die Form einer ganzzahligen Konstante annehmen. Danach listen wir alle unsere Möglichkeiten – also unsere cases – auf. Diese enthalten die Anweisungen für alle Fälle, die sich ergeben können. Also in unserem Fall für jede wählbare Pizza. Damit unser Fall aber eingeleitet werden kann, müssen wir hinter case den Wert angeben, der Bedingung für diesen ist. Wenn unser Benutzer eine eins eingibt, wird nun also eine Pizza Margherita bestellt, falls er eine zwei eingibt eine Pizza Carciofini usw.

if, else und switch-case in C – einfach erklärt (5)

direkt ins Video springen

Nachdem wir alle wählbaren Pizzen bearbeitet haben, stehen wir aber immer noch vor dem Problem, was wir mit ungültigen Eingaben, wie zum Beispiel Werten über sechs, unter null oder Buchstaben machen. Dafür gibt es zum Glück eine ganz einfache Lösung. Denn geben wir einen case als sogenannten default an, so wird dieser immer ausgeführt, sollte keiner der definierten, anderen Fälle zutreffen.

Nun kennst du das Prinzip, aber etwas ganz Wichtiges gilt es noch zu beachten. Würdest du dein Programm jetzt ausführen und der Benutzer gäbe eine Zahl ein, würden ab dem zutreffenden Fall alle Fälle ausgeführt werden. Damit das nicht geschieht, musst du nach den Anweisungen bei allen – bis auf den letzten Case – ein break einfügen. Dieser Befehl sorgt nämlich dafür, dass das Programm aus der Liste springt und mit dem nachfolgenden Code fortfährt.

Beliebte Inhalte aus dem BereichProgrammieren in C

  • Operatoren - GrundwissenDauer:04:13
  • for-Schleifen in CDauer:03:48
  • while-Schleifen in CDauer:06:40

Weitere Inhalte:Programmieren in C

Funktionen in C

Intro Funktionen in CDauer:01:32
Main-FunktionDauer:03:50
printf und scanfDauer:04:16
Bibliotheken und KommentareDauer:04:41
Die getchar()-FunktionDauer:04:20
Bedingungen und OperatorenDauer:05:08
if, else und switch-caseDauer:05:55
Operatoren - GrundwissenDauer:04:13
for-Schleifen in CDauer:03:48
while-Schleifen in CDauer:06:40
if, else und switch-case in C – einfach erklärt (2024)

References

Top Articles
NSW Government encourage economic growth in regional NSW - Power FM Bega Bay
Seven natural wonders to inspire your next trip
Uhauldealer.com Login Page
Kevin Cox Picks
Apex Rank Leaderboard
Free VIN Decoder Online | Decode any VIN
Pickswise the Free Sports Handicapping Service 2023
Jefferson County Ky Pva
Mikayla Campinos Videos: A Deep Dive Into The Rising Star
4Chan Louisville
What Is A Good Estimate For 380 Of 60
Thotsbook Com
Robert Malone é o inventor da vacina mRNA e está certo sobre vacinação de crianças #boato
Trini Sandwich Crossword Clue
Hartland Liquidation Oconomowoc
Lax Arrivals Volaris
Belle Delphine Boobs
Dutch Bros San Angelo Tx
Puretalkusa.com/Amac
Mals Crazy Crab
Wausau Marketplace
The Blind Showtimes Near Amc Merchants Crossing 16
Morristown Daily Record Obituary
Ups Drop Off Newton Ks
Filthy Rich Boys (Rich Boys Of Burberry Prep #1) - C.M. Stunich [PDF] | Online Book Share
Why Are Fuel Leaks A Problem Aceable
Breckiehill Shower Cucumber
Blackboard Login Pjc
Safeway Aciu
Tom Thumb Direct2Hr
The Clapping Song Lyrics by Belle Stars
His Only Son Showtimes Near Marquee Cinemas - Wakefield 12
Robert A McDougal: XPP Tutorial
Rugged Gentleman Barber Shop Martinsburg Wv
Mia Malkova Bio, Net Worth, Age & More - Magzica
Broken Gphone X Tarkov
Ridge Culver Wegmans Pharmacy
Haunted Mansion Showtimes Near Cinemark Tinseltown Usa And Imax
De beste uitvaartdiensten die goede rituele diensten aanbieden voor de laatste rituelen
Senior Houses For Sale Near Me
Indiana Wesleyan Transcripts
Best Weapons For Psyker Darktide
Dallas City Council Agenda
Quake Awakening Fragments
Wlds Obits
60 X 60 Christmas Tablecloths
2007 Jaguar XK Low Miles for sale - Palm Desert, CA - craigslist
Poe Self Chill
Sechrest Davis Funeral Home High Point Nc
Mike De Beer Twitter
Karen Kripas Obituary
211475039
Latest Posts
Article information

Author: Clemencia Bogisich Ret

Last Updated:

Views: 6177

Rating: 5 / 5 (60 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Clemencia Bogisich Ret

Birthday: 2001-07-17

Address: Suite 794 53887 Geri Spring, West Cristentown, KY 54855

Phone: +5934435460663

Job: Central Hospitality Director

Hobby: Yoga, Electronics, Rafting, Lockpicking, Inline skating, Puzzles, scrapbook

Introduction: My name is Clemencia Bogisich Ret, I am a super, outstanding, graceful, friendly, vast, comfortable, agreeable person who loves writing and wants to share my knowledge and understanding with you.