}
}
}
Ниже приведен результат выполнения этой программы.
Проверка -5: отрицательное число
Проверка -4: отрицательное число
Проверка -3: отрицательное число
Проверка -2: отрицательное число
Проверка -1: отрицательное число
Проверка 0: число без знака
Проверка 1: положительное число
Проверка 2: положительное число
Проверка 3: положительное число
Проверка 4: положительное число
Проверка 5: положительное число
Конструкция if-else-if
В программировании часто применяется многоступенчатая конструкция if-else-if
, состоящая из вложенных операторов if
. Ниже приведена ее общая форма.
if( условие)
оператор ;
else
if
(условие)
оператор ;
else
if ( условие)
оператор;
.
.
.
else
оператор ;
Условные выражения в такой конструкции вычисляются сверху вниз. Как только обнаружится истинное условие, выполняется связанный с ним оператор, а все остальные операторы в многоступенчатой конструкции опускаются.
Если ни одно из условий не является истинным, то выполняется последний оператор else, который зачастую служит в качестве условия, устанавливаемого по умолчанию. Когда же последний оператор else отсутствует, а все остальные проверки по условию дают ложный результат, то никаких действий вообще не выполняется.
В приведенном ниже примере программы демонстрируется применение многоступенчатой конструкции if-else-if
. В этой программе обнаруживается наименьший множитель заданного целого значения, состоящий из одной цифры.
// Определить наименьший множитель заданного
// целого значения, состоящий из одной цифры.
using System;
class Ladder {
static void Main() {
int num;
for(num = 2; num < 12; num++) {
if((num % 2) == 0)
Console.WriteLine("Наименьший множитель числа " + num + " равен 2.");
else if((num % 3) == 0)
Console.WriteLine("Наименьший множитель числа " + num + " равен 3.");
else if((num % 5) == 0)
Console.WriteLine("Наименьший множитель числа " + num + " равен 5.");
else if((num % 7) == 0)
Console.WriteLine("Наименьший множитель числа " + num + " равен 7.");
else
Console.WriteLine(num + " не делится на 2, 3, 5 или 7.");
}
}
}
Вот к какому результату приводит выполнение этой программы.
Наименьший множитель числа 2 равен 2.
Наименьший множитель числа 3 равен 3.
Наименьший множитель числа 4 равен 2.
Наименьший множитель числа 5 равен 5.
Наименьший множитель числа 6 равен 2.
Наименьший множитель числа 7 равен 7.
Наименьший множитель числа 8 равен 2.
Наименьший множитель числа 9 равен 3.
Наименьший множитель числа 10 равен 2.
11 не делится на 2, 3, 5 или 7.
Как видите, последний оператор else
выполняется лишь в том случае, если не удается выполнить ни один из предыдущих операторов.
Вторым оператором выбора в C# является оператор switch
, который обеспечивает многонаправленное ветвление программы. Следовательно, этот оператор позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения программы. Несмотря на то что многонаправленная проверка может быть организована с помощью последовательного ряда вложенных операторов if
, во многих случаях более эффективным оказывается применение оператора switch.
Этот оператор действует следующим образом. Значение выражения последовательно сравнивается с константами выбора из заданного списка. Как только будет обнаружено совпадение с одним из условий выбора, выполняется последовательность операторов, связанных с этим условием. Ниже приведена общая форма оператора switch.
Читать дальше