Операторът if-else в C се използва за извършване на операции въз основа на някакво специфично условие. Операциите, посочени в блок if, се изпълняват тогава и само ако даденото условие е вярно.
Съществуват следните варианти на оператор if на езика C.
- Ако изявление
- Изявление if-else
- Ако иначе - ако стълба
- Вложено ако
Изявление If
Операторът if се използва за проверка на дадено условие и извършване на някои операции в зависимост от коректността на това условие. Използва се най-вече в сценария, в който трябва да извършим различните операции за различните условия. Синтаксисът на оператора if е даден по-долу.
if(expression){ //code to be executed }
Блок-схема на израза if в C
Нека видим един прост пример за оператор if на езика C.
#include int main(){ int number=0; printf('Enter a number:'); scanf('%d',&number); if(number%2==0){ printf('%d is even number',number); } return 0; }
Изход
Enter a number:4 4 is even number enter a number:5
Програма за намиране на най-голямото число от трите.
#include int main() { int a, b, c; printf('Enter three numbers?'); scanf('%d %d %d',&a,&b,&c); if(a>b && a>c) { printf('%d is largest',a); } if(b>a && b > c) { printf('%d is largest',b); } if(c>a && c>b) { printf('%d is largest',c); } if(a == b && a == c) { printf('All are equal'); } }
Изход
Enter three numbers? 12 23 34 34 is largest
Изявление If-else
Операторът if-else се използва за извършване на две операции за едно условие. Операторът if-else е разширение на израза if, използвайки which, можем да извършим две различни операции, т.е. едната е за коректността на това условие, а другата е за некоректността на условието. Тук трябва да отбележим, че блокът if и else не може да се изпълни едновременно. Използването на израз if-else винаги е за предпочитане, тъй като винаги извиква case case с всяко условие if. Синтаксисът на оператора if-else е даден по-долу.
java bool към низ
if(expression){ //code to be executed if condition is true }else{ //code to be executed if condition is false }
Блок-схема на оператора if-else в C
Нека видим простия пример за проверка дали дадено число е четно или нечетно с помощта на оператор if-else на езика C.
#include int main(){ int number=0; printf('enter a number:'); scanf('%d',&number); if(number%2==0){ printf('%d is even number',number); } else{ printf('%d is odd number',number); } return 0; }
Изход
enter a number:4 4 is even number enter a number:5 5 is odd number
Програма за проверка дали дадено лице има право на глас или не.
#include int main() { int age; printf('Enter your age?'); scanf('%d',&age); if(age>=18) { printf('You are eligible to vote...'); } else { printf('Sorry ... you can't vote'); } }
Изход
Enter your age?18 You are eligible to vote... Enter your age?13 Sorry ... you can't vote
If else-if ladder Statement
Операторът if-else-if ladder е разширение на оператора if-else. Използва се в сценария, когато има множество случаи, които трябва да бъдат изпълнени за различни условия. В стълбищния оператор if-else-if, ако дадено условие е вярно, тогава изразите, дефинирани в блока if, ще бъдат изпълнени, в противен случай, ако някое друго условие е вярно, тогава изразите, дефинирани в блока else-if, ще бъдат изпълнени най-накрая ако никое от условията не е вярно, тогава изразите, дефинирани в блока else, ще бъдат изпълнени. Възможни са множество блокове else-if. Подобно е на оператора за превключване на случай, при който се изпълнява по подразбиране вместо блок else, ако нито един от случаите не съответства.
if(condition1){ //code to be executed if condition1 is true }else if(condition2){ //code to be executed if condition2 is true } else if(condition3){ //code to be executed if condition3 is true } ... else{ //code to be executed if all the conditions are false }
Блок-схема на оператор за стълба else-if в C
Примерът за оператор if-else-if на език C е даден по-долу.
#include int main(){ int number=0; printf('enter a number:'); scanf('%d',&number); if(number==10){ printf('number is equals to 10'); } else if(number==50){ printf('number is equal to 50'); } else if(number==100){ printf('number is equal to 100'); } else{ printf('number is not equal to 10, 50 or 100'); } return 0; }
Изход enter a number:4 number is not equal to 10, 50 or 100 enter a number:50 number is equal to 50
Програма за изчисляване на оценката на ученика според зададените оценки.
#include int main() { int marks; printf('Enter your marks?'); scanf('%d',&marks); if(marks > 85 && marks 60 && marks 40 && marks 30 && marks <= 40) { printf('you scored grade c ...'); } else printf('sorry you are fail < pre> <p> <strong>Output</strong> </p> <pre> Enter your marks?10 Sorry you are fail ... Enter your marks?40 You scored grade C ... Enter your marks?90 Congrats ! you scored grade A ... </pre> <hr></=>
=>