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 if... else-verklaring

C if...else-statement

In deze tutorial leer je met behulp van voorbeelden over het if-statement (inclusief if...else en genest if..else) in C-programmering.

Video:C if else-statement

C if-statement

De syntaxis van de if statement in C-programmering is:

if (test expression) 
{
   // code
}

Hoe werkt een if-statement?

De if statement evalueert de testuitdrukking tussen haakjes () .

  • Als de testuitdrukking wordt geëvalueerd als waar, instructies binnen de hoofdtekst van if worden uitgevoerd.
  • Als de testuitdrukking wordt geëvalueerd als onwaar, worden instructies in de hoofdtekst van if worden niet uitgevoerd.

Als u meer wilt weten over wanneer testexpressie wordt geëvalueerd als waar (niet-nulwaarde) en onwaar (0), controleert u relationele en logische operators.


Voorbeeld 1:if-statement

// Program to display a number if it is negative

#include <stdio.h>
int main() {
    int number;

    printf("Enter an integer: ");
    scanf("%d", &number);

    // true if number is less than 0
    if (number < 0) {
        printf("You entered %d.\n", number);
    }

    printf("The if statement is easy.");

    return 0;
}

Uitgang 1

Enter an integer: -2
You entered -2.
The if statement is easy.

Wanneer de gebruiker -2 invoert, wordt de testuitdrukking number<0 wordt beoordeeld als waar. Daarom Je hebt -2 ingevoerd wordt weergegeven op het scherm.

Uitgang 2

Enter an integer: 5
The if statement is easy.

Wanneer de gebruiker 5 invoert, wordt de testuitdrukking number<0 wordt geëvalueerd als onwaar en de instructie in de hoofdtekst van if wordt niet uitgevoerd


C if...else-statement

De if statement kan een optionele else . hebben blok. De syntaxis van de if..else verklaring is:

if (test expression) {
    // run code if test expression is true
}
else {
    // run code if test expression is false
}

Hoe werkt het if...else statement?

Als de testuitdrukking wordt geëvalueerd als waar,

  • statements in de hoofdtekst van if worden uitgevoerd.
  • statements in de hoofdtekst van else worden overgeslagen van uitvoering.

Als de testuitdrukking wordt geëvalueerd als onwaar,

  • statements in de hoofdtekst van else worden uitgevoerd
  • statements in de hoofdtekst van if worden overgeslagen van uitvoering.

Voorbeeld 2:if...else-statement

// Check whether an integer is odd or even

#include <stdio.h>
int main() {
    int number;
    printf("Enter an integer: ");
    scanf("%d", &number);

    // True if the remainder is 0
    if  (number%2 == 0) {
        printf("%d is an even integer.",number);
    }
    else {
        printf("%d is an odd integer.",number);
    }

    return 0;
}

Uitvoer

Enter an integer: 7
7 is an odd integer.

Wanneer de gebruiker 7 invoert, wordt de testuitdrukking number%2==0 wordt beoordeeld als onwaar. Vandaar dat de instructie in de hoofdtekst van else wordt uitgevoerd.


C if...else ladder

De if...else instructie voert twee verschillende codes uit, afhankelijk van of de testuitdrukking waar of onwaar is. Soms moet er een keuze gemaakt worden uit meer dan 2 mogelijkheden.

Met de if...else ladder kunt u tussen meerdere testuitdrukkingen controleren en verschillende instructies uitvoeren.


Syntax van if...else ladder

if (test expression1) {
   // statement(s)
}
else if(test expression2) {
   // statement(s)
}
else if (test expression3) {
   // statement(s)
}
.
.
else {
   // statement(s)
}

Voorbeeld 3:C if...else ladder

// Program to relate two integers using =, > or < symbol

#include <stdio.h>
int main() {
    int number1, number2;
    printf("Enter two integers: ");
    scanf("%d %d", &number1, &number2);

    //checks if the two integers are equal.
    if(number1 == number2) {
        printf("Result: %d = %d",number1,number2);
    }

    //checks if number1 is greater than number2.
    else if (number1 > number2) {
        printf("Result: %d > %d", number1, number2);
    }

    //checks if both test expressions are false
    else {
        printf("Result: %d < %d",number1, number2);
    }

    return 0;
}

Uitvoer

Enter two integers: 12
23
Result: 12 < 23

Genest als...else

Het is mogelijk om een ​​if...else . op te nemen statement in de body van een andere if...else verklaring.


Voorbeeld 4:Genest als...else

Dit onderstaande programma relateert twee gehele getallen met behulp van < , > en = vergelijkbaar met de if...else voorbeeld van een ladder. We gebruiken echter een geneste if...else verklaring om dit probleem op te lossen.

#include <stdio.h>
int main() {
    int number1, number2;
    printf("Enter two integers: ");
    scanf("%d %d", &number1, &number2);

    if (number1 >= number2) {
      if (number1 == number2) {
        printf("Result: %d = %d",number1,number2);
      }
      else {
        printf("Result: %d > %d", number1, number2);
      }
    }
    else {
        printf("Result: %d < %d",number1, number2);
    }

    return 0;
}

Als de hoofdtekst van een if...else statement heeft maar één statement, je hoeft geen haakjes te gebruiken {} .

Bijvoorbeeld deze code

if (a > b) {
    printf("Hello");
}
printf("Hi");

is gelijk aan

if (a > b)
    printf("Hello");
printf("Hi");

C Taal

  1. C# if, if...else, if...else if en Nested if Statement
  2. C# switch-instructie
  3. C# break-instructie
  4. C# doorgaan Verklaring
  5. C++ als, als...anders en genest als...anders
  6. C++ break-instructie
  7. C++ doorgaan Verklaring
  8. C++ switch..case Verklaring
  9. C ga naar Verklaring
  10. Python pass-instructie
  11. C - Basissyntaxis