Hva er en betinget uttalelse i C?
Betingede uttalelser i C- programmering brukes til å ta avgjørelser basert på forholdene. Betingede utsagn utføres sekvensielt når det ikke er noen tilstand rundt utsagnene. Hvis du setter noen betingelser for en blokk med utsagn, kan utførelsesflyten endres basert på resultatet evaluert av tilstanden. Denne prosessen kalles beslutningstaking i 'C.'
I 'C' programmering er betingede utsagn mulig ved hjelp av følgende to konstruksjoner:
1. Hvis uttalelse
2. Hvis-annet uttalelse
Det kalles også så forgrenet som et program bestemmer hvilken uttalelse som skal utføres basert på resultatet av den evaluerte tilstanden.
I denne veiledningen vil du lære-
- Hva er en betinget erklæring?
- Hvis uttalelse
- Relasjonsoperatører
- If-Else-uttalelsen
- Betingede uttrykk
- Nestede if-else-uttalelser
- Nestede Else-if uttalelser
Hvis uttalelse
Det er en av de kraftige betingede uttalelsene. Hvis uttalelse er ansvarlig for å endre flyten av gjennomføring av et program. Hvis uttalelse alltid brukes med en tilstand. Tilstanden blir evaluert først før du utfører noen uttalelse inne i kroppen til If. Syntaksen for if-setningen er som følger:
if (condition)instruction;
Tilstanden evalueres til enten sant eller usant. True er alltid en verdi som ikke er null, og false er en verdi som inneholder null. Instruksjonene kan være en enkelt instruksjon eller en kodeblokk omsluttet av krøllete bukseseler {}.
Følgende program illustrerer bruken av if construct i 'C' programmering:
#includeint main(){int num1=1;int num2=2;if(num1 Produksjon:
num1 is smaller than num2Ovennevnte program illustrerer bruken av if construct for å kontrollere likhet mellom to tall.
- I programmet ovenfor har vi initialisert to variabler med henholdsvis num1, num2 med verdi som henholdsvis 1, 2.
- Deretter har vi brukt hvis med et testuttrykk for å sjekke hvilket tall som er det minste og hvilket tall som er det største. Vi har brukt et relasjonsuttrykk i if construct. Siden verdien av num1 er mindre enn num2, vil tilstanden evalueres til sant.
- Dermed vil den skrive utsagnet inne i blokken til If. Etter det vil kontrollen gå utenfor blokken, og programmet avsluttes med et vellykket resultat.
Relasjonsoperatører
C har seks relasjonsoperatorer som kan brukes til å formulere et boolsk uttrykk for å ta en beslutning og teste forhold, som returnerer sant eller usant:
<= mindre enn eller lik
> større enn
> = større enn eller lik
== lik
! = ikke lik
Legg merke til at liktesten (==) er forskjellig fra oppdragsoperatøren (=) fordi det er et av de vanligste problemene som en programmerer står overfor ved å blande dem sammen.
For eksempel:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Utgang:
You succeedHusk at en tilstand som vurderes til en verdi som ikke er null, blir ansett som sant.
For eksempel:
int present = 1;if (present)printf("There is someone present in the classroom \n");Utgang:
There is someone present in the classroomIf-Else-uttalelsen
Erklæringen if-else er en utvidet versjon av If. Den generelle formen for if-else er som følger:
if (test-expression){True block of statements}Else{False block of statements}Statements;n denne typen konstruksjon, hvis verdien av testuttrykk er sant, så vil den sanne setningsblokken bli utført. Hvis verdien av testuttrykk er falsk, vil den falske blokken med utsagn bli utført. I alle fall, etter utførelsen, vil kontrollen automatisk bli overført til uttalelsene som vises utenfor blokken til If.
Følgende programmer illustrerer bruken av if-else-konstruksjonen:
Vi vil initialisere en variabel med en viss verdi og skrive et program for å avgjøre om verdien er mindre enn ti eller større enn ti.
La oss begynne.
#includeint main(){int num=19;if(num<10){printf("The value is less than 10");}else{printf("The value is greater than 10");}return 0;} Produksjon:
The value is greater than 10
- Vi har initialisert en variabel med verdi 19. Vi må finne ut om tallet er større eller mindre enn 10 ved hjelp av et 'C' -program. For å gjøre dette har vi brukt if-else-konstruksjonen.
- Her har vi gitt en tilstand nummer <10 fordi vi må sammenligne verdien vår med 10.
- Som du kan se er den første blokken alltid en sann blokk som betyr at hvis verdien av testuttrykk er sant, vil den første blokken som er Hvis blir utført.
- Den andre blokken er en annen blokk. Denne blokken inneholder utsagnene som vil bli utført hvis verdien av testuttrykket blir falskt. I vårt program er verdien på num større enn ti, derfor blir testtilstanden falsk, og ellers blir blokken utført. Dermed vil produksjonen vår være fra en annen blokk som er "Verdien er større enn 10". Etter if-else avsluttes programmet med et vellykket resultat.
I 'C' programmering kan vi bruke flere if-else-konstruksjoner i hverandre som blir referert til som hekking av if-else-setninger.
Betingede uttrykk
Det er en annen måte å uttrykke en if-else-uttalelse på, ved å introdusere operatøren ?: . I et betinget uttrykk har ?: -Operatøren bare en setning tilknyttet if og den andre.
For eksempel:
#includeint main() {int y;int x = 2;y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */printf("y =%d ",y);return 0;} Utgang:
y =2Nestede if-else-uttalelser
Når en serie avgjørelser kreves, brukes nestet if-else. Nesting betyr å bruke en if-else konstruksjon i en annen.
La oss skrive et program for å illustrere bruken av nestet if-else.
#includeint main(){int num=1;if(num<10){if(num==1){printf("The value is:%d\n",num);}else{printf("The value is greater than 1");}}else{printf("The value is greater than 10");}return 0;} Produksjon:
The value is:1Ovennevnte program sjekker om et tall er mindre eller større enn 10 og skriver ut resultatet ved hjelp av nestet if-else-konstruksjon.
- For det første har vi deklarert en variabel num med verdien som 1. Så har vi brukt if-else-konstruksjon.
- I den ytre hvis-ellers kontrollerer tilstanden som er gitt, om et tall er mindre enn 10. Hvis tilstanden er sant da, og bare da vil den utføre den indre sløyfen. I dette tilfellet er tilstanden oppfylt, derfor blir den indre blokken behandlet.
- I den indre blokken har vi igjen en tilstand som sjekker om variabelen vår inneholder verdien 1 eller ikke. Når en tilstand er oppfylt, vil den behandle If-blokken ellers vil den behandle en annen blokk. I dette tilfellet er tilstanden oppfylt, og dermed blir Hvis en blokk utføres og verdien skrives ut på utgangsskjermen.
- Ovennevnte program vil skrive ut verdien til en variabel og avslutte med suksess.
Prøv å endre verdien på variabelen, se hvordan programmet oppfører seg.
MERK: I nestet if-else, må vi være forsiktige med fordypningen fordi flere if-else-konstruksjoner er involvert i denne prosessen, så det blir vanskelig å finne ut av individuelle konstruksjoner. Riktig fordypning gjør det enkelt å lese programmet.
Nestede Else-if uttalelser
Nestet annet-hvis brukes når flerveisbeslutninger kreves.
Den generelle syntaksen for hvordan ellers stiger er konstruert i 'C' programmering er som følger:
if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;Denne typen konstruksjon er kjent som den andre-hvis-stigen. Denne kjeden ser generelt ut som en stige, derfor kalles den også som en annen-hvis-stige. Testuttrykkene blir evaluert fra topp til bunn. Hver gang et ekte testuttrykk, hvis det blir funnet, blir uttalelsen assosiert med det utført. Når alle n-testuttrykkene blir falske, kjøres standard annet-setningen.
La oss se det faktiske arbeidet ved hjelp av et program.
#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;} Produksjon:
First classOvennevnte program skriver ut karakteren i henhold til karakterene som ble oppnådd i en test. Vi har brukt den andre-hvis-stige-konstruksjonen i programmet ovenfor.
- Vi har initialisert en variabel med merker. I den andre-hvis-stige-strukturen har vi gitt forskjellige forhold.
- Verdien fra de variable merkene vil bli sammenlignet med den første tilstanden, siden det er sant at setningen som er knyttet til den, vil bli skrevet ut på utgangsskjermen.
- Hvis den første testtilstanden viser seg å være falsk, sammenlignes den med den andre tilstanden.
- Denne prosessen vil fortsette til hele uttrykket er evaluert, ellers vil kontrollen gå ut av den andre-hvis-stigen, og standarderklæringen blir skrevet ut.
Prøv å endre verdien og legg merke til endringen i utdataene.
Sammendrag
- Beslutnings- eller forgreningsuttalelser brukes til å velge en bane basert på resultatet av det evaluerte uttrykket.
- Det kalles også som kontrolluttalelser fordi det styrer gjennomføringsflyten av et program.
- 'C' gir hvis, if-else konstruerer for uttalelser om beslutningstaking.
- Vi kan også hekke om ellers i hverandre når flere stier må testes.
- Den ellers-hvis stigen brukes når vi må sjekke forskjellige måter basert på resultatet av uttrykket.