De betingede uttalelser (også kjent som beslutningskontrollstrukturer) som hvis, hvis annet, brytere osv. brukes til beslutningsformål i C-programmer.
De er også kjent som Decision-Making Statements og brukes til å evaluere en eller flere forhold og ta beslutningen om å utføre et sett med uttalelser eller ikke. Disse beslutningsuttalelsene i programmeringsspråk bestemmer retningen for flyten av programkjøring.
Behov for betingede erklæringer
Det kommer situasjoner i det virkelige liv når vi trenger å ta noen avgjørelser, og basert på disse beslutningene bestemmer vi hva vi skal gjøre videre. Lignende situasjoner oppstår også i programmering der vi må ta noen avgjørelser og basert på disse beslutningene vil vi kjøre neste blokk med kode. For eksempel, i C hvis x oppstår, kjør y ellers kjør z. Det kan også være flere forhold som i C hvis x oppstår, utfør p, ellers hvis betingelse y oppstår, utfør q, ellers utfør r. Denne tilstanden til C else-if er en av mange måter å importere flere forhold på.
Typer betingede erklæringer i C
Følgende er beslutningsuttalelsene tilgjengelig i C:
- hvis Uttalelse
- if-else-erklæring
- Nestet if Statement
- if-else-if Ladder
- bytte erklæring
- Betinget operatør
- Hoppsetninger:
- gå i stykker
- Fortsette
- gå til
- komme tilbake
La oss diskutere hver av dem en etter en.
1. hvis i C
De hvis uttalelse er den enkleste beslutningserklæringen. Den brukes til å bestemme om en bestemt setning eller blokk med setninger skal utføres eller ikke, det vil si at hvis en bestemt betingelse er sann, blir en setningsblokk ellers ikke utført.
Syntaks for if-utsagn
if ( condition ) { // Statements to execute if // condition is true }> Her, den betingelse etter evaluering vil være enten sant eller usant. C if-setningen aksepterer boolske verdier - hvis verdien er sann, vil den utføre blokken med setninger under den ellers ikke. Hvis vi ikke oppgir de krøllete klammeparentesene '{' og '}' etter if(condition), vil if-setningen som standard vurdere den første setningen rett under å være innenfor blokken.
Flytskjema for if-erklæring

Flytdiagram for if-utsagn
Eksempel på hvis i 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'>);> }> |
>
>Produksjon
I am Not in if>
Ettersom tilstanden i if-utsagnet er falsk. Så blokken under if-setningen blir ikke utført.
2. if-else i C
De hvis setning alene forteller oss at hvis en betingelse er sann, vil den utføre en blokk med setninger, og hvis betingelsen er usann, vil den ikke gjøre det. Men hva om vi ønsker å gjøre noe annet når tilstanden er falsk? Her kommer C ellers uttalelse. Vi kan bruke ellers uttalelse med hvis setning for å utføre en kodeblokk når betingelsen er falsk. De if-else-uttalelse består av to blokker, en for falskt uttrykk og en for sant uttrykk.
Syntaks for hvis annet i C
if ( condition ) { // Executes this block if // condition is true } else { // Executes this block if // condition is false }> Flytskjema for if-else-erklæring

Flytdiagram av hvis annet
Eksempel på 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;> }> |
>
>Produksjon
i is greater than 15>
Kodeblokken som følger ellers uttalelsen utføres som tilstanden til stede i hvis uttalelsen er falsk.
3. Nestet if-else i C
En nestet if i C er en if-setning som er målet for en annen if-setning. Nestet if-setninger betyr en if-setning i en annen if-setning. Ja, C lar oss nestede if-setninger i if-setninger, det vil si at vi kan plassere en if-setning i en annen if-setning.
Syntaks for Nested if-else
if ( condition1 ) { // Executes when condition1 is true if ( condition2 ) { // Executes when condition2 is true } else { // Executes when condition2 is false }> Flytskjema av Nested if-else
Flytdiagram for Nested if-else
Eksempel på Nested 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;> }> |
>
>Produksjon
i is smaller than 15 i is smaller than 12 too>
4. if-else-if Ladder i C
De hvis annet hvis uttalelser brukes når brukeren skal velge mellom flere alternativer. C if-setningene utføres ovenfra og ned. Så snart en av betingelsene som kontrollerer hvis er sann, blir setningen knyttet til det hvis utført, og resten av C else-if-stigen omgås. Hvis ingen av betingelsene er sanne, vil den siste else-setningen bli utført. if-else-if ladder ligner på switch-setningen.
Syntaks for if-else-if Ladder
if ( condition ) statement; else if ( condition ) statement; . . else statement;>
Flytskjema for if-else-if Ladder

Flytdiagram av if-else-if
Eksempel på 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'>);> }> |
>
>Produksjon
i is 20>
5. bytte Uttalelse i C
De bytte saksuttalelse er et alternativ til if else if-stigen som kan brukes til å utføre den betingede koden basert på verdien av variabelen spesifisert i switch-setningen. Switch-blokken består av tilfeller som skal utføres basert på verdien av switch-variabelen.
Syntaks for bryter
switch ( expression ) { case value1: statements; case value2: statements; .... .... .... default: statements; }> Merk: Switch-uttrykket skal evalueres til enten heltall eller tegn. Den kan ikke evaluere noen annen datatype.
Flytskjema for bryteren

Flytskjema for bryteren i C
Eksempel på brytererklæring
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;> }> |
>
>Produksjon
Case 2 is executed>
6. Betinget operatør i C
De betinget operatør brukes til å legge til betinget kode i programmet vårt. Det ligner på if-else-utsagnet. Den er også kjent som den ternære operatøren da den fungerer på tre operander.
Syntaks for betinget operatør
( condition ) ? [true_statements] : [false_statements] ;>
Flytskjema for betinget operatør

Flytdiagram for betinget operatør
Eksempel på betinget operatør
C
kassen i git
// 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;> }> |
>
>Produksjon
Value of var when flag is 0: 25 Value of var when flag is NOT 0: -25>
7. Hoppsetninger i C
Disse setningene brukes i C for den ubetingede flyten av kontroll gjennom funksjonene i et program. De støtter fire typer hoppsetninger:
EN) gå i stykker
Denne sløyfekontrollsetningen brukes til å avslutte sløyfen. Så snart gå i stykker setningen påtreffes fra en løkke, løkkeiterasjonene stopper der, og kontrollen returnerer fra løkken umiddelbart til den første setningen etter løkken.
Syntaks for pause
break;>
I utgangspunktet brukes break-utsagn i situasjoner når vi ikke er sikre på det faktiske antallet iterasjoner for loopen eller vi ønsker å avslutte loopen basert på en betingelse.
Eksempel på pause
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; }> |
>
>Produksjon
Element found at position: 3>
B) Fortsette
Denne sløyfekontrollsetningen er akkurat som break-setningen. De Fortsette uttalelse er motsatt av pausen uttalelse , i stedet for å avslutte løkken, tvinger den til å utføre neste iterasjon av løkken.
Som navnet antyder tvinger continu-setningen løkken til å fortsette eller utføre neste iterasjon. Når continu-setningen kjøres i loopen, vil koden i loopen som følger fortsette-setningen hoppes over og neste iterasjon av loopen vil begynne.
Syntaks for fortsette
continue;>
Flytskjema for Fortsett
Flytdiagram av C fortsett-setning
Eksempel på fortsett
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;> }> |
>
>Produksjon
1 2 3 4 5 7 8 9 10>
Hvis du oppretter en variabel i if-else i C, vil den kun være lokal for den if/else-blokken. Du kan bruke globale variabler i if/else-blokken. Hvis navnet på variabelen du opprettet i if/else er det samme som en hvilken som helst global variabel, vil den lokale variabelen prioriteres.
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;> }> |
>
>Produksjon
Before if-else block 0 if block 100 After if block 0>
C) gå til
De goto uttalelse i C også referert til som den ubetingede hoppsetningen kan brukes til å hoppe fra ett punkt til et annet innenfor en funksjon.
Syntaks for goto
Syntax1 | Syntax2 ---------------------------- goto label; | label: . | . . | . . | . label: | goto label;>
I syntaksen ovenfor forteller den første linjen kompilatoren om å gå til eller hoppe til setningen merket som en etikett. Her er en etikett en brukerdefinert identifikator som indikerer målsetningen. Uttalelsen som følger umiddelbart etter «etikett:» er destinasjonserklæringen. 'Label:' kan også vises før 'goto label;'-setningen i syntaksen ovenfor.
Flytskjema for goto-uttalelse
Eksempler på goto
C
// 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;> }> |
>
>Produksjon
1 2 3 4 5 6 7 8 9 10>
D) retur
De komme tilbake i C returnerer flyten av utførelsen til funksjonen der den kalles. Denne erklæringen trenger ikke nødvendigvis noen betingede erklæringer. Så snart setningen er utført, stopper flyten av programmet umiddelbart og returnerer kontrollen fra der den ble kalt. Return-setningen kan eller kan ikke returnere noe for en void-funksjon, men for en ikke-void-funksjon må en returverdi returneres.
Flytskjema for avkastning

Flytdiagram for retur
Syntaks for avkastning
return [expression] ;>
Eksempel på retur
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;> }> |
>
>Produksjon
The sum is 20>