Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Оператор цикла for. Прерывание работы цикла.




Логические операции. Логические выражения.

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

Логические операции принимают в качестве операндов выражения скалярных типов и возвращают результат булева типа: true или false (0).

· [ ! ] - Отрицание

· [ && ] - Логическое И

· [ || ] – Логическое ИЛИ

Логическое выражение - устное утверждение или запись, в которое, наряду с постоянными величинами, обязательно входят переменные величины (объекты). В зависимости от значений этих переменных величин (объектов) логическое выражение может принимать одно из двух возможных значений: истина (логическая 1) или ложь (логический 0).

Сложное логическое выражение - логическое выражение, состоящее из одного или нескольких простых логических выражений (или сложных логических выражений), соединенных с помощью логических операций.

· Логическое умножение или конъюнкция:

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

· Логическое сложение или дизъюнкция:

Дизъюнкция - это сложное логическое выражение, которое истинно, если хотя бы одно из простых логических выражений истинно и ложно тогда и только тогда, когда оба простых логических выраженныя ложны.

· Логическое отрицание или инверсия:

Инверсия - это сложное логическое выражение, если исходное логическое выражение истинно, то результат отрицания будет ложным, и наоборот, если исходное логическое выражение ложно, то результат отрицания будет истинным. Другими простыми слова, данная операция означает, что к исходному логическому выражению добавляется частица НЕ или слова НЕВЕРНО, ЧТО.

Поразрядные логические операции.

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

· [ ~ ] - Поразрядное отрицание

· [ & ] - Поразрядное И

· [ | ] - Поразрядное ИЛИ

· [ ^ ] - Поразрядное ИСКЛ-ИЛИ

· [ << ] - Поразрядный сдвиг влево

· [ >> ] - Поразрядный сдвиг вправо

Условный оператор. Операция условия.

Операция проверки условия в языке Си осуществляется с использованием оператора if.

Общая форма записи:

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

{блок операций 1;}

else {блок операций 2;}

Если выражение истинно, то выполняется блок операций 1, иначе выполняется блок операций 2. Блок операций может состоять из одной операции. В этом случае наличие фигурных скобок, ограничивающих блок, необязательно.

Такая структура представляет собой полную развилку.

Оператор if может также применяться в случае неполной развилки.

При этом форма записи этого условного оператора будет следующей:

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

{блок операций 1;}

При использовании вложенной формы оператора if опция else связывается с последним оператором if. Если требуется связать опцию else с предыдущим оператором if, внутренний условный оператор заключается в фигурные скобки.

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

(выражение1) ? выражение2 : выражение3.

Значение всего выражения равно величине выражения2, если выражение1 истинно, и величине выражения3 в противном случае.

Оператор цикла с предусловием while. Прерывание работы цикла.

Оператор while определяет операции, которые циклически выполняются до тех пор, пока проверяемое "выражение" не станет ложным, или равным нулю. Т.е. если "выражение" истинно (или в общем случае не равно нулю), то "оператор" (или "тело цикла") выполняется один раз, а затем "выражение" проверяется снова. Эта последовательность действий, состоящая из проверки и выполнения тела цикла, периодически выполняется до тех пор, пока "выражение" не станет ложным. Каждый такой шаг называется "итерация".

Оператор while – это цикл с предусловием; решение, выполнять ли в очередной раз тело цикла, принимается перед началом его прохождения. Поэтому вполне возможно, что тело цикла не будет выполнено ни разу. "Оператор", образующий тело цикла, может быть либо простым (одиночным, заканчивающимся символом "точка с запятой"), либо составным, тогда группа составляющих его операторов заключается в фигурные скобки.

Форма записи:

while (условие) оператор;

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

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

Оператор цикла с постусловием do-while. Прерывание работы цикла.

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

       Форма записи:

do

оператор

while (условие);

Оператор цикла for. Прерывание работы цикла.

В операторе for используются три выражения, управляющие работой цикла; они разделены символами "точка с запятой". Инициализирующее выражение вычисляется только один раз до начала выполнения какого-нибудь из операторов цикла. Если проверяемое выражение оказывается истинным (или не равным нулю), тело цикла выполняется один раз. Затем вычисляется величина корректируемого выражения, и значение проверяемого выражения определяется вновь. Таким образом, тело цикла выполняется до тех пор, пока проверяемое условие не станет ложным, или равным нулю.

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

Форма записи:

for (инициализация; проверка условия; коррекция)

Оператор;

В "инициализации" и "коррекции" могут находиться несколько операций, разделяемых между собой запятыми.

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

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

Команда досрочного выхода обычно называется EXIT или break, а её действие аналогично действию команды безусловного перехода (goto) на команду, непосредственно следующую за циклом, внутри которого эта команда находится.

В обоих случаях, если в теле цикла выполнится условие <ошибка>, будет произведён переход на операторы, обозначенные как «продолжение программы». Таким образом, оператор досрочного выхода из цикла, по сути, просто маскирует безусловный переход, однако использование break предпочтительнее, чем goto, поскольку поведение break чётко задано языком, потенциально менее опасно (нет, например, вероятности ошибиться с положением или названием метки). Кроме того, явный досрочный выход из цикла не нарушает принципов структурного программирования.

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

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

Если в программе необходимо произвести выбор одного из нескольких вариантов, то удобнее применять оператор switch.

Форма записи:

switch (целое выражение)

Вначале вычисляется выражение в скобках, расположенное за ключевым словом switch. Затем программа просматривает список "меток" до тех пор, пока не находит "метку", соответствующую данному значению. Далее программа переходит к выполнению оператора, расположенного в этой строке. Если такой подходящей метки не найдется, то если существует строка с "меткой" default , то будет выполняться оператор, помеченный этой меткой. В противном случае произойдет переход к оператору, расположенному за оператором switch. Выполнение оператора break приводит к тому, что в программе происходит выход из оператора switch и осуществляется переход к следующему за ним оператору. При отсутствии оператора break будут выполнены все операторы, начиная с помеченного данной меткой до конца оператора switch. Метки, имеющиеся в операторе switch, должны быть константами или константными выражениями (выражение, операторы которого константы) целого типа (включая тип char). Запрещается использовать в качестве метки переменную. Значением выражения в скобках должна быть величина целого типа.










Последнее изменение этой страницы: 2018-04-12; просмотров: 219.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...