logo

Besluitvorming in C (if , if..else, genest if, if-else-if )

De Voorwaardelijke stellingen (ook wel beslissingscontrolestructuren genoemd), zoals if, if else, switch, etc. worden gebruikt voor besluitvormingsdoeleinden in C-programma's.

Ze staan ​​ook bekend als Decision-Making Statements en worden gebruikt om een ​​of meer voorwaarden te evalueren en de beslissing te nemen of een reeks uitspraken wel of niet moet worden uitgevoerd. Deze besluitvormingsverklaringen in programmeertalen bepalen de richting van de stroom van programma-uitvoering.



Noodzaak van voorwaardelijke verklaringen

Er zijn situaties in het echte leven waarin we een aantal beslissingen moeten nemen en op basis van deze beslissingen beslissen we wat we vervolgens moeten doen. Soortgelijke situaties doen zich ook voor bij het programmeren, waarbij we een aantal beslissingen moeten nemen en op basis van deze beslissingen het volgende codeblok zullen uitvoeren. Als x bijvoorbeeld voorkomt in C, voer dan y uit en voer anders z uit. Er kunnen ook meerdere voorwaarden zijn, zoals in C: als x voorkomt, voer dan p uit, anders als voorwaarde y optreedt, voer dan q uit, anders voer je r uit. Deze voorwaarde van C else-if is een van de vele manieren om meerdere voorwaarden te importeren.

Soorten voorwaardelijke verklaringen in C

Hieronder volgen de besluitvormingsverklaringen die beschikbaar zijn in C:

  1. indien Verklaring
  2. if-else-verklaring
  3. Geneste if-instructie
  4. als-anders-als-ladder
  5. schakel Verklaring
  6. Voorwaardelijke operator
  7. Jump-instructies:
    • pauze
    • doorgaan
    • ga naar
    • opbrengst

Laten we ze allemaal één voor één bespreken.



1. als in C

De als verklaring is de meest eenvoudige besluitvormingsverklaring. Het wordt gebruikt om te beslissen of een bepaalde instructie of een bepaald blok met uitspraken zal worden uitgevoerd of niet. Dat wil zeggen dat als een bepaalde voorwaarde waar is, een blok met uitspraken wordt uitgevoerd, anders niet.

Syntaxis van if-instructie

  if  (  condition  )  {    // Statements to execute if     // condition is true  }>

Hier de voorwaarde na evaluatie waar of onwaar zal zijn. C als de instructie Booleaanse waarden accepteert – als de waarde waar is, wordt het blok met instructies eronder uitgevoerd, anders niet. Als we de accolades ‘{‘ en ‘}’ na if(condition) niet opgeven, beschouwt de if-instructie standaard de eerste direct daaronder staande instructie als binnen zijn blok.

Stroomdiagram van if-verklaring

als stroomdiagram

Stroomdiagram van if-verklaring



Voorbeeld van if in C

C




// C program to illustrate If statement> #include> > int> main()> {> >int> i = 10;> > >if> (i>15) {> >printf>(>'10 is greater than 15'>);> >}> > >printf>(>'I am Not in if'>);> }>

>

>

hritik roshan-leeftijd
Uitvoer

I am Not in if>

Omdat de voorwaarde in de if-instructie onwaar is. Het blok onder de if-instructie wordt dus niet uitgevoerd.

2. if-else in C

De als Alleen een statement vertelt ons dat als een voorwaarde waar is, deze een blok met instructies zal uitvoeren, en als de voorwaarde onwaar is, zal dit niet het geval zijn. Maar wat als we iets anders willen doen terwijl de voorwaarde niet waar is? Hier komt de C anders stelling. Wij kunnen gebruik maken van de anders verklaring met de als statement om een ​​codeblok uit te voeren als de voorwaarde onwaar is. De if-else verklaring bestaat uit twee blokken, één voor valse expressie en één voor ware expressie.

Syntaxis van if else in C

  if   (  condition  ) {     // Executes this block if     // condition is true  }   else  {    // Executes this block if     // condition is false  }>

Stroomdiagram van if-else-verklaring

als anders stroomschema

Stroomdiagram van als anders

Voorbeeld van if-else

C




// C program to illustrate If statement> #include> > int> main()> {> >int> i = 20;> > >if> (i <15) {> > >printf>(>'i is smaller than 15'>);> >}> >else> {> > >printf>(>'i is greater than 15'>);> >}> >return> 0;> }>

>

>

Uitvoer

i is greater than 15>

Het codeblok dat volgt op de anders instructie wordt uitgevoerd als de voorwaarde die aanwezig is in de als verklaring is vals.

3. Genest if-else in C

Een geneste if in C is een if-instructie die het doel is van een andere if-instructie. Geneste if-instructies betekenen een if-instructie binnen een andere if-instructie. Ja, C staat ons toe om if-statements binnen if-statements te nesten, dat wil zeggen dat we een if-statement in een andere if-statement kunnen plaatsen.

Syntaxis van geneste if-else

  if   (  condition1  )  {    // Executes when condition1 is true     if   (  condition2  )   {     // Executes when condition2 is true   }    else   {    // Executes when condition2 is false  }>

Stroomdiagram van geneste if-else

Stroomdiagram van geneste if-else

Voorbeeld van geneste if-else

C




// C program to illustrate nested-if statement> #include> > int> main()> {> >int> i = 10;> > >if> (i == 10) {> >// First if statement> >if> (i <15)> >printf>(>'i is smaller than 15 '>);> > >// Nested - if statement> >// Will only be executed if statement above> >// is true> >if> (i <12)> >printf>(>'i is smaller than 12 too '>);> >else> >printf>(>'i is greater than 15'>);> >}> > >return> 0;> }>

>

>

Uitvoer

i is smaller than 15 i is smaller than 12 too>

4. if-else-if-ladder in C

De if else if-verklaringen worden gebruikt wanneer de gebruiker moet kiezen tussen meerdere opties. De C if-instructies worden van boven naar beneden uitgevoerd. Zodra een van de voorwaarden die de if beheersen waar is, wordt de verklaring die bij die if hoort uitgevoerd, en wordt de rest van de C else-if-ladder omzeild. Als geen van de voorwaarden waar is, wordt de laatste else-instructie uitgevoerd. if-else-if ladder is vergelijkbaar met de switch-instructie.

Syntaxis van if-else-if-ladder

  if   (  condition  )    statement;    else if   (  condition  )    statement;  . .   else     statement;>

Stroomdiagram van de if-else-if-ladder

if-else-if-instructiestroomdiagram

Stroomdiagram van als-anders-als

Voorbeeld van een if-else-if-ladder

C




// C program to illustrate nested-if statement> #include> > int> main()> {> >int> i = 20;> > >if> (i == 10)> >printf>(>'i is 10'>);> >else> if> (i == 15)> >printf>(>'i is 15'>);> >else> if> (i == 20)> >printf>(>'i is 20'>);> >else> >printf>(>'i is not present'>);> }>

>

>

Uitvoer

i is 20>

5. Schakel Verklaring in C

De verklaring van schakelgeval is een alternatief voor de if else if-ladder die kan worden gebruikt om de voorwaardelijke code uit te voeren op basis van de waarde van de variabele die is opgegeven in de switch-instructie. Het schakelblok bestaat uit uit te voeren cases op basis van de waarde van de schakelvariabele.

Syntaxis van schakelaar

  switch   (  expression  ) {    case     value1:     statements;     case    value2:     statements;   ....  ....  ....    default:     statements;  }>

Opmerking: De switch-expressie moet resulteren in een geheel getal of een teken. Het kan geen ander gegevenstype evalueren.

Stroomschema van schakelaar

schakel het stroomschema van de satement

Stroomschema van schakelaar in C

Voorbeeld van een schakelverklaring

C




// C Program to illustrate the use of switch statement> #include> > int> main()> {> >// variable to be used in switch statement> >int> var = 2;> > >// declaring switch cases> >switch> (var) {> >case> 1:> >printf>(>'Case 1 is executed'>);> >break>;> >case> 2:> >printf>(>'Case 2 is executed'>);> >break>;> >default>:> >printf>(>'Default Case is executed'>);> >break>;> >}> > >return> 0;> }>

>

>

Uitvoer

Case 2 is executed>

6. Voorwaardelijke operator in C

De voorwaardelijke operator wordt gebruikt om voorwaardelijke code aan ons programma toe te voegen. Het is vergelijkbaar met de if-else-instructie. Het wordt ook wel de ternaire operator genoemd, omdat het op drie operanden werkt.

Syntaxis van voorwaardelijke operator

(  condition  )   ?     [true_statements]     :     [false_statements]  ;>

Stroomdiagram van voorwaardelijke operator

stroomdiagram van voorwaardelijke operatoren

Stroomdiagram van voorwaardelijke operator

Voorbeeld van een voorwaardelijke operator

C




// C Program to illustrate the use of conditional operator> #include> > // driver code> int> main()> {> > >int> var;> >int> flag = 0;> > >// using conditional operator to assign the value to var> >// according to the value of flag> >var = flag == 0 ? 25 : -25;> >printf>(>'Value of var when flag is 0: %d '>, var);> > >// changing the value of flag> >flag = 1;> >// again assigning the value to var using same statement> >var = flag == 0 ? 25 : -25;> >printf>(>'Value of var when flag is NOT 0: %d'>, var);> > >return> 0;> }>

>

>

hoeveel steden in de verenigde staten van amerika
Uitvoer

Value of var when flag is 0: 25 Value of var when flag is NOT 0: -25>

7. Jump-instructies in C

Deze uitspraken worden in C gebruikt voor de onvoorwaardelijke controlestroom door de functies in een programma. Ze ondersteunen vier soorten spronginstructies:

A) pauze

Deze lusbesturingsinstructie wordt gebruikt om de lus te beëindigen. Zo snel als de pauze statement wordt aangetroffen vanuit een lus, de iteraties van de lus stoppen daar en de besturing keert onmiddellijk terug van de lus naar de eerste instructie na de lus.

Syntaxis van pauze

break;>

In principe worden break-instructies gebruikt in situaties waarin we niet zeker zijn van het werkelijke aantal iteraties voor de lus of waarin we de lus willen beëindigen op basis van een bepaalde voorwaarde.

stroomschema breken

Voorbeeld van pauze

C




// C program to illustrate> // to show usage of break> // statement> #include> > void> findElement(>int> arr[],>int> size,>int> key)> {> >// loop to traverse array and search for key> >for> (>int> i = 0; i if (arr[i] == key) { printf('Element found at position: %d', (i + 1)); break; } } } int main() { int arr[] = { 1, 2, 3, 4, 5, 6 }; // no of elements int n = 6; // key to be searched int key = 3; // Calling function to find the key findElement(arr, n, key); return 0; }>

>

>

Uitvoer

Element found at position: 3>

B) doorgaan

Deze luscontrole-instructie is net als de break-instructie. De doorgaan stelling is tegengesteld aan die van de pauze stelling , in plaats van de lus te beëindigen, wordt gedwongen de volgende iteratie van de lus uit te voeren.
Zoals de naam al doet vermoeden, dwingt de continue-instructie de lus om door te gaan of de volgende iteratie uit te voeren. Wanneer de continue-instructie in de lus wordt uitgevoerd, wordt de code in de lus die volgt op de continue-instructie overgeslagen en begint de volgende iteratie van de lus.

Syntaxis van doorgaan

continue;>

Stroomdiagram van Doorgaan

Stroomdiagram van C vervolg Verklaring

Voorbeeld van doorgaan

C




// C program to explain the use> // of continue statement> #include> > int> main()> {> >// loop from 1 to 10> >for> (>int> i = 1; i <= 10; i++) {> > >// If i is equals to 6,> >// continue to next iteration> >// without printing> >if> (i == 6)> >continue>;> > >else> >// otherwise print the value of i> >printf>(>'%d '>, i);> >}> > >return> 0;> }>

>

>

Uitvoer

1 2 3 4 5 7 8 9 10>

Als u een variabele maakt in if-else in C, zal deze alleen lokaal zijn voor dat if/else-blok. U kunt globale variabelen gebruiken binnen het if/else-blok. Als de naam van de variabele die u heeft aangemaakt in if/els hetzelfde is als elke globale variabele, dan wordt prioriteit gegeven aan de `lokale variabele`.

C




#include> > int> main()> {> > >int> gfg = 0;>// local variable for main> >printf>(>'Before if-else block %d '>, gfg);> >if> (1) {> >int> gfg = 100;>// new local variable of if block> >printf>(>'if block %d '>, gfg);> >}> >printf>(>'After if block %d'>, gfg);> >return> 0;> }>

>

>

Uitvoer

Before if-else block 0 if block 100 After if block 0>

C) ga naar

De ga naar verklaring in C, ook wel de onvoorwaardelijke spronginstructie genoemd, kan worden gebruikt om binnen een functie van het ene punt naar het andere te springen.

Syntaxis van goto

  Syntax1 | Syntax2  ----------------------------   goto     label;   |   label:   . | . . | . . | .   label:   |   goto     label;>

In de bovenstaande syntaxis vertelt de eerste regel de compiler dat hij naar de instructie moet gaan of springen die als label is gemarkeerd. Hier is een label een door de gebruiker gedefinieerde identificatie die de doelinstructie aangeeft. De verklaring onmiddellijk gevolgd na ‘label:’ is de bestemmingsverklaring. Het ‘label:’ kan ook vóór de ‘goto label;’-instructie verschijnen in de bovenstaande syntaxis.

Stroomdiagram van ga naar Verklaring

Voorbeelden van goto

C

Android-proces acore blijft stoppen




// C program to print numbers> // from 1 to 10 using goto> // statement> #include> > // function to print numbers from 1 to 10> void> printNumbers()> {> >int> n = 1;> label:> >printf>(>'%d '>, n);> >n++;> >if> (n <= 10)> >goto> label;> }> > // Driver program to test above function> int> main()> {> >printNumbers();> >return> 0;> }>

>

>

Uitvoer

1 2 3 4 5 6 7 8 9 10>

D) terug

De opbrengst in C retourneert de stroom van de uitvoering naar de functie van waaruit deze wordt aangeroepen. Voor deze verklaring zijn geen voorwaardelijke verklaringen nodig. Zodra de instructie wordt uitgevoerd, stopt de programmastroom onmiddellijk en keert het besturingselement terug vanwaar het werd aangeroepen. De return-instructie kan wel of niets retourneren voor een void-functie, maar voor een niet-void-functie moet een return-waarde worden geretourneerd.

Stroomschema van retour

retour stroomschema

Stroomdiagram van retour

Syntaxis van rendement

  return    [expression]  ;>

Voorbeeld van retour

C




// C code to illustrate return> // statement> #include> > // non-void return type> // function to calculate sum> int> SUM(>int> a,>int> b)> {> >int> s1 = a + b;> >return> s1;> }> > // returns void> // function to print> void> Print(>int> s2)> {> >printf>(>'The sum is %d'>, s2);> >return>;> }> > int> main()> {> >int> num1 = 10;> >int> num2 = 10;> >int> sum_of = SUM(num1, num2);> >Print(sum_of);> >return> 0;> }>

>

>

Uitvoer

The sum is 20>