Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1-12.doc
Скачиваний:
15
Добавлен:
12.05.2015
Размер:
230.4 Кб
Скачать

3.2. Условный оператор

Условный оператор if...elseвыполняет оператор или блок операторов в зависимости от значения выражения в условии. Оператор имеет следующий формат:

if(выражение-1)

блок-операторов-1

else if (выражение-2)

блок-операторов-2

...

else

блок-операторов-n

где:

выражение-1 и выражение-2 – любые выражения, которые могут быть оценены как «истина» или «ложь»;

блок-операторов-1, блок-операторов-2и блок-операторов-n– один оператор или несколько операторов – блок операторов (блок операторов должен быть заключен в фигурные скобки).

Сначала вычисляется выражение-1. Если значение выражения –ненулевое («истина»), то выполняетсяблок-операторов-1и происходит переход к выполнению оператора, следующего за условным оператором. Есливыражение-1равно0(«ложь»), производится проверкавыражения-2, и, если оно истинно, выполняетсяблок-операторов-2 и выполнение условного оператора заканчивается и т. д.Блок-операторов-nвыполняется, когда все предыдущие условия не выполняются. Операторы else ifиelseмогут быть опущены. В этом случае, если значениевыражения-1– «ложь»,блок-операторов-1не выполняется и сразу выполняется оператор, следующий в программе за операторомif.

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

В С существует три вида операторов цикла:

  • оператор пошагового выполнения цикла for;

  • оператор выполнения цикла по условию с проверкой условия в начале цикла while;

  • оператор выполнения цикла по условию с проверкой условия в конце цикла do...while.

Оператор пошагового выполнения цикла for имеет следующий формат:

for(начальное-выражение; условное-выражение; выражение-приращения)

блок-операторов

Первым шагом при выполнении цикла является вычисление начального-выражения(если оно имеется). Затемблок-операторов, представляющий собой один оператор или несколько операторов, заключенных в фигурные скобки, выполняется до тех пор, покаусловное-выражениене будет иметь нулевое значение («ложь»). При выполнении тела цикла может использоватьсявыражение-приращения(если оно есть).

Любое из трех выражений может отсутствовать, но символы ";" опускать нельзя. При отсутствииначального-выраженияивыражения-приращениясчитается, что их просто нет в данном цикле, при отсутствииусловного-выражения, полагается, что его значение – всегда не равно0(«истина»).

Оператор выполнения цикла по условию whileиdo...whileимеют следующий формат:

while(условное-выражение)

блок-операторов

и

do

блок-операторов

while(условное-выражение);

Блок-операторов– один оператор или несколько операторов – блок операторов (в фигурных скобках) выполняются до тех покаусловное-выражениене будет иметь значение0(«ложь»). Отличие циклаwhileотцикла do...whileв том, что в циклеwhileзначениеусловного-выражениявычисляетсядо началавыполненияблока-операторов, а в циклеdo...whileпосле, т.е. циклdo...whileвсегда выполняется хотя бы один раз.

3.4. Операторы перехода

Для досрочного завершения выполнения операторов цикла for,whileиdo...while, а также оператораswitchиспользуется операторbreak. Этот оператор вызывает немедленный выход изсамого внутреннегоиз охватывающих его циклов.

Оператор продолжения continueвызывает переход на следующую итерацию в операторах циклаfor,whileиdo...while. При этом операторы тела цикла, следующие за операторомcontinue, не выполняются. В операторах циклаwhileиdo...whileследующая итерация начинается с вычисления условного выражения, а для оператораfor– с вычисления выражения приращения, а затем условного выражения.

Оператор перехода goto, имеющий формат:

goto метка;

передает управление оператору в той же функции, помеченному меткой, за которой следует символ ":". Метка представляет собой обычный идентификатор языка С.

Можно войти в блок, тело цикла, условный оператор и оператор-переключатель по метке, однако нельзя передать управление на операторы caseилиdefaultв теле оператора-переключателя.

Хотя использование оператора gotoне считается хорошим стилем в программировании и его по возможности следует избегать, однако в некоторых случаях этот оператор может пригодиться (например при выходе из самого внутреннего из нескольких вложенных циклов за пределы самого внешнего цикла).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]