Тема № 3. Управляющие структуры. Ветвления и циклы

Итак, программа всегда представляет собой последовательность операторов, определяющих необходимые вычисления. Существует два типа операторов: операторы преобразования данных и операторы управления работой программы.

Операторы преобразования данных – это операторы присваивания и произвольные выражения, завершенные символом «;».

По сути дела важно понять, что символ «;» это не просто разделитель, а указатель на завершение оператора. Его роль крайне важна с точки зрения определения структуры программы.

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

Порядок, в котором осуществляются вычисления в программе, определяют операторы управления.

Операторы управления работой программы называют управляющими конструкциями программы.

К ним относятся:

составные операторы;

операторы выбора;

операторы перехода;

операторы циклов.

Рассмотрим теперь операторы выбора или как их еще называют – операторы ветвления.

Простейший из них – условный оператор, имеет сокращенную и полную формы. Сокращенная форма синтаксически определяется так:

 

if (выражение_условие) оператор;

Здесь в качестве элемента выражение_условие могут использоваться:

- арифметическое выражение;

- отношение;

- логическое выражение.

Оператор, указанный в условном, выполняется только тогда, когда выражение_условие оказывается истинным (т.е. при его ненулевом значении). Если выражение_условие ложно (равно нулю) – будет выполняться оператор, следующий за условным.

Полная форма условного оператора:

if (выражение_условие)

оператор_1;

Else

оператор_2;

Здесь в случае истинности (ненулевое значение) условия выполняется только оператор 1, при нулевом условии выполняется только оператор 2. Иными словами при помощи указанного оператора реализуется одна из двух возможных альтернатив. Следует отметить, что используемые операторы могут быть как простыми, так и составными.

Следующие две схемы отражают выполнение сокращенной и полной форм условного оператора.

       
   
 
 

 


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

Часть else оператора if-else может опускаться. Поэтому во вложенных операторах if с пропущенной частью else может возникнуть неоднозначность. В этом случае else связывается с ближайшим предыдущим оператором в if том же блоке, не имеющим части else.

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

Синтаксически переключатель определяется следующей формой:

switch (выражение_условие)

{

caseконстанта_1: операторы_1

caseконстанта_2: операторы_2

. . .

caseконстанта_n: операторы_n

default: операторы_n+1

}

Здесь следует ввести еще один существующий в языке С оператор прерывания, обозначаемый через ключевое слово break.

Заметим, константное выражение не может включать переменных или вызовы функций.

Пример.

Case 3+4: правильно

Case X+Y: неправильно

Операторdefaultне обязательно должен быть последним.

Поставленный в конце отдельной ветви case, оператор break прерывает последовательность выполнения записанных операторов и управление передается на оператор, следующий за закрывающей фигурной скобкой, ограничивающей «тело» оператора switch.

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

Графическая схема оператора переключения выглядит следующим образом:

 
 

 

 


Для изменения естественного последовательного порядка выполнения записанных в программе операторов и передачи управления требуемому оператору в языке С определено понятие метки и оператор безусловного перехода goto.

Метка – это идентификатор, помещаемый слева от оператора и отделенный от него двоеточием.

Для того, чтобы можно было поставить метку в любом месте программы, в языке С определен «пустой» оператор, изображаемый только одним символом «;», т.е.

Step1: ;

Оператор безусловного перехода имеет вид:

goto идентификатор-метка;

 

Операторы циклов.

При программировании очень часто возникает потребность многократного повторения одних и тех же действий. Для упрощения программирования в этом случае в язык вводятся специальные операторы, называемые операторами цикла. В языке С существует 3 вида операторов цикла:

1) параметрический for;

2) с предусловием while;

3) с постусловием do.

Указанные операторы имеют следующие синтаксические формы:

1. for (выражение_1; выражение_условие; выражение_3)

тело цикла

В качестве тела цикла может выступать простой или составной оператор или программный блок.

выражение_1 задает начальные условия цикла. Обычно это присвоение некоторых начальных значений некоторым используемым в теле цикла переменным.

выражение_условие – это логическое или арифметическое условие, определяющее окончание цикла (ложь) или его продолжение (истина). В случае истинного значения вычисляется выражение_3.

выражение_3 задает действия, связанные с изменением значений любых переменных тела цикла, необходимых для выполнения очередной итерации

Цикл повторяется до тех пор, пока указанное в операторе выражение_условие дает при вычислении значение истина (не 0).

Еще одну возможность влиять на выполнение операторов тела цикла обеспечивает специальный оператор перехода к следующей итерации цикла continue.

 

 

       
   
 

 

 


a) while b) do - while

 
 

 

 


c) for









Дата добавления: 2016-04-14; просмотров: 1207;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.011 сек.