Hvad er en betinget erklæring i C?
Betingede udsagn i C- programmering bruges til at træffe beslutninger baseret på betingelserne. Betingede udsagn udføres sekventielt, når der ikke er nogen betingelse omkring udsagnene. Hvis du sætter nogle betingelser for en blok med udsagn, kan eksekveringsstrømmen ændre sig baseret på det resultat, der evalueres af betingelsen. Denne proces kaldes beslutningstagning i 'C.'
I 'C' programmering er betingede udsagn mulige ved hjælp af følgende to konstruktioner:
1. Hvis erklæring
2. Hvis-ellers erklæring
Det kaldes også så forgrenet, da et program beslutter, hvilken erklæring der skal udføres baseret på resultatet af den evaluerede tilstand.
I denne vejledning lærer du-
- Hvad er en betinget erklæring?
- Hvis udsagn
- Relationelle operatører
- If-Else-erklæringen
- Betingede udtryk
- Indlejrede if-else-erklæringer
- Indlejrede Else-if-udsagn
Hvis udsagn
Det er en af de stærke betingede udsagn. Hvis erklæring er ansvarlig for at ændre strømmen af eksekvering af et program. Hvis udsagn altid bruges med en betingelse. Betingelsen evalueres først, før der udføres nogen erklæring inde i If-kroppen. Syntaksen for if-udsagnet er som følger:
if (condition)instruction;
Betingelsen evalueres til enten sand eller falsk. Sand er altid en værdi, der ikke er nul, og falsk er en værdi, der indeholder nul. Instruktioner kan være en enkelt instruktion eller en kodeblok omgivet af krøllede seler {}.
Følgende program illustrerer brugen af if construct i 'C' programmering:
#includeint main(){int num1=1;int num2=2;if(num1 Produktion:
num1 is smaller than num2Ovenstående program illustrerer brugen af if-konstruktion til at kontrollere lighed mellem to tal.
- I ovenstående program har vi initialiseret to variabler med num1, num2 med værdi som henholdsvis 1, 2.
- Derefter har vi brugt hvis med et testudtryk til at kontrollere, hvilket nummer der er det mindste, og hvilket tal der er det største. Vi har brugt et relationelt udtryk i if construct. Da værdien af num1 er mindre end num2, vil betingelsen evalueres til sand.
- Således vil den udskrive erklæringen inde i blokken til If. Derefter går kontrollen uden for blokken, og programmet afsluttes med et vellykket resultat.
Relationelle operatører
C har seks relationelle operatører, der kan bruges til at formulere et boolsk udtryk til beslutningstagning og testbetingelser, som returnerer sandt eller falsk:
<= mindre end eller lig med
> større end
> = større end eller lig med
== lig med
! = ikke lig med
Bemærk, at den lige test (==) er forskellig fra opgaveoperatøren (=), fordi det er et af de mest almindelige problemer, som en programmør står over for ved at blande dem sammen.
For eksempel:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Output:
You succeedHusk, at en tilstand, der evalueres til en værdi, der ikke er nul, betragtes som sand.
For eksempel:
int present = 1;if (present)printf("There is someone present in the classroom \n");Output:
There is someone present in the classroomIf-Else-erklæringen
Erklæringen if-else er en udvidet version af If. Den generelle form for if-else er som følger:
if (test-expression){True block of statements}Else{False block of statements}Statements;n denne type konstruktion, hvis værdien af testudtryk er sand, så udføres den sande sætningsblok. Hvis værdien af testudtryk er falsk, vil den falske blok med udsagn blive udført. Under alle omstændigheder overføres kontrollen automatisk efter udførelsen til de udsagn, der vises uden for If.
Følgende programmer illustrerer brugen af if-else-konstruktionen:
Vi initialiserer en variabel med en vis værdi og skriver et program for at afgøre, om værdien er mindre end ti eller større end ti.
Lad os begynde.
#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;} Produktion:
The value is greater than 10
- Vi har initialiseret en variabel med værdi 19. Vi er nødt til at finde ud af, om antallet er større eller mindre end 10 ved hjælp af et 'C' program. For at gøre dette har vi brugt if-else-konstruktionen.
- Her har vi givet en betingelse num <10, fordi vi skal sammenligne vores værdi med 10.
- Som du kan se, er den første blok altid en sand blok, hvilket betyder, at hvis værdien af testekspression er sand, vil den første blok, der er Hvis, blive udført.
- Den anden blok er en anden blok. Denne blok indeholder udsagnene, der udføres, hvis værdien af testudtrykket bliver falsk. I vores program er værdien af num større end ti, hvorfor testtilstanden bliver falsk, og ellers udføres blok. Således vil vores output være fra en anden blok, som er "Værdien er større end 10". Efter if-else afsluttes programmet med et vellykket resultat.
I 'C' programmering kan vi bruge flere if-else-konstruktioner inden for hinanden, der kaldes indlejring af if-else-udsagn.
Betingede udtryk
Der er en anden måde at udtrykke en if-else-sætning på ved at introducere ?: Operatoren. I et betinget udtryk har operatøren ?: Kun én sætning tilknyttet if og the else.
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;} Output:
y =2Indlejrede if-else-erklæringer
Når der kræves en række beslutninger, anvendes indlejret if-else. Indlejring betyder at bruge en hvis-ellers-konstruktion inden for en anden.
Lad os skrive et program for at illustrere brugen af indlejret 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;} Produktion:
The value is:1Ovenstående program kontrollerer, om et tal er mindre eller større end 10 og udskriver resultatet ved hjælp af indlejret if-else-konstruktion.
- For det første har vi deklareret en variabel num med værdi som 1. Så har vi brugt if-else konstruktion.
- I den ydre hvis-ellers kontrollerer den angivne betingelse, om et tal er mindre end 10. Hvis betingelsen er sand, og kun derefter, vil den udføre den indre sløjfe. I dette tilfælde er betingelsen sand, hvorfor den indre blok behandles.
- I den indre blok har vi igen en betingelse, der kontrollerer, om vores variabel indeholder værdien 1 eller ej. Når en betingelse er sand, behandler den If-blokken ellers behandler den en anden blok. I dette tilfælde er betingelsen sand, og derfor udføres Hvis en blok udføres, og værdien udskrives på outputskærmen.
- Ovenstående program udskriver værdien af en variabel og afslutter med succes.
Prøv at ændre værdien af variablen, se hvordan programmet opfører sig.
BEMÆRK: I indlejret if-else skal vi være forsigtige med indrykket, fordi flere if-else-konstruktioner er involveret i denne proces, så det bliver svært at finde ud af individuelle konstruktioner. Korrekt indrykning gør det let at læse programmet.
Indlejrede Else-if-udsagn
Nestet andet-hvis bruges, når flervejsbeslutninger er påkrævet.
Den generelle syntaks for hvordan ellers stiger konstrueres 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 type struktur er kendt som den anden-hvis stige. Denne kæde ser generelt ud som en stige, derfor kaldes den også som en anden-hvis-stige. Testudtrykkene evalueres fra top til bund. Når et ægte testudtryk, hvis det findes, udføres en erklæring, der er knyttet til det. Når alle n-testudtrykkene bliver falske, udføres standard andet-sætningen.
Lad os se det faktiske arbejde ved hjælp af 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;} Produktion:
First classOvenstående program udskriver karakteren efter de karakterer, der blev scoret i en test. Vi har brugt den ellers-hvis stige-konstruktion i ovenstående program.
- Vi har initialiseret en variabel med mærker. I den ellers-hvis-stige-struktur har vi givet forskellige forhold.
- Værdien fra de variable mærker sammenlignes med den første betingelse, da det er sandt, at udsagnet, der er knyttet til det, udskrives på outputskærmen.
- Hvis den første testtilstand viser sig at være falsk, sammenlignes den med den anden betingelse.
- Denne proces fortsætter, indtil hele udtrykket er evalueret, ellers vil kontrollen gå ud af den anden-hvis-stige, og standarderklæringen udskrives.
Prøv at ændre værdien og bemærk ændringen i output.
Resumé
- Beslutningsbeslutning eller forgreningserklæringer bruges til at vælge en sti baseret på resultatet af det evaluerede udtryk.
- Det kaldes også som kontrolerklæringer, fordi det kontrollerer strømmen af eksekvering af et program.
- 'C' indeholder, hvis, hvis-ellers konstruerer til beslutningsudtalelser.
- Vi kan også rede hvis ellers inden i hinanden, når flere stier skal testes.
- Den anden-hvis-stige bruges, når vi skal kontrollere forskellige måder baseret på resultatet af udtrykket.