Шта је условна изјава у језику Ц?
Условне изјаве у програмирању на Ц користе се за доношење одлука на основу услова. Условне наредбе извршавају се секвенцијално када око услова нема услова. Ако ставите неки услов за блок израза, ток извршења може се променити на основу резултата који је оценио услов. Овај процес се назива доношење одлука у „Ц.“
У програмирању 'Ц' условни изрази су могући уз помоћ следеће две конструкције:
1. Ако изјава
2. Иф-елсе изјава
Такође се назива гранањем јер програм одлучује коју ће наредбу извршити на основу резултата процењеног стања.
У овом упутству ћете научити-
- Шта је условна изјава?
- Ако изјава
- Релациони оператори
- Изјава „да је друго“
- Условни изрази
- Угњеждене изјаве да су другачије
- Угнездене изјаве Елсе-иф
Ако изјава
То је једна од снажних условних изјава. Ако је наредба одговорна за модификовање тока извршавања програма. Ако се наредба увек користи са условом. Стање се прво процењује пре извршавања било које изјаве унутар тела датотеке Иф. Синтакса израза иф је следећа:
if (condition)instruction;
Услов се процењује на тачно или нетачно. Тачно је увек вредност која није нула, а вредност је вредност која садржи нулу. Упутства могу бити појединачна упутства или блок кода који су затворени завојима {}.
Следећи програм илуструје употребу иф конструкта у програмирању 'Ц':
#includeint main(){int num1=1;int num2=2;if(num1 Излаз:
num1 is smaller than num2Горњи програм илуструје употребу иф конструкције за проверу једнакости два броја.
- У горњем програму иницијализовали смо две променљиве са нум1, нум2 са вредношћу 1, 2 респективно.
- Затим смо користили иф са тест-изразом да проверимо који је број најмањи, а који највећи. Користили смо релациони израз у конструкцији иф. Будући да је вредност нум1 мања од нум2, стање ће се процијенити на тачно.
- Тако ће исписати изјаву унутар блока Иф. Након тога, контрола ће изаћи изван блока и програм ће бити прекинут са успешним резултатом.
Релациони оператори
Ц има шест релационих оператора који се могу користити за формулисање логичког израза за доношење одлуке и услове тестирања, који враћа тачно или нетачно:
<мање од
<= мање или једнако
> веће од
> = веће или једнако
== једнако
! = није једнако
Приметите да се једнаки тест (==) разликује од оператора додељивања (=) јер је то један од најчешћих проблема са којима се програмер суочава мешањем истих.
На пример:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Излаз:
You succeedИмајте на уму да се услов који вреднује вредност која није нула сматра тачним.
На пример:
int present = 1;if (present)printf("There is someone present in the classroom \n");Излаз:
There is someone present in the classroomИзјава „да је друго“
Изјава иф-елсе ис је проширена верзија програма Иф. Општи облик иф-елсе је следећи:
if (test-expression){True block of statements}Else{False block of statements}Statements;У овој врсти конструкције, ако је вредност тест-екпрессион тачна, извршиће се истински блок израза. Ако је вредност тест-екпрессион ако фалсе, извршиће се фалсе блок израза. У сваком случају, након извршења, контрола ће се аутоматски пренети у изјаве које се појављују изван блока Иф.
Следећи програми илуструју употребу конструкције иф-елсе:
Иницијализоваћемо променљиву са неком вредношћу и написат ћемо програм да утврдимо да ли је вредност мања од десет или већа од десет.
Почнимо.
#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;} Излаз:
The value is greater than 10
- Иницијализовали смо променљиву са вредношћу 19. Морамо да сазнамо да ли је број већи или мањи од 10 помоћу програма „Ц“. Да бисмо то урадили, користили смо конструкцију иф-елсе.
- Овде смо навели услов нум <10 јер своју вредност морамо упоредити са 10.
- Као што видите, први блок је увек истинит блок, што значи да ће, ако је вредност тест-екпрессион тачна, бити изведен први блок који је Иф.
- Други блок је блок елсе. Овај блок садржи изразе који ће се извршити ако вредност тест-израза постане нетачна. У нашем програму је вредност нум већа од десет, тако да тест-увјет постаје нетачан, а иначе се извршава блок. Дакле, наш излаз ће бити из другог блока који је „Вредност је већа од 10“. Након иф-елсе, програм ће се завршити са успешним резултатом.
У 'Ц' програмирању можемо користити више иф-елсе конструкција једна у другој које се називају гнежђењем иф-елсе наредби.
Условни изрази
Постоји још један начин да изразите иф-елсе изјаву увођењем оператора ?: . У условног израза : оператор има само једну изјаву у вези са иф и друго.
На пример:
#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;} Излаз:
y =2Угњеждене изјаве да су другачије
Када је потребан низ одлука, користи се угнеждени иф-елсе. Гнежђење значи коришћење једне конструкције иф-елсе у оквиру друге.
Напишимо програм који ће илустровати употребу угнежђених иф-елсе.
#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;} Излаз:
The value is:1Горњи програм проверава да ли је број мањи или већи од 10 и исписује резултат помоћу угнежђене конструкције иф-елсе.
- Прво, прогласили смо променљиву нум са вредношћу 1. Затим смо користили конструкцију иф-елсе.
- У спољном иф-елсе, наведени услов проверава да ли је број мањи од 10. Ако је услов истинит, тада ће и само тада извршити унутрашњу петљу. У овом случају, услов је тачан, стога се обрађује унутрашњи блок.
- У унутрашњем блоку поново имамо услов који проверава да ли наша променљива садржи вредност 1 или не. Када је услов тачан, тада ће обрадити блок Иф, у супротном ће обрадити блок елсе. У овом случају, услов је тачан, па ако се изврши блок и вредност се испише на излазном екрану.
- Горњи програм ће исписати вредност променљиве и изаћи са успехом.
Покушајте да промените вредност променљиве и видите како се програм понаша.
НАПОМЕНА: У угнежденом иф-елсе морамо бити опрезни са увлачењем јер је вишеструки иф-елсе конструкти укључени у овај процес, па постаје тешко открити појединачне конструкције. Правилно увлачење олакшава читање програма.
Угнездене изјаве Елсе-иф
Угњежено елсе-иф се користи када су потребне одлуке о више путања.
Општа синтакса како се иначе граде мердевине у програмирању 'Ц' је следећа:
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;Ова врста конструкције позната је под називом мердевине у супротном случају. Овај ланац генерално изгледа као лествица, па се зато назива и мердевином другог типа. Изрази теста вреднују се од врха до дна. Кад год се пронађе истински тест-израз ако се пронађе, извршава се израз повезан са њим. Када свих н тест-израза постане нетачно, тада се извршава задата наредба елсе.
Погледајмо стварни рад уз помоћ програма.
#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;} Излаз:
First classГорњи програм штампа оцену према оценама постигнутим на тесту. У горњем програму смо користили конструкцију лествице елсе-иф.
- Иницијализовали смо променљиву са ознакама. У структури мердевина, ако не, обезбедили смо различите услове.
- Вредност из ознака променљиве упоредиће се са првим условом, јер је тачно исказ повезан са њом биће одштампан на излазном екрану.
- Ако се први тест услов покаже нетачним, онда се упоређује са другим условом.
- Овај процес ће се наставити док се не процени сав израз, у супротном ће контрола изаћи из лествице елсе-иф и биће одштампана подразумевана изјава.
Покушајте да промените вредност и приметите промену у излазу.
Резиме
- Наводи за доношење одлука или гранање користе се за одабир једне путање на основу резултата евалуираног израза.
- Такође се назива и контролним изјавама, јер контролише ток извршавања програма.
- „Ц“ пружа конструкције иф, иф-елсе за изјаве о доношењу одлука.
- Такође се можемо угнездити ако-другачије један у другом када треба тестирати више путања.
- Лествица елсе-иф се користи када морамо проверити различите начине на основу резултата израза.