Чтение онлайн

на главную - закладки

Жанры

C# 4.0 полное руководство - 2011

Шилдт Герберт

Шрифт:

// Определить наименьший множитель заданного // целого значения, состоящий из одной цифры.

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

Наименьший множитель числа 10 равен 2

11 не делится на 2, 3, 5 или 7.

Как видите, последний оператор else выполняется лишь в том случае, если не удается выполнить ни один из предыдущих операторов.

Оператор switch

Вторым оператором выбора в C# является оператор switch, который обеспечивает многонаправленное ветвление программы. Следовательно, этот оператор позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения программы. Несмотря на то что многонаправленная проверка может быть организована с помощью последовательного ряда вложенных операторов if, во многих случаях более эффективным оказывается применение оператора switch. Этот оператор действует следующим образом. Значение выражения последовательно сравнивается с константами выбора из заданного списка. Как только будет обнаружено совпадение с одним из условий выбора, выполняется последовательность операторов, связанных с этим условием. Ниже приведена общая форма оператора switch.

switch(выражение) { case константа1:

последовательность операторов break; case константа2:

последовательность операторов break; case константаЗ:

последовательность операторов break;

default:

последовательность операторов break;

}

Заданное выражение в операторе switch должно быть целочисленного типа (char, byte, short или int), перечислимого или же строкового. (О перечислениях и символьных строках типа string речь пойдет далее в этой книге.) А выражения других типов, например с плавающей точкой, в операторе switch не допускаются. Зачастую выражение, управляющее оператором switch, просто сводится к одной переменной. Кроме того, константы выбора должны иметь тип, совместимый с типом

выражения. В одном операторе switch не допускается наличие двух одинаковых по значению констант выбора.

Последовательность операторов из ветви default выполняется в том случае, если ни одна из констант выбора не совпадает с заданным выражением. Ветвь default не является обязательной. Если же она отсутствует и выражение не совпадает ни с одним из условий выбора, то никаких действий вообще не выполняется. Если же происходит совпадение с одним из условий выбора, то выполняются операторы, связанные с этим условием, вплоть до оператора break.

Ниже приведен пример программы, в котором демонстрируется применение оператора switch.

// Продемонстрировать применение оператора switch.

using System;

class SwitchDemo { static void Main { int i;

for(i=0; i<10; i++) switch(i) {

case 0:

Console.WriteLine("i равно нулю"); break; case 1:

Console.WriteLine("i равно единице"); break; case 2:

Console.WriteLine("i равно двум"); break; case 3:

Console.WriteLine("i равно трем"); break; case 4:

Console.WriteLine ("i равно четырем"); break;

default: (

Console.WriteLine("i равно или больше пяти"); break;

}

}

}

Результат выполнения этой программы выглядит следующим образом.

i

равно

нулю.

i

равно

единице.

i

равно

двум.

i

равно

трем.

i

равно

четырем.

i

равно

или больше

пяти

i

равно

или больше

пяти

i

Поделиться:
Популярные книги

Вперед в прошлое 2

Ратманов Денис
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 2

Соль этого лета

Рам Янка
1. Самбисты
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Соль этого лета

70 Рублей

Кожевников Павел
1. 70 Рублей
Фантастика:
фэнтези
боевая фантастика
попаданцы
постапокалипсис
6.00
рейтинг книги
70 Рублей

Сандро из Чегема (Книга 1)

Искандер Фазиль Абдулович
Проза:
русская классическая проза
8.22
рейтинг книги
Сандро из Чегема (Книга 1)

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16

Пипец Котенку! 3

Майерс Александр
3. РОС: Пипец Котенку!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Пипец Котенку! 3

Академия

Сай Ярослав
2. Медорфенов
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Академия

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Хёвдинг Нормандии. Эмма, королева двух королей

Улофсон Руне Пер
Проза:
историческая проза
5.00
рейтинг книги
Хёвдинг Нормандии. Эмма, королева двух королей

Кто ты, моя королева

Островская Ольга
Любовные романы:
любовно-фантастические романы
7.67
рейтинг книги
Кто ты, моя королева

Отец моего жениха

Салах Алайна
Любовные романы:
современные любовные романы
7.79
рейтинг книги
Отец моего жениха

Башня Ласточки

Сапковский Анджей
6. Ведьмак
Фантастика:
фэнтези
9.47
рейтинг книги
Башня Ласточки

Игра на чужом поле

Иванов Дмитрий
14. Девяностые
Фантастика:
попаданцы
альтернативная история
5.50
рейтинг книги
Игра на чужом поле

Идеальный мир для Лекаря 6

Сапфир Олег
6. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 6