Пример:
if (area < 0)
printf("%s\n", "Error: Negative area.");
Когато условието е вярно, се изпълнява тялото на оператора.
Ако условието е нарушено (не е вярно), се изпълнява следващия
оператор (след оператора if).
Тялото на if може да бъде друг оператор или блок.
Блок е група от оператори, оградени с къдрави (големи) скоби {}.
Пример:
if (area < 0) {
printf("%s\n", "Error: Negative area.");
return 1;
}
Четене на числа.
scanf("%f", &area);
Пример:
Въвежда се число и ако то е положително, се отпечатва корен
квадратен от числото.
Операторът if/else се състои от условие и две
алтернативи. if/else е съставен оператор.
-- Ако условието е вярно (true) се изпълнява първата
алтернатива.
-- Ако условието не е вярно (false), се изпълнява
втората алтернатива.
if (area >= 0)
printf("%s %4.2f\n", The side length is", sqrt(area));
else
printf("%s\n", "Error: Negative area.");
Пример:
Въвежда се число и ако то е положително, се отпечатва корен
квадратен от числото, ако не - съобщение за грешка.
Операторът if/else е по-добър избор в сравнение с две допълващи се условия:
if (area >= 0) /* complementary conditions */
printf("%s %4.2f\n", The side length is", sqrt(area));
if (area < 0) /* complementary conditions */
printf("%s\n", "Error: Negative area.");
Програмиране на алтернативи (избор на един от няколко
варианта).
Пример:
Да се намери стойността (в долари) на купчина американски
монети (1 penny = 1 цент, 1 nickel = 5 цента, 1 dime = 10
цента, 1 quarter = 25 цента). Купчината съдържа еднакви монети.
if (richter >= 8) "Most structures fall" if (richter >= 7 and richter < 8) "Many buildings destroyed" if (richter >= 6 and richter < 7) "Many buildings considerably damaged, some collapse" if (richter >= 4.5 and richter < 6) "Damage to poorly constructed buildings" if (richter >= 3.5 and richter < 4.5) "Felt by many people, no destruction" if (richter >= 0 and richter < 3.5) "Generally not felt by people"Вложени условни оператори.
Ако облагаемата сума е над | но не повече от | данъкът е | върху сумата над |
0 | 21400 | 15% | 0 |
21450 | 51900 | 3217.50 + 28% | 21450 |
51900 | - | 11743.50 + 31% | 51900 |
Ако облагаемата сума е над | но не повече от | данъкът е | върху сумата над |
0 | 35800 | 15% | 0 |
35800 | 86500 | 5370.00 + 28% | 35800 |
86500 | - | 19566.00 + 31% | 86500 |