Программирование на языке си ( с ) | C Sharp (Си шарп) с нуля. Сортировки | Массивы | Функции

Оператор ( функция ) выбора switch — case — default | Оператор break

   switch

Это еще один вид оператора условия ( выбора ). Его лучше использовать если, допустим, нам надо вывести дни недели, т.е. когда у нас не одно, а множество условий выбора. Поэтому буду называть эту структуру - оператор выбора while. Вот его синтаксис:

switch( определенное значение) {
   case значение1: //тело
      break;
   ...
   ...
   case значениеN: //тело
      break;
   default: // тело
}

  1. определенное значение
  2. Значение, которое является можно сказать меткой, т.е. именно его будет находить наша программа в теле оператора выбора switch

  3. case

  4. Таких операторов выбора case может быть очень много, так как это просто различные варианты значений. Но работать будет именно тот оператор case, который будет равен нашему "определенному значению"

  5. default

  6. Оператор выбора default будет выполняться, если ни один из операторов выбора case не содержит нужного числа. Т.е. если ничего не совпало с "определенным значением", то будет выполняться оператор по умолчанию - default. Да, и двоеточие в конце операторов case значение: и default: являются обязательными

  7. break

  8. Оператор break является своего рода остановкой выполнения условия, т.е. с помощью него мы сразу же завершаем выполнение нашего оператора выбора и дальше продолжаем выполнение программы.

    Но вы можете не доумевать; зачем пользоваться оператор break, когда оператор выбора и без него сам завершит свою работу. Это ж даже не цикл, здесь необязательно, как бы принудительно, завершать процесс, но есть одно но. И это Но давайте рассмотрим на примере:

    int znachenie = 1;
    switch( znachenie ) {
       case 1:
          printf("Значение 1");
       case 2:
          printf("Значение 2");
       default:
          printf("Другое значение!");
    }

    По логике, да и по выше описанному материалу, на экране должно появиться сообщение: Значение 1. Но так как мы взяли и опустили оператор break, то на экране появится: Значение 1 Значение 2 Другое значение.

    Т.е. из-за того, что нет оператора прерывания, оператор ( функция ) выбора switch, найдя нужное значение в операторах case, далее будет выполняться все подряд. Поэтому не забывайте вставлять в противовес каждому оператору case оператор break

Так же надо отметить, что в качестве определенно значения могут использоваться и символы, это не запрещено, только надо их брать в одинарные кавычки. Например: 'd'

Задания:

  1. есть ли случаи, когда действительно следует опустить оператор break?
  2. написать программу, вычисляющую стоимость 10 минутного междугороднего разговора, в зависимости от кода города. ( Москва(905) - 4.15руб. Ростов(194) - 1.98руб. Краснодар(491) - 2.69руб. Киров(800) - 5.00руб. ) РЕШЕНИЕ
  3. составить программу, которая в зависимости от порядкового номера дня недели (1..2) выводит на экран его название (понедельник, вторник..., воскресенье) РЕШЕНИЕ
  4. вам на предприятии сказали доработать книгу служащих, что б по введенному инициалу выводился полный пол. (М - мужчина, Ж - женщина) РЕШЕНИЕ

Предвидущие уроки:

  1. Условный оператор if
  2. Оператор цикла for

Следующие уроки:

  1. Цикл while
При копировании ( использовании ) материала размещайте ссылку на сайт www.mir-koda.ru