C, PHP, VB, .NET

Дневникът на Филип Петров


* Оператор if-else

Публикувано на 24 септември 2008 в раздел С/С++.

Операторът 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).

 



Добави коментар

Адресът на електронната поща няма да се публикува


*