Ce este o declarație condiționată în C?
Declarațiile condiționale din programarea C sunt utilizate pentru a lua decizii pe baza condițiilor. Instrucțiunile condiționale se execută secvențial atunci când nu există nicio condiție în jurul instrucțiunilor. Dacă puneți o condiție pentru un bloc de instrucțiuni, fluxul de execuție se poate modifica pe baza rezultatului evaluat de condiție. Acest proces se numește luarea deciziilor în „C.”
În programarea „C” declarațiile condiționale sunt posibile cu ajutorul următoarelor două construcții:
1. Dacă afirmație
2. Afirmație If-else
Este, de asemenea, numit ca ramificare, deoarece un program decide ce instrucțiune să execute pe baza rezultatului condiției evaluate.
În acest tutorial, veți învăța-
- Ce este o declarație condiționată?
- Dacă afirmație
- Operatori relaționali
- Declarația If-Else
- Expresii condiționate
- Declarații imbricate în caz contrar
- Declarații imbricate altfel
Dacă afirmație
Este una dintre afirmațiile condiționale puternice. Dacă declarația este responsabilă pentru modificarea fluxului de execuție a unui program. Dacă instrucțiunea este întotdeauna utilizată cu o condiție. Condiția este evaluată mai întâi înainte de a executa orice instrucțiune în corpul If. Sintaxa pentru instrucțiunea if este după cum urmează:
if (condition)instruction;
Condiția se evaluează fie la adevărat, fie la fals. Adevărat este întotdeauna o valoare diferită de zero, iar fals este o valoare care conține zero. Instrucțiunile pot fi o singură instrucțiune sau un bloc de cod cuprins de acolade {}.
Programul următor ilustrează utilizarea construcției if în programarea „C”:
#includeint main(){int num1=1;int num2=2;if(num1 Ieșire:
num1 is smaller than num2Programul de mai sus ilustrează utilizarea construcției if pentru a verifica egalitatea a două numere.
- În programul de mai sus, am inițializat două variabile cu num1, num2 cu valoarea 1, respectiv 2.
- Apoi, am folosit if cu o expresie-test pentru a verifica care număr este cel mai mic și care număr este cel mai mare. Am folosit o expresie relațională în construcția if. Deoarece valoarea num1 este mai mică decât num2, condiția se va evalua la adevărat.
- Astfel va imprima declarația în blocul If. După aceea, controlul va ieși în afara blocului și programul va fi încheiat cu un rezultat reușit.
Operatori relaționali
C are șase operatori relaționali care pot fi folosiți pentru a formula o expresie booleană pentru luarea unei decizii și condiții de testare, care returnează adevărat sau fals:
<= mai mic sau egal cu
> mai mare decât
> = mai mare sau egal cu
== egal cu
! = nu este egal cu
Observați că testul egal (==) este diferit de operatorul de atribuire (=) deoarece este una dintre cele mai frecvente probleme cu care se confruntă un programator amestecându-le.
De exemplu:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Ieșire:
You succeedRețineți că o condiție care se evaluează la o valoare diferită de zero este considerată adevărată.
De exemplu:
int present = 1;if (present)printf("There is someone present in the classroom \n");Ieșire:
There is someone present in the classroomDeclarația If-Else
Instrucțiunea if-else is este o versiune extinsă a If. Forma generală a if-else este următoarea:
if (test-expression){True block of statements}Else{False block of statements}Statements;n acest tip de construcție, dacă valoarea expresiei test este adevărată, atunci blocul adevărat de instrucțiuni va fi executat. Dacă valoarea expresiei test este falsă, atunci blocul fals al instrucțiunilor va fi executat. În orice caz, după executare, controlul va fi transferat automat la instrucțiunile care apar în afara blocului If.
Programele următoare ilustrează utilizarea construcției if-else:
Vom inițializa o variabilă cu o anumită valoare și vom scrie un program pentru a determina dacă valoarea este mai mică de zece sau mai mare de zece.
Să începem.
#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;} Ieșire:
The value is greater than 10
- Am inițializat o variabilă cu valoarea 19. Trebuie să aflăm dacă numărul este mai mare sau mai mic decât 10 folosind un program „C”. Pentru a face acest lucru, am folosit construcția if-else.
- Aici am furnizat o condiție num <10 pentru că trebuie să ne comparăm valoarea cu 10.
- După cum puteți vedea, primul bloc este întotdeauna un bloc adevărat, ceea ce înseamnă că, dacă valoarea expresiei test este adevărată, atunci primul bloc care este Dacă, va fi executat.
- Al doilea bloc este alt bloc. Acest bloc conține instrucțiunile care vor fi executate dacă valoarea expresiei test devine falsă. În programul nostru, valoarea num este mai mare decât zece, de aceea condiția de testare devine falsă și altfel blocul este executat. Astfel, ieșirea noastră va fi dintr-un alt bloc care este „Valoarea este mai mare de 10”. După if-else, programul se va încheia cu un rezultat reușit.
În programarea „C” putem folosi mai multe construcții if-else unul în celălalt, care sunt denumite cuibărirea instrucțiunilor if-else.
Expresii condiționate
Există un alt mod de a exprima o afirmație if-else este prin introducerea operatorului ?: . Într-o expresie condițională, operatorul ?: Are o singură declarație asociată cu if și cu else.
De exemplu:
#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;} Ieșire:
y =2Declarații imbricate în caz contrar
Când este necesară o serie de decizii, se folosește imbricat if-else. Cuibărirea înseamnă utilizarea unei construcții if-else în cadrul alteia.
Să scriem un program pentru a ilustra utilizarea imbricării 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;} Ieșire:
The value is:1Programul de mai sus verifică dacă un număr este mai mic sau mai mare decât 10 și tipărește rezultatul folosind o construcție imbricată if-else.
- În primul rând, am declarat o variabilă num cu valoarea 1. Apoi am folosit constructul if-else.
- În if-else exterior, condiția furnizată verifică dacă un număr este mai mic de 10. Dacă condiția este adevărată atunci și numai atunci va executa bucla interioară. În acest caz, condiția este adevărată, prin urmare blocul interior este procesat.
- În blocul interior, avem din nou o condiție care verifică dacă variabila noastră conține sau nu valoarea 1. Când o condiție este adevărată, atunci va procesa blocul If altfel va procesa un bloc else. În acest caz, condiția este adevărată, prin urmare, dacă este executat un bloc și valoarea este imprimată pe ecranul de ieșire.
- Programul de mai sus va imprima valoarea unei variabile și va ieși cu succes.
Încercați să modificați valoarea variabilei, vedeți cum se comportă programul.
NOTĂ: În if-else imbricat, trebuie să fim atenți la indentare, deoarece mai multe construcții if-else sunt implicate în acest proces, astfel încât devine dificil să descoperiți constructele individuale. Indentarea corectă facilitează citirea programului.
Declarații imbricate altfel
Nested else-if este utilizat atunci când sunt necesare decizii cu mai multe căi.
Sintaxa generală a modului în care altfel-dacă sunt construite scări în programarea „C” este după cum urmează:
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;Acest tip de structură este cunoscut sub numele de scara altceva-dacă. Acest lanț arată, în general, ca o scară, prin urmare, este numit și ca o scară altceva. Expresiile test sunt evaluate de sus în jos. Ori de câte ori se găsește o expresie de test adevărată, se execută instrucțiunea asociată cu aceasta. Când toate expresiile de testare n devin false, atunci se execută instrucțiunea implicită else.
Să vedem funcționarea efectivă cu ajutorul unui 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;} Ieșire:
First classProgramul de mai sus imprimă nota conform notelor obținute la un test. În programul de mai sus am folosit construcția de scară else-if.
- Am inițializat o variabilă cu semne. În structura scării altceva, am oferit diverse condiții.
- Valoarea din semnele variabilei va fi comparată cu prima condiție, deoarece este adevărată afirmația asociată cu aceasta va fi tipărită pe ecranul de ieșire.
- Dacă prima condiție de testare se dovedește falsă, atunci este comparată cu a doua condiție.
- Acest proces va continua până când va fi evaluată toate expresiile, altfel controlul va ieși din scara else-if și va fi tipărită declarația implicită.
Încercați să modificați valoarea și observați modificarea rezultatului.
rezumat
- Declarațiile de luare a deciziilor sau de ramificare sunt utilizate pentru a selecta o cale pe baza rezultatului expresiei evaluate.
- Este, de asemenea, numit ca instrucțiuni de control, deoarece controlează fluxul de execuție a unui program.
- „C” oferă construcții if, if-else pentru declarații de luare a deciziilor.
- Putem, de asemenea, să cuibărim unul în celălalt atunci când trebuie testate mai multe căi.
- Scara else-if este utilizată atunci când trebuie să verificăm diferite moduri pe baza rezultatului expresiei.