Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические Указания К ЛР-1(2013) - копия.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
498.63 Кб
Скачать

Оператор выбора switch

Оператор switch (переключатель) предназначен для разветвления процесса вычислений на несколько направлений. Структурная схема оператора приведена нарис. 4.3.

Рис. 4.3. Структурная схема оператора switch

Формат оператора:

switch ( выражение ){

case константное_выражение_1: [ список_операторов_1 ]

case константное_выражение_2: [ список_операторов_2 ]

...

case константное_выражение_n: [ список_операторов_n ]

[ default: операторы ]

}

Выполнение оператора начинается с вычисления выражения. Тип выражения чаще всего целочисленный (включая char ) или строковый. Затем управление передается первому оператору из списка, помеченному константным выражением, значение которого совпало с вычисленным. Если совпадения не произошло, выполняются операторы, расположенные после слова default, а при его отсутствии управление передается следующему за switch оператору.

Каждая ветвь переключателя должна заканчиваться явным оператором перехода, а именно одним из операторов break, goto или return:

  • оператор break выполняет выход из самого внутреннего из объемлющих его операторов switch, for, while и do ;

  • оператор goto выполняет переход на указанную после него метку, обычно это метка case одной из нижележащих ветвей оператора switch ;

  • оператор return выполняет выход из функции, в теле которой он записан.

В листинге 4.7 приведен пример программы, реализующей простейший калькулятор на четыре действия.

using System;

namespace ConsoleApplication1

{ class Class1

{ static void Main()

{

string buf;

double a, b, res;

Console.WriteLine( "Введите первый операнд:" );

a = double.Parse( Console.ReadLine() );

Console.WriteLine( "Введите знак операции" );

char op = (char)Console.Read();

Console.ReadLine();

Console.WriteLine( "Введите второй операнд:" );

b = double.Parse( Console.ReadLine() );

bool ok = true;

switch (op)

{

case '+' : res = a + b; break;

case '-' : res = a - b; break;

case '*' : res = a * b; break;

case '/' : res = a / b; break;

default : res = double.NaN; ok = false; break;

}

if (ok) Console.WriteLine( "Результат: " + res );

else Console.WriteLine( "Недопустимая операция" );

}

}

}

Листинг 4.7. Калькулятор на четыре действия (html, txt)

Операторы цикла и передачи управления

Операторы цикла используются для вычислений, повторяющихся многократно. Блок, ради выполнения которого и организуется цикл, называется телом цикла. Остальные операторы служат для управления процессом повторения вычислений: это начальные установки, проверка условия продолжения цикла и модификация параметра цикла (рис. 4.4). Один проход цикла называется итерацией.

Рис. 4.4. Структурные схемы операторов цикла

Начальные установки служат для того, чтобы до входа в цикл задать значения переменных, которые в нем используются.

Проверка условия продолжения цикла выполняется на каждой итерации либо до тела цикла (тогда говорят о цикле с предусловием ), либо после тела цикла (цикл с постусловием ).

Параметром цикла называется переменная, которая используется при проверке условия продолжения цикла и принудительно изменяется на каждой итерации, причем, как правило, на одну и ту же величину. Если параметр цикла целочисленный, он называется счетчиком цикла.

Цикл завершается, если условие его продолжения не выполняется. Возможно принудительное завершение как текущей итерации, так и цикла в целом. Для этого служат операторы break, continue, return и goto. Передавать управление извне внутрь цикла запрещается.