if (k % 7 = = 0)
{
Console.WriteLine("Число делится на 7 нацело");
}
else Console.WriteLine("Число не делится на 7");
4.2. Оператор switch:
Важным случаем выбора из нескольких вариантов является ситуация, при которой выбор варианта определяется значениями некоторого выражения. Такой выбор можно описать и оператором if, но тогда выражение придётся повторять в каждом условии. Более наглядным такой выбор можно сделать с помощью оператора switch. Вот его синтаксис:
switch (выражение)
{
case константное_выражение_1: операторы_1 оператор_перехода_1
...
case константное_выражение_K: операторы_K оператор_перехода_K
default: операторы_N оператор_перехода_N
}
Конструкция не очень строгая. Ветвь default может отсутствовать. Так же могут отсутствовать операторы перехода (если программисту так надо). А вот константные выражения в case должны иметь тот же тип, что и switch-выражение.
Из-за нестрогости конструкции семантика оператора switch чуть-чуть запутана. Вначале вычисляется значение switch-выражения. Затем оно поочерёдно в порядке следования case сравнивается на совпадение с константными выражениями. Как только достигнуто совпадение, выполняется соответствующая последовательность операторов case-ветви. Поскольку последний оператор этой последовательности является оператором перехода (чаще всего это оператор break), то обычно он завершает выполнение оператора switch. При его отсутствии управление "проваливается" в следующую case-ветвь. Если значение switch-выражения не совпадает ни с одним константным выражением, то выполняется последовательность операторов ветви default, если, конечно, она есть. Пример записи оператора:
switch (variant)
{
case 1: Console.Write("Сторона А = ");
temp = Console.ReadLine();
a = Convert.ToDouble(temp);
Console.Write("Сторона B = ");
temp = Console.ReadLine();
b = Convert.ToDouble(temp);
Console.WriteLine("Площадь прямоугольника = "+a*b);
break;
case 2: Console.Write("Сторона А = ");
temp = Console.ReadLine();
a = Convert.ToDouble(temp);
Console.Write("Высота H = ");
temp = Console.ReadLine();
h = Convert.ToDouble(temp);
Console.WriteLine("Площадь треугольниика = "+ a * h / 2);
break;
. . . . . . . . . . . . . . . . . . . .
default: Console.WriteLine("Выбор неверен ");
break;
}
Do'stlaringiz bilan baham: |