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++ als, als...anders en genest als...anders

C++ als, als...else en genest als...else

In deze zelfstudie leren we over de if...else-verklaring om besluitvormingsprogramma's te maken met behulp van voorbeelden.

Bij computerprogrammering gebruiken we de if...else instructie om een ​​codeblok onder bepaalde voorwaarden uit te voeren en een ander codeblok onder verschillende voorwaarden.

Bijvoorbeeld het toekennen van cijfers (A, B, C) op basis van cijfers behaald door een student.

  • als het percentage hoger is dan 90 , geef cijfer A
  • als het percentage hoger is dan 75 , geef cijfer B
  • als het percentage hoger is dan 65 , geef cijfer C

Er zijn drie vormen van if...else uitspraken in C++.

  1. if verklaring
  2. if...else verklaring
  3. if...else if...else verklaring

C++ if-statement

De syntaxis van de if verklaring is:

if (condition) {
  // body of if statement
}

De if statement evalueert de condition tussen haakjes ( ) .

  • Als de condition evalueert tot true , de code in de hoofdtekst van if wordt uitgevoerd.
  • Als de condition evalueert tot false , de code in de hoofdtekst van if wordt overgeslagen.

Opmerking: De code in { } is de hoofdtekst van de if verklaring.


Voorbeeld 1:C++ if-statement

// Program to print positive number entered by the user
// If the user enters a negative number, it is skipped

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  // checks if the number is positive
  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  }

  cout << "This statement is always executed.";

  return 0;
}

Uitgang 1

Enter an integer: 5
You entered a positive number: 5
This statement is always executed.

Wanneer de gebruiker 5 . invoert , de voorwaarde number > 0 wordt geëvalueerd tot true en de instructie in de hoofdtekst van if wordt uitgevoerd.

Uitgang 2

Enter a number: -5
This statement is always executed.

Wanneer de gebruiker -5 . invoert , de voorwaarde number > 0 wordt geëvalueerd tot false en de verklaring in de hoofdtekst van if wordt niet uitgevoerd.


C++ if...else

De if statement kan een optionele else . hebben clausule. De syntaxis is:

if (condition) {
  // block of code if condition is true
}
else {
  // block of code if condition is false
}

De if..else statement evalueert de condition tussen haakjes.

Als de condition evalueert true ,

  • de code in de hoofdtekst van if wordt uitgevoerd
  • de code in de hoofdtekst van else wordt overgeslagen van uitvoering

Als de condition evalueert false ,

  • de code in de hoofdtekst van else wordt uitgevoerd
  • de code in de hoofdtekst van if wordt overgeslagen van uitvoering

Voorbeeld 2:C++ if...else-statement

// Program to check whether an integer is positive or negative
// This program considers 0 as a positive number

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number >= 0) {
    cout << "You entered a positive integer: " << number << endl;
  }
  else {
    cout << "You entered a negative integer: " << number << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

Uitgang 1

Enter an integer: 4
You entered a positive integer: 4.
This line is always printed.

In het bovenstaande programma hebben we de voorwaarde number >= 0 . Als we het getal groter of gelijk aan 0 . invoeren , dan evalueert de voorwaarde true .

Hier voeren we 4 . in . Dus de voorwaarde is true . Vandaar dat de instructie in de hoofdtekst van if wordt uitgevoerd.

Uitgang 2

Enter an integer: -4
You entered a negative integer: -4.
This line is always printed.

Hier voeren we -4 . in . Dus de voorwaarde is false . Vandaar dat de instructie in de hoofdtekst van else wordt uitgevoerd.


C++ if...else...else if-statement

De if...else statement wordt gebruikt om een ​​codeblok tussen twee alternatieven uit te voeren. Als we echter een keuze moeten maken tussen meer dan twee alternatieven, gebruiken we de if...else if...else verklaring.

De syntaxis van de if...else if...else verklaring is:

if (condition1) {
  // code block 1
}
else if (condition2){
  // code block 2
}
else {
  // code block 3
}

Hier,

  • Als condition1 evalueert tot true , de code block 1 wordt uitgevoerd.
  • Als condition1 evalueert tot false , dan condition2 wordt geëvalueerd.
  • Als condition2 is true , de code block 2 wordt uitgevoerd.
  • Als condition2 is false , de code block 3 wordt uitgevoerd.

Opmerking: Er kan meer dan één else if . zijn statement maar slechts één if en else verklaringen.


Voorbeeld 3:C++ als...anders...anders als

// Program to check whether an integer is positive, negative or zero

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  } 
  else if (number < 0) {
    cout << "You entered a negative integer: " << number << endl;
  } 
  else {
    cout << "You entered 0." << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

Uitgang 1

Enter an integer: 1
You entered a positive integer: 1.
This line is always printed.

Uitgang 2

Enter an integer: -2
You entered a negative integer: -2.
This line is always printed.

Uitgang 3

Enter an integer: 0
You entered 0.
This line is always printed.

In dit programma nemen we een nummer van de gebruiker. We gebruiken dan de if...else if...else ladder om te controleren of het getal positief, negatief of nul is.

Als het getal groter is dan 0 , de code in de if blok wordt uitgevoerd. Als het getal kleiner is dan 0 , de code in de else if blok wordt uitgevoerd. Anders wordt de code in de else blok wordt uitgevoerd.


C++ genest als...else

Soms moeten we een if . gebruiken statement binnen een andere if uitspraak. Dit staat bekend als geneste if verklaring.

Zie het als meerdere lagen van if verklaringen. Er is een eerste, buitenste if statement, en daarbinnen is een andere, innerlijke if uitspraak. De syntaxis is:

// outer if statement
if (condition1) {

  // statements

  // inner if statement
  if (condition2) {
    // statements
  }
}

Opmerkingen:

  • We kunnen else add toevoegen en else if instructies naar de innerlijke if verklaring zoals vereist.
  • De innerlijke if statement kan ook worden ingevoegd in de buitenste else of else if verklaringen (als ze bestaan).
  • We kunnen meerdere lagen van if nest nesten verklaringen.

Voorbeeld 4:C++ genest als

// C++ program to find if an integer is positive, negative or zero
// using nested if statements

#include <iostream>
using namespace std;

int main() {

  int num;
    
  cout << "Enter an integer: ";  
   cin >> num;    

  // outer if condition
  if (num != 0) {
        
    // inner if condition
    if (num > 0) {
      cout << "The number is positive." << endl;
    }
    // inner else condition
    else {
      cout << "The number is negative." << endl;
    }  
  }
  // outer else condition
  else {
    cout << "The number is 0 and it is neither positive nor negative." << endl;
  }

  cout << "This line is always printed." << endl;

  return 0;
}

Uitgang 1

Enter an integer: 35
The number is positive.
This line is always printed.

Uitgang 2

Enter an integer: -35
The number is negative.
This line is always printed.

Uitgang 3

Enter an integer: 0
The number is 0 and it is neither positive nor negative.
This line is always printed.

In het bovenstaande voorbeeld,

  • We nemen een geheel getal als invoer van de gebruiker en slaan het op in de variabele num .
  • We gebruiken dan een if...else statement om te controleren of num niet gelijk is aan 0 .
    • Als true , dan de binnenste if...else instructie wordt uitgevoerd.
    • Als false , de code in de buitenste else voorwaarde wordt uitgevoerd, die "The number is 0 and it is neither positive nor negative." . afdrukt
  • De innerlijke if...else statement controleert of het ingevoerde getal positief is, d.w.z. als num is groter dan 0 .
    • Als true , dan drukken we een verklaring af waarin staat dat het getal positief is.
    • Als false , drukken we af dat het getal negatief is.

Opmerking: Zoals je kunt zien, geneste if...else maakt je logica ingewikkeld. Probeer, indien mogelijk, altijd geneste if...else . te vermijden .


Body of if...else met slechts één verklaring

Als de hoofdtekst van if...else slechts één instructie heeft, kunt u { } weglaten op het programma. U kunt bijvoorbeeld

. vervangen
int number = 5;

if (number > 0) {
  cout << "The number is positive." << endl;
}
else {
  cout << "The number is negative." << endl;
}

met

int number = 5;

if (number > 0)
  cout << "The number is positive." << endl;
else
  cout << "The number is negative." << endl;

De uitvoer van beide programma's zal hetzelfde zijn.

Opmerking: Hoewel het niet nodig is om { } . te gebruiken als de hoofdtekst van if...else heeft slechts één instructie, met behulp van { } maakt uw code leesbaarder.


Meer over besluitvorming

In bepaalde situaties kan een ternaire operator kan een if...else . vervangen uitspraak. Ga voor meer informatie naar C++ Ternary Operator.

Als we een keuze moeten maken tussen meer dan één alternatief op basis van een bepaalde testconditie, zal de switch verklaring kan worden gebruikt. Ga voor meer informatie naar C++ switch.


Bekijk deze voorbeelden voor meer informatie:

C++-programma om te controleren of het getal even of oneven is

C++-programma om te controleren of een teken klinker of medeklinker is.

C++-programma om het grootste getal tussen drie getallen te vinden


C Taal

  1. C# if, if...else, if...else if en Nested if Statement
  2. C++ while en do...while Loop
  3. C++ klassen en objecten
  4. C++ Geheugenbeheer:nieuw en verwijderen
  5. C++ Openbare, beschermde en privé-erfenis
  6. C++ vriend Functie en vriend Klassen
  7. Python-verklaring, inspringing en opmerkingen
  8. Java geneste en innerlijke klasse
  9. C++ Datum en tijd
  10. C++ overbelasting (operator en functie)
  11. C++-bestanden en -streams