* Оператор if-else
Публикувано на 24 септември 2008 в раздел С/C++.
Операторът if-else се използва за логическо „раздвояване“ на програмата в един или два логически „клона“. Има следната граматика:
if (<условие>)
{
<блок от оператори>
}
else
{
<блок от оператори>
}
Ако условието в кръглите скоби даде резултат различен от нула (TRUE), то ще се изпълни първият блок оператори. Ако условието е равно на нула (FALSE), то ще се изпълни блока оператори след else. Ясно, е че винаги ще се изпълни само един от блоковете оператори.
Възможно е след частта else да има празен оператор:
if (<условие>)
{
<блок от оператори>
}
else;
В такъв случай else; може да не се записва. Също така ако блока от оператори се състои от един единствен оператор, то може да пропускаме фигурните скоби:
if (<условие>)
operator1;
else
operator2;
Условието може да бъде всеки допустим за езика израз. Логически обаче трябва да използваме изрази, които връщат булев резултат (0 или 1). Пример (въвеждаме две числа от клавиатурата и ги сравняваме):
int x, y;
printf("Enter x: ");
scanf("%d", &x);
printf("Enter y: ");
scanf("%d", &y);
if (x > y)
printf("X is bigger than Y");
else
{
if (x == y)
printf("X and Y are equal");
else
printf("Y is bigger than X");
}
Както се вижда от примера не е проблем да се използват и вложени структури.
Задача: Дадено е линейно уравнение a*x + b = 0. Съставете програма, която да решава това уравнение. Числата „a“ и „b“ да се въвеждат от клавиатурата.
Припомняне: Направете последователни сравнения за трите случая – (a = 0, b = 0), (a = 0, b != 0) и (a != 0).
Задача: Въведете дължините на три отсечки от клавиатурата. Проверете дали те могат да образуват триъгълник и ако да – изведете неговия периметър.
Припомняне: Отсечките трябва да са с положителна дължина и трябва да отговарят на условията (a + b > c), (a + c > b) и (b + c > a).
Пусни коментар
Категории
- Бази от Данни (39)
- Вероятности (30)
- История (14)
- Кучета (67)
- Лада Нива (91)
- Математика (159)
- Методика (52)
- Общи работи (107)
- ПИК-3 Java (38)
- Политика (40)
- Програмни Среди (1)
- ПТСК (37)
- С/C++ (45)
- Семейни (15)
- Физика (35)
- ХHTML/JS (25)
- Храна (11)
Нови
- Как да разрежем хляба?
- Здравей бебе!
- Какво означават метеорологичните кодове?
- Берра проправя пътеки
- Задача от YES