Vad är ett villkorligt uttalande i C?
Villkorliga uttalanden i C- programmering används för att fatta beslut baserat på villkoren. Villkorliga uttalanden körs sekventiellt när det inte finns något tillstånd runt uttalandena. Om du ställer något villkor för ett block av uttalanden kan körningsflödet ändras baserat på resultatet som utvärderats av villkoret. Denna process kallas beslutsfattande i 'C.'
I 'C' programmering är villkorliga uttalanden möjliga med hjälp av följande två konstruktioner:
1. Om uttalande
2. If-else uttalande
Det kallas också som förgrening eftersom ett program bestämmer vilket uttalande som ska utföras baserat på resultatet av det utvärderade tillståndet.
I den här handledningen lär du dig-
- Vad är ett villkorligt uttalande?
- Om uttalande
- Relationsoperatörer
- If-Else-uttalandet
- Villkorliga uttryck
- Nested If-else-uttalanden
- Nested Else-if uttalanden
Om uttalande
Det är ett av de kraftfulla villkorliga uttalandena. If statement är ansvarig för att ändra flödet för exekvering av ett program. Om uttalande alltid används med ett villkor. Villkoret utvärderas först innan något uttalande utförs i kroppen av If. Syntaxen för if-uttalandet är som följer:
if (condition)instruction;
Villkoret utvärderas antingen sant eller falskt. True är alltid ett värde som inte är noll och false är ett värde som innehåller noll. Instruktionerna kan vara en enstaka instruktion eller ett kodblock som omges av lockiga hängslen {}.
Följande program illustrerar användningen av if construct i 'C' programmering:
#includeint main(){int num1=1;int num2=2;if(num1 Produktion:
num1 is smaller than num2Ovanstående program illustrerar användningen av if-konstruktion för att kontrollera likvärdigheten mellan två siffror.
- I programmet ovan har vi initialiserat två variabler med num1, num2 med värde som 1, 2 respektive.
- Sedan har vi använt if med ett testuttryck för att kontrollera vilket nummer som är det minsta och vilket nummer som är det största. Vi har använt ett relationsuttryck i if construct. Eftersom värdet på num1 är mindre än num2, kommer villkoret att utvärderas till sant.
- Således kommer det att skriva ut uttalandet inuti blocket för If. Därefter kommer kontrollen att gå utanför blocket och programmet avslutas med ett framgångsrikt resultat.
Relationsoperatörer
C har sex relationsoperatorer som kan användas för att formulera ett booleskt uttryck för att fatta ett beslut och testa villkor, vilket returnerar sant eller falskt:
<= mindre än eller lika med
> större än
> = större än eller lika med
== lika med
! = inte lika med
Lägg märke till att lika testet (==) skiljer sig från uppdragsoperatören (=) eftersom det är ett av de vanligaste problemen som en programmerare står inför genom att blanda ihop dem.
Till exempel:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Utgång:
You succeedTänk på att ett villkor som utvärderas till ett värde som inte är noll anses vara sant.
Till exempel:
int present = 1;if (present)printf("There is someone present in the classroom \n");Utgång:
There is someone present in the classroomIf-Else-uttalandet
Uttalandet if-else is är en utökad version av If. Den allmänna formen av if-else är följande:
if (test-expression){True block of statements}Else{False block of statements}Statements;n denna typ av konstruktion, om värdet för testuttryck är sant, kommer det sanna påståendet att utföras. Om värdet av testuttryck är falskt kommer det falska blocket med uttalanden att köras. I vilket fall som helst, efter utförandet, kommer kontrollen att automatiskt överföras till uttalandena som visas utanför blocket för If.
Följande program illustrerar användningen av if-else-konstruktionen:
Vi initialiserar en variabel med något värde och skriver ett program för att avgöra om värdet är mindre än tio eller större än tio.
Låt oss börja.
#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 initierat en variabel med värdet 19. Vi måste ta reda på om antalet är större eller mindre än 10 med hjälp av ett "C" -program. För att göra detta har vi använt if-else-konstruktionen.
- Här har vi angett ett villkor num <10 eftersom vi måste jämföra vårt värde med 10.
- Som du kan se är det första blocket alltid ett sant block vilket innebär att om värdet på testuttrycket är sant kommer det första blocket som är If att köras.
- Det andra blocket är ett annat block. Detta block innehåller de påståenden som kommer att köras om testuttryckets värde blir falskt. I vårt program är värdet på num större än tio, därför blir testvillkoret falskt och annars körs blocket. Således kommer vår produktion att vara från ett annat block som är "Värdet är större än 10". Efter if-else avslutas programmet med ett framgångsrikt resultat.
I 'C' -programmering kan vi använda flera if-else-konstruktioner inom varandra som kallas kapsling av if-else-påståenden.
Villkorliga uttryck
Det finns ett annat sätt att uttrycka ett if-else-uttalande genom att introducera ?: -Operatören. I ett villkorligt uttryck har operatören ?: Endast ett uttalande associerat med if och det andra.
Till exempel:
#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;} Utgång:
y =2Nested If-else-uttalanden
När en serie beslut krävs krävs kapslad if-else. Häckning betyder att man använder en if-else-konstruktion i en annan.
Låt oss skriva ett program för att illustrera användningen av kapslade 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:1Ovanstående program kontrollerar om ett tal är mindre eller större än 10 och skriver ut resultatet med kapslad if-else-konstruktion.
- För det första har vi deklarerat en variabel num med värdet som 1. Sedan har vi använt if-else-konstruktionen.
- I det yttre om-annat kontrollerar det angivna villkoret om ett tal är mindre än 10. Om villkoret är sant då och bara då kommer det att utföra den inre slingan. I detta fall är villkoret sant, därför behandlas det inre blocket.
- I det inre blocket har vi återigen ett villkor som kontrollerar om vår variabel innehåller värdet 1 eller inte. När ett villkor är sant kommer det att bearbeta If-blocket annars kommer det att behandla ett annat block. I det här fallet är villkoret sant, så om ett block utförs och värdet skrivs ut på utskärmen.
- Ovanstående program skriver ut värdet på en variabel och avslutas med framgång.
Försök att ändra värdet på variabeln, se hur programmet beter sig.
OBS: I kapslad if-else måste vi vara försiktiga med indragningen eftersom flera if-else-konstruktioner är involverade i denna process, så det blir svårt att räkna ut enskilda konstruktioner. Korrekt indragning gör det enkelt att läsa programmet.
Nested Else-if uttalanden
Kapslat annat-om används när flervägsbeslut krävs.
Den allmänna syntaxen för hur annars-om-stegar är konstruerade i 'C' -programmering är som följer:
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;Denna typ av struktur är känd som den andra-om-stegen. Denna kedja ser i allmänhet ut som en stege, därför kallas den också som en annan-om-stege. Testuttrycken utvärderas från topp till botten. När ett riktigt testuttryck, om det hittas, körs uttalande associerat med det. När alla n-testuttrycken blir falska, körs standardinställningen annars.
Låt oss se det faktiska arbetet med hjälp av ett 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 classOvanstående program skriver ut betyget enligt poängen i ett test. Vi har använt den annars-om-stege-konstruktionen i ovanstående program.
- Vi har initierat en variabel med märken. I den annars-om-stege-strukturen har vi gett olika villkor.
- Värdet från de variabla markeringarna kommer att jämföras med det första villkoret eftersom det är sant kommer det associerade uttalandet att skrivas ut på utskärmen.
- Om det första testvillkoret visar sig falskt jämförs det med det andra villkoret.
- Denna process kommer att fortsätta tills allt uttryck utvärderas annars kommer kontrollen att gå ut ur den annars-om-stegen, och standarduttrycket kommer att skrivas ut.
Försök att ändra värdet och märka ändringen i utdata.
Sammanfattning
- Besluts- eller förgreningsuttalanden används för att välja en sökväg baserat på resultatet av det utvärderade uttrycket.
- Det kallas också som kontrolluttalanden eftersom det styr flödet av exekvering av ett program.
- 'C' innehåller om, if-else-konstruktioner för beslutsuttalanden.
- Vi kan också hysa om annars i varandra när flera vägar måste testas.
- Den andra-om-stegen används när vi måste kontrollera olika sätt baserat på resultatet av uttrycket.