Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C Conditionele Statements Beheersen: IF, IF-ELSE en Geneste IF-ELSE Uitgelegd

Wat is een Conditionele Statement in C?

Conditionele statements in C programmeren worden gebruikt om beslissingen te nemen op basis van voorwaarden. Conditionele statements worden sequentieel uitgevoerd wanneer er geen voorwaarde om de statements heen is. Als je een voorwaarde voor een blok statements stelt, kan de uitvoeringsstroom veranderen op basis van het resultaat geëvalueerd door de voorwaarde. Dit proces heet besluitvorming in C.

In C-programmeren zijn conditionele statements mogelijk met behulp van de volgende twee constructies:

1. If-statement

2. If-else-statement

Dit wordt ook branching genoemd omdat een programma besluit welk statement uit te voeren op basis van het resultaat van de geëvalueerde voorwaarde.

In deze tutorial leer je:

  • Wat is een Conditionele Statement?
  • If-statement
  • Relationele Operatoren
  • If-Else-statement
  • Conditionele Expressies
  • Geneste If-else Statements
  • Geneste Else-if Statements

If-statement

Het is een van de krachtigste conditionele statements. Het if-statement is verantwoordelijk voor het wijzigen van de uitvoeringsstroom van een programma. If-statement wordt altijd gebruikt met een voorwaarde. De voorwaarde wordt eerst geëvalueerd voordat enige statement binnen de body van If wordt uitgevoerd. De syntaxis voor if-statement is als volgt:

if (voorwaarde) instructie;

De voorwaarde evalueert naar true of false. True is altijd een niet-nul waarde, en false is een waarde die nul bevat. Instructies kunnen een enkele instructie zijn of een codeblok omsloten door accolades { }.

Het volgende programma illustreert het gebruik van de if-constructie in C-programmeren:

#include<stdio.h>
int main() {
    int num1=1;
    int num2=2;
    if(num1<num2) // test-voorwaarde
    {
        printf("num1 is kleiner dan num2");
    }
    return 0;
}

Output:

num1 is kleiner dan num2

Het bovenstaande programma illustreert het gebruik van de if-constructie om de gelijkheid van twee getallen te controleren.

C Conditionele Statements Beheersen: IF, IF-ELSE en Geneste IF-ELSE Uitgelegd

  1. In het bovenstaande programma hebben we twee variabelen geïnitialiseerd met num1, num2 met waarden 1, 2 respectievelijk.
  2. Vervolgens hebben we if gebruikt met een test-expressie om te controleren welk getal het kleinst en welk het grootst is. We hebben een relationele expressie in de if-constructie gebruikt. Omdat de waarde van num1 kleiner is dan num2, evalueert de voorwaarde naar true.
  3. Daarom wordt het statement binnen het If-blok afgedrukt. Daarna gaat de controle naar buiten het blok en het programma wordt beëindigd met een succesvol resultaat.

Relationele Operatoren

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, wat true of false retourneert:

< kleiner dan

<= kleiner dan of gelijk aan

> groter dan

>= groter dan of gelijk aan

== gelijk aan

!= niet gelijk aan

Let op dat de gelijkheidstest (==) verschilt van de toewijzingsoperator (=) omdat dit een van de meest voorkomende problemen is waar een programmeerder mee te maken krijgt door ze te verwarren.

Bijvoorbeeld:

int x = 41;
x = x + 1;
if (x == 42) {
    printf("Je slaagt!");
}

Output:

Je slaagt

Houd er rekening mee dat een voorwaarde die evalueert naar een niet-nul waarde als true wordt beschouwd.

Bijvoorbeeld:

int aanwezig = 1;
if (aanwezig) printf("Er is iemand aanwezig in de klas \n");

Output:

Er is iemand aanwezig in de klas

If-Else-statement

C Conditionele Statements Beheersen: IF, IF-ELSE en Geneste IF-ELSE Uitgelegd

De if-else-statement is een uitgebreide versie van If. De algemene vorm van if-else is als volgt:

if (test-expressie) {
    True blok statements
}
Else {
    False blok statements
}
Statements;

In dit type constructie, als de waarde van test-expressie true is, wordt het true-blok statements uitgevoerd. Als de waarde van test-expressie false is, wordt het false-blok statements uitgevoerd. In elk geval wordt na de uitvoering de controle automatisch overgedragen naar de statements buiten het If-blok.

De volgende programma's illustreren het gebruik van de if-else-constructie:
We initialiseren een variabele met een waarde en schrijven een programma 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("De waarde is kleiner dan 10");
    } else {
        printf("De waarde is groter dan 10");
    }
    return 0;
}

Output:

De waarde is groter dan 10

C Conditionele Statements Beheersen: IF, IF-ELSE en Geneste IF-ELSE Uitgelegd

  1. We hebben een variabele geïnitialiseerd met waarde 19. We moeten uitvinden of het getal groter of kleiner is dan 10 met een C-programma. Hiervoor hebben we de if-else-constructie gebruikt.
  2. Hier hebben we een voorwaarde num<10 opgegeven omdat we onze waarde met 10 moeten vergelijken.
  3. Zoals je ziet is het eerste blok altijd een true-blok, wat betekent dat als de waarde van test-expressie true is, dan wordt het eerste blok (If) uitgevoerd.
  4. Het tweede blok is een else-blok. Dit blok bevat de statements die uitgevoerd worden als de waarde van de test-expressie false wordt. In ons programma is de waarde van num groter dan tien, dus de test-voorwaarde wordt false en het else-blok wordt uitgevoerd. Dus onze output komt uit het else-blok: "De waarde is groter dan 10". Na de if-else wordt het programma beëindigd met een succesvol resultaat.

In C-programmeren kunnen we meerdere if-else-constructies binnen elkaar gebruiken, wat geneste if-else statements genoemd wordt.

Conditionele Expressies

Er is nog een manier om een if-else-statement uit te drukken door de ?: operator te introduceren. In een conditionele expressie heeft de ?: operator slechts één statement geassocieerd met de if en de else.

Bijvoorbeeld:

#include <stdio.h>
int main() {
    int y;
    int x = 2;
    y = (x >= 6) ? 6 : x;/* Dit is equivalent aan: if (x >= 5) y = 5; else y = x; */
    printf("y =%d ",y);
    return 0;
}

Output:

y =2

Geneste If-else Statements

Wanneer een reeks beslissingen vereist is, worden geneste if-else gebruikt. Nesting betekent het gebruik van één 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("De waarde is:%d\n",num);
        } else {
            printf("De waarde is groter dan 1");
        }
    } else {
        printf("De waarde is groter dan 10");
    }
    return 0;
}

Output:

De waarde is:1

Het bovenstaande programma controleert of een getal kleiner of groter is dan 10 en print het resultaat met behulp van geneste if-else-constructie.

C Conditionele Statements Beheersen: IF, IF-ELSE en Geneste IF-ELSE Uitgelegd

  1. Eerst hebben we een variabele num gedeclareerd met waarde 1. Vervolgens hebben we if-else-constructie gebruikt.
  2. In de outer if-else controleert de voorwaarde of een getal kleiner is dan 10. Als de voorwaarde true is, dan en pas dan wordt de inner-loop uitgevoerd. In dit geval is de voorwaarde true, dus het inner-blok wordt verwerkt.
  3. In het inner-blok hebben we weer een voorwaarde die controleert of onze variabele de waarde 1 bevat of niet. Wanneer een voorwaarde true is, dan wordt het If-blok verwerkt, anders het else-blok. In dit geval is de voorwaarde true, dus het If-blok wordt uitgevoerd en de waarde wordt op het uitvoerscherm geprint.
  4. Het bovenstaande programma print de waarde van een variabele en sluit af met succes.

Probeer de waarde van de variabele te veranderen om te zien hoe het programma zich gedraagt.

LET OP: In geneste if-else moet je voorzichtig zijn met inspringing omdat meerdere if-else-constructies betrokken zijn, wat het moeilijk maakt om individuele constructies te onderscheiden. Goede inspringing maakt het programma gemakkelijk leesbaar.

Geneste Else-if Statements

Geneste else-if wordt gebruikt wanneer multipad-beslissingen vereist zijn.

De algemene syntaxis van hoe else-if-ladders in C-programmeren geconstrueerd worden is als volgt:

if (test-expressie 1) {
    statement1;
} else if (test-expressie 2) {
    Statement2;
} else if (test-expressie 3) {
    Statement3;
} else if (test-expressie n) {
    Statement n;
} else {
    default;
}
Statement x;

Deze structuur heet de else-if-ladder. Deze ketting ziet er meestal uit als een ladder, vandaar de naam. De test-expressies worden van boven naar beneden geëvalueerd. Wanneer een true test-expressie wordt gevonden, wordt het daarbij horende statement uitgevoerd. Als alle n test-expressies false worden, wordt de default else-statement uitgevoerd.

Laten we de werkelijke werking zien met behulp van een programma.

#include<stdio.h>
int main() {
    int cijfer=83;
    if(cijfer>75){
        printf("Eerste klas");
    } else if(cijfer>65){
        printf("Tweede klas");
    } else if(cijfer>55){
        printf("Derde klas");
    } else{
        printf("Vierde klas");
    }
    return 0;
}

Output:

Eerste klas

Het bovenstaande programma print de graad volgens de behaalde punten in een test. We hebben de else-if-ladder-constructie in het bovenstaande programma gebruikt.

C Conditionele Statements Beheersen: IF, IF-ELSE en Geneste IF-ELSE Uitgelegd

  1. We hebben een variabele geïnitialiseerd met cijfer. In de else-if-ladder-structuur hebben we verschillende voorwaarden gegeven.
  2. De waarde uit de variabele cijfer wordt vergeleken met de eerste voorwaarde; aangezien deze true is, wordt het bijbehorende statement op het uitvoerscherm geprint.
  3. Als de eerste testvoorwaarde false blijkt, wordt het vergeleken met de tweede voorwaarde.
  4. Dit proces gaat door tot alle expressies geëvalueerd zijn, anders gaat de controle uit de else-if-ladder en wordt het default-statement geprint.

Probeer de waarde te wijzigen en let op de verandering in de output.

Samenvatting

  • Besluitvorming of branching-statements worden gebruikt om één pad te selecteren op basis van het resultaat van de geëvalueerde expressie.
  • Het wordt ook controlestatements genoemd omdat het de uitvoeringsstroom van een programma controleert.
  • C biedt if, if-else-constructies voor besluitvorming.
  • We kunnen if-else ook binnen elkaar nesten wanneer meerdere paden getest moeten worden.
  • De else-if-ladder wordt gebruikt wanneer we verschillende manieren moeten controleren op basis van het resultaat van de expressie.

C Taal

  1. C# Expressies, Statements & Blokken: Uitgebreide Gids met Praktische Voorbeelden
  2. Conditionele Logica in C#: If, If-Else, If-ElseIf en Geneste If Statements
  3. C++ conditionele statements: if, if...else en geneste if...else uitgelegd
  4. C Conditionele Statements Beheersen: If, Else en Meer
  5. C++ Operators Uitgelegd: Typen, Voorbeelden en Voorbeeldprogramma's
  6. C++ Switch‑Case Onder de Knie: Syntaxis, Gebruik en Praktische Voorbeelden
  7. C++ Structs Uitgelegd met een Praktisch Voorbeeld
  8. C++ Classes & Objects: Praktische Handleiding met Code‑Voorbeelden
  9. Beheersen van std::list in C++: Syntaxis, Functies & Praktische Voorbeelden
  10. C++ Struct vs Class: Belangrijkste Verschillen, Syntaxis en Beste Gebruikssituaties
  11. Java if…else beheersen: control flow uitgelegd