Основные управляющие циклические структуры
Цикл –предназначен для задания действия, которое должно многократно повторяться. Для того, чтобы задать такое действие, структура должна включать в свой состав минимум 2 действия:
1.Которое должно быть многократно выполнено
2.Которое позволяет организовать это многократное повторение
Виды циклов:
1."Пока" – цикл с предусловием , может не выполниться ни разу, более надежный
2."до" – цикл с постусловием. Использовать, когда уверены, что выполнится хотя бы 1 раз
3.Полная схема цикла с параметром
for (выражение_1; выражение_2; выражение_3) оператор;
Циклы:
1.Циклы, управляемые условием, задает программист
2.Циклы, управляемые счетчиком, - цикл с параметром
Параметр –величина, вводимая в управляющую структуру, чтобы посчитать количество выполнений действия.
Операторы ветвления, операторы цикла.
Операторы ветвления
Формы оператора if
В общем виде синтаксис оператора if следующий:
if (ЛВ) OP1;
else OP2.
При истинном значении ЛВ выполняется оператор ОР1, в противном случае – ОР2, иногда используется и иная форма условного оператора: if (ЛВ) OP;
если ЛВ истинно - выполняется OP, в противном случае OP пропускается.
Если при ЛВ, имеющем значение «истина», необходимо выполнение нескольких операторов, то их надо заключить в фигурные скобки {}.
В структуре операторов if действия OP1 и OP2 могут быть представлены любыми операторами, в том числе и условными. В этом случае, если порядок выполнения операций не полностью определен скобками {}, правило реализации следующее: к каждому if относится ближайшее else и т. д.
Оператор выбора switch
предназначен для выбора ветви вычислительного процесса исходя из значения управляющего выражения. Использование данного оператора целесообразно при сложном условном ветвлении.
Структура оператора следующая:
switch (выражение)
{ case константное выражение : оператор или группа операторов
break;
case константное выражение : оператор или группа операторов
break;
……………
default : оператор или группа операторов }
Значение выражения оператора switch должно быть целочисленным. Это означает, что в выражении можно использовать переменные только целого или символьного типа. Результат вычисления выражения по очереди сравнивается с каждым из константных выражений. Если в какой-либо строке находится совпадение, управление передается на соответствующую метку case, и выполняется связанная с ней группа операторов. Выполнение продолжается до конца тела оператора switch или пока не встретится оператор break, который передает управление из тела switch оператору, следующему за закрывающей данную конструкцию фигурной скобкой.
Применение оператора break в контексте блока switch является обычным. Без него после выполнения варианта case, который соответствует значению управляющего выражения, оператор switch продолжит свою работу, при этом будут выполнены все последующие варианты case и ветка default.
Оператор, связанный с default, выполняется, если выражение не совпало ни с одним из константных выражений в case. Оператор default не обязательно располагается в конце конструкции. Кроме того, он и сам не обязателен. В этом случае при отсутствии совпадений не выполняется ни один оператор. Не допускается совпадение константных выражений.
Операторы цикла
служат для многократного повторения последовательности операторов до тех пор, пока выполняется некоторое условие. Цикл состоит из заголовка и тела цикла. Вход в цикл и выход из цикла осуществляются через заголовок цикла. В C существуют три вида циклов: for, while, do-while.
Оператор while (цикл с предусловием)
Ключевое слово while позволяет выполнять оператор или группу операторов до тех пор, пока условие не перестанет быть истинным.
Синтаксис: while(ЛВ) ОP;
где ЛВ – логическое выражение, ОP – тело цикла (простой или составной оператор).
Оператор for
Оператор цикла for позволяет выполнять оператор или группу операторов заранее заданное количество раз.
Общая форма оператора
for (V1; ЛВ; V2) ОP;
где V1 – выражение, в котором производится присваивание переменной, называемой параметром цикла, начального значения (инициализация); ЛВ – условие, определяющее, следует ли в очередной раз выполнять оператор (тело цикла); V2 – выражение, в котором производится изменение переменной цикла (приращение); ОР – оператор или группа операторов.
Следует иметь в виду, что все три выражения – V1, ЛВ, V2 являются необязательными. В качестве ОP может быть использован пустой оператор.
Возможны конструкции:
for(V1;;V2)ОP (бесконечный цикл); for(;ЛВ;)ОP и даже for(;;).
Оператор do-while
В цикле do-while проверка условия проводится после выполнения тела цикла:
do ОP while(ЛВ)
Действие
· выполняется ОР;
· если ЛВ истинно, повторяется выполнение ОР, в противном случае осуществляется переход к оператору, следующему за while.
Если в цикле должно выполняться несколько операторов, они заключаются в {}. Данный цикл носит название цикла с постусловием, т. е. при любом ЛВ тело цикла выполняется хотя бы один раз.