Voorwaardelijke instructies in C: If, Else, geneste If met voorbeeld
โก Slimme samenvatting
Voorwaardelijke instructies in C bepalen de programmastroom door codeblokken alleen uit te voeren wanneer een geteste voorwaarde waar is. Dit maakt besluitvorming mogelijk via if-, if-else-, geneste en else-if-constructies.

Wat is een voorwaardelijke verklaring in C?
Voorwaardelijke instructies in C-programmering worden gebruikt om beslissingen te nemen op basis van voorwaarden. Voorwaardelijke instructies worden sequentieel uitgevoerd wanneer er geen voorwaarde aan de instructies is verbonden. Als je een voorwaarde aan een blok instructies toevoegt, kan de uitvoeringsvolgorde veranderen op basis van het resultaat dat door de voorwaarde wordt geรซvalueerd. Dit proces wordt besluitvorming in C genoemd.
Anders lussen in C Bij herhaalde code kiezen voorwaardelijke instructies รฉรฉn pad.
In de C-programmering zijn voorwaardelijke statements mogelijk met behulp van de volgende twee constructies:
- Als statement
- If-else-instructie
Het wordt ook wel vertakking genoemd, omdat een programma beslist welke instructie moet worden uitgevoerd op basis van het resultaat van de geรซvalueerde voorwaarde.
Als statement
Het is een van de krachtige voorwaardelijke verklaringen. De If-instructie is verantwoordelijk voor het wijzigen van de uitvoeringsstroom van een programma. If-instructie wordt altijd gebruikt met een voorwaarde. De voorwaarde wordt eerst geรซvalueerd voordat een instructie in de hoofdtekst van If wordt uitgevoerd. De syntaxis voor de if-instructie is als volgt:
if (condition)
instruction;
De voorwaarde resulteert in waar of onwaar. Waar is altijd een waarde die niet nul is, en onwaar is een waarde die nul bevat. Instructies kunnen een enkele instructie zijn of een codeblok tussen accolades { }.
Het volgende programma illustreert het gebruik van de if-constructie in 'C'-programmering:
#include<stdio.h> int main() { int num1=1; int num2=2; if(num1<num2) //test-condition { printf("num1 is smaller than num2"); } return 0; }
Output:
num1 is smaller than num2
Het bovenstaande programma illustreert het gebruik van de if-constructie om te controleren of twee getallen gelijk zijn.
- In het bovenstaande programma hebben we twee variabelen geรฏnitialiseerd met num1, num2 met respectievelijk de waarde 1 en 2.
- Vervolgens hebben we if met een test-expressie gebruikt om te controleren welk getal het kleinste en welk getal het grootste is. We hebben een relationele expressie gebruikt in if construct. Omdat de waarde van num1 kleiner is dan num2, wordt de voorwaarde geรซvalueerd als waar.
- Het zal dus de instructie binnen het blok If afdrukken. Daarna gaat de besturing buiten het blok en wordt het programma met succesvol resultaat beรซindigd.
relationele Operaverdraaid
C heeft zes relationele operatoren die gebruikt kunnen worden om een โโBooleaanse expressie te formuleren voor het nemen van een beslissing en het testen van voorwaarden, die waar of onwaar retourneert:
<โ minder dan<=โ kleiner dan of gelijk aan>โ groter dan>=โ groter dan of gelijk aan==โ gelijk aan!=โ niet gelijk aan
Merk op dat de gelijkheidstest (==) verschilt van de toewijzingsoperator (=), omdat het een van de meestvoorkomende problemen is waarmee een programmeur te maken krijgt als hij ze door elkaar haalt.
Bijvoorbeeld:
int x = 41; x =x+ 1; if (x == 42) { printf("You succeed!");}
Output:
You succeed
Houd er rekening mee dat een voorwaarde die resulteert in een waarde die niet nul is, als waar wordt beschouwd.
Bijvoorbeeld:
int present = 1; if (present) printf("There is someone present in the classroom \n");
Output:
There is someone present in the classroom
De If-Else-verklaring
De if-else-instructie is een uitgebreidere versie van de if-instructie. De algemene vorm van if-else is als volgt:
if (test-expression)
{
True block of statements
}
Else
{
False block of statements
}
Statements;
Bij dit type constructie wordt, als de waarde van de testuitdrukking waar is, het blok met instructies dat waar is uitgevoerd. Als de waarde van de testuitdrukking onwaar is, wordt het blok met instructies dat onwaar is uitgevoerd. In beide gevallen wordt de controle na de uitvoering automatisch overgedragen aan de instructies buiten het If-blok.
De volgende programma's illustreren het gebruik van de if-else constructie:
We zullen een variabele met een bepaalde waarde initialiseren en een programma schrijven om te bepalen of de waarde kleiner dan tien of groter dan tien is.
Laten we beginnen.
#include<stdio.h> int main() { int num=19; if(num<10) { printf("The value is less than 10"); } else { printf("The value is greater than 10"); } return 0; }
Output:
The value is greater than 10
- We hebben een variabele met waarde 19 geรฏnitialiseerd. Met behulp van een 'C'-programma moeten we erachter komen of het getal groter of kleiner is dan 10. Om dit te doen, hebben we de if-else-constructie gebruikt.
- Hier hebben we een voorwaarde num<10 opgegeven, omdat we onze waarde moeten vergelijken met 10.
- Zoals je kunt zien is het eerste blok altijd een waar blok, wat betekent dat als de waarde van de test-expressie waar is, het eerste blok, If, zal worden uitgevoerd.
- Het tweede blok is een else-blok. Dit blok bevat de instructies die worden uitgevoerd als de waarde van de testexpressie onwaar wordt. In ons programma is de waarde van num groter dan tien, waardoor de testvoorwaarde onwaar wordt en anders wordt het blok uitgevoerd. Onze uitvoer zal dus afkomstig zijn van een else-blok dat luidt: "De waarde is groter dan 10". Na de if-else wordt het programma beรซindigd met een succesvol resultaat.
Bij 'C'-programmeren kunnen we meerdere if-else-constructies in elkaar gebruiken, ook wel het nesten van if-else-instructies genoemd.
Voorwaardelijke expressies
Een andere manier om een โโif-else-instructie uit te drukken is door de operator ?: te gebruiken. In een voorwaardelijke expressie heeft de operator ?: slechts รฉรฉn instructie die aan de if en de else is gekoppeld.
Bijvoorbeeld:
#include <stdio.h> int main() { int y; int x = 2; y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */ printf("y =%d ",y); return 0;}
Output:
y =2
Geneste If-else-instructies
Wanneer een reeks beslissingen nodig is, wordt geneste if-else gebruikt. Nesten betekent het gebruik van een if-else-constructie binnen een andere.
Laten we een programma schrijven om het gebruik van geneste if-else te illustreren.
#include<stdio.h> int main() { int num=1; if(num<10) { if(num==1) { printf("The value is:%d\n",num); } else { printf("The value is greater than 1"); } } else { printf("The value is greater than 10"); } return 0; }
Output:
The value is:1
Het bovenstaande programma controleert of een getal kleiner of groter is dan 10 en drukt het resultaat af met behulp van een geneste if-else-constructie.
- Ten eerste hebben we een variabele num gedeclareerd met de waarde 1. Vervolgens hebben we de if-else-constructie gebruikt.
- In de buitenste if-else-structuur wordt gecontroleerd of een getal kleiner is dan 10. Alleen als aan deze voorwaarde is voldaan, wordt het binnenste blok uitgevoerd. In dit geval is de voorwaarde waar, dus wordt het binnenste blok verwerkt.
- In het binnenste blok hebben we opnieuw een voorwaarde die controleert of onze variabele de waarde 1 bevat. Als de voorwaarde waar is, wordt het if-blok uitgevoerd; anders wordt het else-blok uitgevoerd. In dit geval is de voorwaarde waar, dus wordt het if-blok uitgevoerd en wordt de waarde op het scherm weergegeven.
- Het bovenstaande programma print de waarde van een variabele en sluit succesvol af.
Probeer de waarde te wijzigen variabele Bekijk hoe het programma zich gedraagt.
LET OP: Bij geneste if-else-structuren moeten we goed letten op de inspringing, omdat er meerdere if-else-constructies bij betrokken zijn. Hierdoor kan het lastig zijn om de afzonderlijke constructies te onderscheiden. Correcte inspringing maakt het programma leesbaarder.
Geneste Else-if-instructies
Genest else-if wordt gebruikt wanneer multipath-beslissingen vereist zijn.
De algemene syntaxis van hoe else-if-ladders worden geconstrueerd in 'C'-programmering is als volgt:
if (test - expression 1) { statement1; } else if (test - expression 2) { Statement2; } else if (test - expression 3) { Statement3; } else if (test - expression n) { Statement n; } else { default; } Statement x;
Dit type structuur staat bekend als de else-if-ladder. Deze keten heeft over het algemeen de vorm van een ladder, vandaar de naam else-if-ladder. De testuitdrukkingen worden van boven naar beneden geรซvalueerd. Wanneer een testuitdrukking waar is, wordt de bijbehorende instructie uitgevoerd. Wanneer alle n testuitdrukkingen onwaar worden, wordt de standaard else-instructie uitgevoerd.
Laten we eens kijken hoe het daadwerkelijk werkt met behulp van een programma.
#include<stdio.h> int main() { int marks=83; if(marks>75){ printf("First class"); } else if(marks>65){ printf("Second class"); } else if(marks>55){ printf("Third class"); } else{ printf("Fourth class"); } return 0; }
Output:
First class
Het bovenstaande programma drukt het cijfer af volgens de cijfers die in een test zijn behaald. In het bovenstaande programma hebben we de else-if-ladderconstructie gebruikt.
- We hebben een variabele met markeringen geรฏnitialiseerd. In de else-if-ladderstructuur hebben we verschillende voorwaarden gesteld.
- De waarde van de variabele markeringen wordt vergeleken met de eerste voorwaarde, aangezien het waar is dat de bijbehorende verklaring op het uitvoerscherm wordt afgedrukt.
- Als de eerste testvoorwaarde onwaar blijkt te zijn, wordt deze vergeleken met de tweede voorwaarde.
- Dit proces gaat door totdat alle expressies zijn geรซvalueerd; anders verlaat de code de else-if-structuur en wordt de default-instructie afgedrukt.
Probeer de waarde te wijzigen en merk de verandering in de uitvoer op.





