Kas ir nosacījuma paziņojums C?
Nosacījuma paziņojumi C programmēšanā tiek izmantoti, lai pieņemtu lēmumus, pamatojoties uz nosacījumiem. Nosacījuma paziņojumi tiek izpildīti secīgi, ja ap teikumiem nav nosacījumu. Ja izvirzāt kādu nosacījumu priekšrakstu blokam, izpildes plūsma var mainīties, pamatojoties uz rezultātu, ko novērtē nosacījums. Šo procesu sauc par lēmumu pieņemšanu C.
Programmā “C” nosacītie paziņojumi ir iespējami, izmantojot šādus divus konstruktus:
1. Ja paziņojums
2. Ja-cits paziņojums
To sauc arī par sazarojumu, jo programma izlemj, kuru paziņojumu izpildīt, pamatojoties uz novērtētā nosacījuma rezultātu.
Šajā apmācībā jūs uzzināsiet
- Kas ir nosacījuma paziņojums?
- Ja paziņojums
- Relāciju operatori
- If-Else paziņojums
- Nosacījuma izteicieni
- Ligzdoti paziņojumi If-else
- Ligzdoti Citi paziņojumi
Ja paziņojums
Tas ir viens no spēcīgākajiem nosacītajiem paziņojumiem. Ja paziņojums ir atbildīgs par programmas izpildes plūsmas modificēšanu. Ja paziņojums vienmēr tiek izmantots ar nosacījumu. Nosacījums vispirms tiek novērtēts pirms jebkura paziņojuma izpildīšanas If pamattekstā. Ja paziņojuma sintakse ir šāda:
if (condition)instruction;
Nosacījums tiek vērtēts kā patiess, vai nepatiess. Patiesība vienmēr ir vērtība, kas nav nulle, un nepatiesa ir vērtība, kas satur nulli. Instrukcijas var būt viena instrukcija vai koda bloks, ko ieskauj cirtaini bikšturi {}.
Turpmākā programma ilustrē if construct izmantošanu “C” programmēšanā:
#includeint main(){int num1=1;int num2=2;if(num1 Izeja:
num1 is smaller than num2Iepriekš minētā programma ilustrē if konstrukta izmantošanu divu skaitļu vienlīdzības pārbaudei.
- Iepriekš minētajā programmā mēs esam inicializējuši divus mainīgos ar num1, num2 ar vērtību attiecīgi 1, 2.
- Tad mēs ar testa izteiksmi esam izmantojuši, lai pārbaudītu, kurš skaitlis ir mazākais un kurš skaitlis ir lielākais. Ja konstrukcijā, mēs izmantojām relāciju izteiksmi. Tā kā num1 vērtība ir mazāka par num2, nosacījums tiks novērtēts kā patiess.
- Tādējādi tas izdrukās paziņojumu If blokā. Pēc tam vadība nonāks ārpus bloka un programma tiks pārtraukta ar veiksmīgu rezultātu.
Relāciju operatori
C ir seši relāciju operatori, kurus var izmantot, lai formulētu Būla izteiksmi lēmuma pieņemšanai un pārbaudes nosacījumiem, kas atgriež patiesu vai nepatiesu:
<= mazāks vai vienāds ar
> lielāks par
> = lielāks vai vienāds ar
== vienāds ar
! = nav vienāds ar
Ievērojiet, ka vienāds tests (==) atšķiras no piešķiršanas operatora (=), jo tā ir viena no visbiežāk sastopamajām problēmām, ar kuru saskaras programmētājs, tos sajaucot.
Piemēram:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Izeja:
You succeedPaturiet prātā, ka nosacījums, kas tiek novērtēts kā vērtība, kas nav nulle, tiek uzskatīts par patiesu.
Piemēram:
int present = 1;if (present)printf("There is someone present in the classroom \n");Izeja:
There is someone present in the classroomIf-Else paziņojums
Izziņa if-else ir paplašināta If versija. Ja-cits vispārējā forma ir šāda:
if (test-expression){True block of statements}Else{False block of statements}Statements;n šāda veida konstrukcija, ja testa izteiksmes vērtība ir patiesa, tiks izpildīts patiesais paziņojumu bloks. Ja testa izteiksmes vērtība ir nepatiesa, tiks izpildīts nepatiesais paziņojumu bloks. Jebkurā gadījumā pēc izpildes vadība tiks automātiski pārsūtīta uz paziņojumiem, kas parādās ārpus If bloka.
Šīs konstrukcijas ilustrācija ilustrē šādas programmas:
Mēs inicializēsim mainīgo ar kādu vērtību un uzrakstīsim programmu, lai noteiktu, vai vērtība ir mazāka par desmit vai lielāka par desmit.
Sāksim.
#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;} Izeja:
The value is greater than 10
- Mēs esam inicializējuši mainīgo ar vērtību 19. Mums ir jānoskaidro, vai skaitlis ir lielāks vai mazāks par 10, izmantojot “C” programmu. Lai to izdarītu, mēs izmantojām if-else konstrukciju.
- Šeit mēs esam norādījuši nosacījumu <<10, jo mums ir jāsalīdzina sava vērtība ar 10.
- Kā redzat, pirmais bloks vienmēr ir patiess bloks, kas nozīmē, ka, ja testa izteiksmes vērtība ir patiesa, tiks izpildīts pirmais bloks, kas ir Ja.
- Otrais bloks ir cits bloks. Šajā blokā ir norādījumi, kas tiks izpildīti, ja testa izteiksmes vērtība kļūs nepatiesa. Mūsu programmā num vērtība ir lielāka par desmit, tāpēc testa nosacījums kļūst nepatiess, un tiek izpildīts bloks. Tādējādi mūsu produkcija būs no cita bloka, kas ir "Vērtība ir lielāka par 10". Pēc ja cita, programma tiks pārtraukta ar veiksmīgu rezultātu.
Programmā "C" mēs varam izmantot vairākus if-else konstrukcijas savā starpā, kas tiek dēvēti par if-else paziņojumu ligzdošanu.
Nosacījuma izteicieni
Ir vēl viens veids, kā izteikt paziņojumu if-else ir, ieviešot operatoru ?: . Nosacījuma izteiksmē operatoram ?: Ir tikai viens paziņojums, kas saistīts ar ja un citu.
Piemēram:
#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;} Izeja:
y =2Ligzdoti paziņojumi If-else
Ja nepieciešama virkne lēmumu, tiek izmantots ligzdots, ja-cits. Ligzdošana nozīmē viena, ja citāda konstrukcijas izmantošanu citā.
Uzrakstīsim programmu, lai ilustrētu ligzdoto if-else izmantošanu.
#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;} Izeja:
The value is:1Iepriekš minētā programma pārbauda, vai skaitlis ir mazāks vai lielāks par 10, un izdrukā rezultātu, izmantojot ligzdotu if-else konstrukciju.
- Pirmkārt, mēs esam deklarējuši mainīgo num ar vērtību 1. Pēc tam mēs izmantojām if-else konstrukciju.
- Ārējā, ja citādi, sniegtais nosacījums pārbauda, vai skaitlis ir mazāks par 10. Ja nosacījums ir patiess, tad un tikai tad tas izpildīs iekšējo cilpu. Šajā gadījumā nosacījums ir patiess, tāpēc tiek apstrādāts iekšējais bloks.
- Iekšējā blokā mums atkal ir nosacījums, kas pārbauda, vai mūsu mainīgajā ir vērtība 1, vai nav. Kad nosacījums ir patiess, tas apstrādās If bloku, pretējā gadījumā tas apstrādās citu bloku. Šajā gadījumā nosacījums ir patiess, līdz ar to, ja tiek izpildīts bloks un vērtība tiek izdrukāta izvades ekrānā.
- Iepriekš minētā programma izdrukās mainīgā vērtību un veiksmīgi izies.
Mēģiniet mainīt mainīgā vērtību, lai redzētu, kā programma rīkojas.
PIEZĪME: ligzdotā if-else gadījumā mums ir jābūt piesardzīgiem ar atkāpi, jo šajā procesā ir iesaistīti vairāki if-else konstruktori, tāpēc kļūst grūti noteikt atsevišķas konstrukcijas. Pareiza atkāpe atvieglo programmas lasīšanu.
Ligzdoti Citi paziņojumi
Nested cits - ja tiek izmantots, ja ir nepieciešami vairāku ceļu lēmumi.
Vispārējā sintakse tam, kā citādi veidot kāpnes “C” programmēšanā, ir šāda:
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;Šāda veida struktūra ir pazīstama kā kāpnes, ja citādi. Šī ķēde parasti izskatās kā kāpnes, tāpēc to sauc arī par kāpnēm, ja citādi. Testa izteiksmes tiek vērtētas no augšas uz leju. Ikreiz, kad tiek atrasta patiesa testa izteiksme, tiek izpildīts ar to saistīts paziņojums. Kad visas n testa izteiksmes kļūst nepatiesas, tiek izpildīts noklusējuma cits paziņojums.
Ļaujiet mums redzēt faktisko darbu ar programmas palīdzību.
#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;} Izeja:
First classIepriekš minētā programma izdrukā atzīmi atbilstoši pārbaudē iegūtajām atzīmēm. Iepriekš minētajā programmā mēs izmantojām kāpņu konstrukciju “cits-ja”.
- Mēs esam inicializējuši mainīgo ar atzīmēm. Ja mēs izmantojam kāpņu struktūru, mēs esam nodrošinājuši dažādus nosacījumus.
- Vērtība no mainīgajām atzīmēm tiks salīdzināta ar pirmo nosacījumu, jo taisnība, ka ar to saistītais paziņojums tiks izdrukāts izejas ekrānā.
- Ja pirmais testa nosacījums izrādās nepatiess, tad to salīdzina ar otro nosacījumu.
- Šis process turpināsies, līdz tiks novērtēta visa izteiksme, pretējā gadījumā vadība izies no kāpnēm else-if, un tiks izdrukāts noklusējuma paziņojums.
Mēģiniet modificēt vērtību un pamanīt izejas izmaiņas.
Kopsavilkums
- Lai izvēlētos vienu ceļu, pamatojoties uz novērtētās izteiksmes rezultātu, tiek izmantoti lēmumu pieņemšanas vai sazarošanas paziņojumi.
- To sauc arī par vadības paziņojumiem, jo tas kontrolē programmas izpildes plūsmu.
- “C” norāda, ja, ja vēl, konstruē lēmumu pieņemšanas paziņojumus.
- Mēs varam ligzdot arī citur, ja jāpārbauda vairāki ceļi.
- Citas kāpnes tiek izmantotas, ja mums ir jāpārbauda dažādi veidi, pamatojoties uz izteiksmes rezultātu.