Mis on tingimuslik väide C-s?
Tingimustest lähtuvate otsuste tegemisel kasutatakse C- programmeerimise tingimisi. Tingimuslikud avaldused täidetakse järjestikku, kui lausete ümber pole tingimust. Kui panete lauseplokile mõne tingimuse, võib täitevoog tingimusega hinnatud tulemuse põhjal muutuda. Seda protsessi nimetatakse C-s otsustamiseks.
Programmis „C” on tingimuslaused võimalikud järgmise kahe konstruktsiooni abil:
1. Kui avaldus
2. If-else avaldus
Seda nimetatakse ka nii hargnevaks, kui programm otsustab hinnatava tingimuse tulemuse põhjal, millise lause täita.
Selles õpetuses saate teada
- Mis on tingimuslik avaldus?
- Kui avaldus
- Suheteoperaatorid
- If-Else avaldus
- Tingimuslikud väljendid
- Pesastatud If-else avaldused
- Pesastatud Else-if avaldused
Kui avaldus
See on üks võimsamaid tingimuslikke avaldusi. If lause vastutab programmi täitmisvoo muutmise eest. Kui lauset kasutatakse alati tingimusega. Tingimust hinnatakse kõigepealt enne Ifi kehas oleva avalduse täitmist. If-lause süntaks on järgmine:
if (condition)instruction;
Seisund on kas tõene või vale. Tõene on alati nullist erinev väärtus ja väär on null. Juhised võivad olla üks käsk või lokkidega sulgudega ümbritsetud koodiplokk {}.
Järgmine programm illustreerib if konstrukti kasutamist C-programmeerimisel:
#includeint main(){int num1=1;int num2=2;if(num1 Väljund:
num1 is smaller than num2Ülaltoodud programm illustreerib if konstrukti kasutamist kahe numbri võrdsuse kontrollimiseks.
- Ülaltoodud programmis oleme initsialiseerinud kaks muutujat numbriga num1, num2 väärtusega vastavalt 1, 2.
- Seejärel oleme test-avaldisega kontrollinud, milline number on kõige väiksem ja milline on suurim. Kui konstruktis oleme kasutanud suhtelist väljendit. Kuna num1 väärtus on väiksem kui num2, saab tingimuse õigeks.
- Seega prindib see lause Ifi plokki. Pärast seda läheb juhtimine plokist välja ja programm lõpetatakse eduka tulemusega.
Suheteoperaatorid
C-l on kuus relatsioonioperaatorit, mida saab kasutada otsuse tegemiseks ja tingimuste testimiseks Boole'i avaldise formuleerimiseks, mis tagastab tõese või vale:
<= väiksem või võrdne
> suurem kui
> = suurem või võrdne
== võrdne
! = pole võrdne
Pange tähele, et võrdne test (==) erineb määranguoperaatorist (=), kuna see on üks levinumaid probleeme, millega programmeerija neid segades silmitsi seisab.
Näiteks:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Väljund:
You succeedPidage meeles, et tingimust, mille väärtus on nullist erinev, peetakse tõeseks.
Näiteks:
int present = 1;if (present)printf("There is someone present in the classroom \n");Väljund:
There is someone present in the classroomIf-Else avaldus
If-else on lause on Ifi laiendatud versioon. If-else üldine vorm on järgmine:
if (test-expression){True block of statements}Else{False block of statements}Statements;n seda tüüpi konstruktsioon, kui test-avaldise väärtus on tõene, siis käivitatakse lausete tõeline plokk. Kui test-avaldise väärtus on väär, siis käivitatakse lausete valeplokk. Igal juhul viiakse kontroll pärast täitmist automaatselt üle Ifi plokist ilmuvatesse lausetesse.
Järgmised programmid illustreerivad if-else konstruktsiooni kasutamist:
Initsialiseerime muutuja mõne väärtusega ja kirjutame programmi, et teha kindlaks, kas väärtus on väiksem kui kümme või suurem kui kümme.
Alustame.
#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;} Väljund:
The value is greater than 10
- Oleme initsialiseerinud muutuja väärtusega 19. Peame C-programmi abil välja selgitama, kas arv on suurem või väiksem kui 10. Selleks oleme kasutanud if-else konstruktsiooni.
- Siin oleme esitanud tingimuse numbri <10, kuna peame oma väärtust 10-ga võrdlema.
- Nagu näete, on esimene plokk alati tõene plokk, mis tähendab, et kui test-avaldise väärtus on tõene, siis käivitatakse esimene plokk, mis on If.
- Teine plokk on muu plokk. See plokk sisaldab lauseid, mis käivitatakse, kui testavaldise väärtus muutub valeks. Meie programmis on num väärtus suurem kui kümme, mistõttu test-tingimus muutub valeks ja muidu käivitatakse plokk. Seega saab meie väljund teisest plokist, mille väärtus on "Väärtus on suurem kui 10". Pärast if-else lõpetab programm eduka tulemuse.
C-programmeerimises saame üksteises kasutada mitut if-else konstruktsiooni, millele viidatakse kui if-else lausete pesitsemisele.
Tingimuslikud väljendid
If-else avalduse väljendamiseks on veel üks viis, kui sisestada operaator ?: . Tingimusväljendis on operaatoril ?: Ainult if ja teisega seotud lause.
Näiteks:
#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;} Väljund:
y =2Pesastatud If-else avaldused
Kui on vaja reaid otsuseid, kasutatakse pesastatud if-else. Pesitsemine tähendab ühe if-else konstruktsiooni kasutamist teises.
Kirjutame programmi, et illustreerida pesastatud if-else kasutamist.
#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;} Väljund:
The value is:1Ülaltoodud programm kontrollib, kas arv on väiksem või suurem kui 10, ja prindib tulemuse pesastatud if-else konstruktsiooni abil.
- Esiteks oleme deklareerinud muutuja num väärtusega 1. Siis oleme kasutanud if-else konstruktsiooni.
- Välises if-else-s kontrollib antud tingimus, kas arv on väiksem kui 10. Kui tingimus on tõene ja siis alles siis täidab see sisemise silmuse. Sel juhul on tingimus tõene, seega sisemist plokki töödeldakse.
- Sisemises plokis on meil jälle tingimus, mis kontrollib, kas meie muutuja sisaldab väärtust 1 või mitte. Kui tingimus on tõene, töötleb see If-plokki, vastasel juhul töötleb see muud plokki. Sel juhul on tingimus tõene, seega kui plokk käivitatakse ja väärtus trükitakse väljundiekraanile.
- Ülaltoodud programm prindib muutuja väärtuse ja väljub edukalt.
Proovige muutuja väärtust muuta, et näha, kuidas programm käitub.
MÄRKUS . Pesastatud if-else puhul peame olema taandega ettevaatlikud, sest selles protsessis on osalenud mitu if-else konstruktsiooni, mistõttu on üksikute konstruktsioonide väljamõtlemine keeruline. Õige taane muudab programmi lugemise lihtsaks.
Pesastatud Else-if avaldused
Pesatud muu - kui seda kasutatakse siis, kui on vaja mitme tee otsuseid.
Üldine süntaks selle kohta, kuidas muidu redeleid C-programmeerimisel üles ehitatakse, on järgmine:
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;Seda tüüpi struktuure tuntakse kui muud kui redelit. See kett näeb üldjuhul välja nagu redel, seetõttu nimetatakse seda ka kui muud redeliks. Testi-väljendeid hinnatakse ülevalt alla. Kui leitakse tõeline testavaldis, käivitatakse sellega seotud lause. Kui kõik n test-avaldist muutuvad valeks, käivitatakse vaikimisi muu lause.
Vaatame tegelikku tööd programmi abil.
#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;} Väljund:
First classÜlaltoodud programm prindib hinde vastavalt testis saadud punktidele. Oleme ülaltoodud programmis kasutanud redeli konstruktsiooni muu kui.
- Oleme muutuja initsialiseerinud märkidega. Redeli muudes struktuurides oleme pakkunud erinevaid tingimusi.
- Muutuja märkide väärtust võrreldakse esimese tingimusega, kuna tõsi, et sellega seotud lause trükitakse väljundiekraanile.
- Kui esimene testitingimus osutub valeks, võrreldakse seda teise tingimusega.
- See protsess kestab seni, kuni kogu avaldis on hinnatud, vastasel juhul läheb kontroll redelitest muud kui välja ja prinditakse vaikelause.
Proovige väärtust muuta ja märkige muutust väljundis.
Kokkuvõte
- Otsustamis- või hargnemislauseid kasutatakse ühe tee valimiseks hinnatud avaldise tulemuse põhjal.
- Seda nimetatakse ka kontrolllauseteks, kuna see kontrollib programmi täitmise voogu.
- "C" annab if-else konstruktsiooni otsuste tegemiseks.
- Samuti võime pesitseda üksteise sees, kui tuleb testida mitut rada.
- Redelit muul juhul kasutatakse juhul, kui peame avaldise tulemuse põhjal kontrollima erinevaid viise.