Kniga-Online.club
» » » » Герберт Шилдт - C# 4.0: полное руководство

Герберт Шилдт - C# 4.0: полное руководство

Читать бесплатно Герберт Шилдт - C# 4.0: полное руководство. Жанр: Программирование издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

      if(i < 0)

        Console.WriteLine("отрицательное число");

      else

        if(i == 0)

          Console.WriteLine("число без знака");

        else

          Console.WriteLine("положительное число");

    }

  }

}

Ниже приведен результат выполнения этой программы.

Проверка -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 выполняется лишь в том случае, если не удается выполнить ни один из предыдущих операторов.

Оператор 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 равно двум.

Перейти на страницу:

Герберт Шилдт читать все книги автора по порядку

Герберт Шилдт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


C# 4.0: полное руководство отзывы

Отзывы читателей о книге C# 4.0: полное руководство, автор: Герберт Шилдт. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*