Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



В Си имеется четыре операции проверки отношений, которые образуют группу с приоритетом, меньшим чем у унарных и арифметических операций.

· <

· <=

· >

· >=,

Тесно связаны с ними операции проверки равенства == (равно) и!= (не равно), у которых своя группа приоритета, причем ниже чем у операций отношения.

Распространенной ошибкой является использование знака "присвоить" = вместо "равно" ==. Операция "равно" не меняет значений операндов и тем самым принципиально отличается от "присвоить".

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

Все шесть приведенных операций используются для формирования логических выражений, описывающих некоторые условия и принимающих значения "истина" или "ложь". В Си нет специальных логических значений, вместо них приняты числовые: 1 - "истина", 0 - "ложь".

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

&& логическое "и",

|| - логическое "или".

Приоритет операции && (логическое умножение) выше, чем у || (логическое сложение).

В логических выражениях используется также операция отрицания!.Значение "истина" она обращает в "ложь" и наоборот. Поэтому, если ее применить к переменной с нулевым значением, то результатом будет единица. Если же ее применить к переменной с любым ненулевым значением, то результатом будет 0.

В контексте логических выражений любое ненулевое значение (не только 1) истолковывается как "истина". Например, если x = 2 и y =3, то x && y дает результат "истина", т.е. 1.

Сложные логические выражения, состоящие из простых логических выражений со связками && и || между ними вычисляются слева направо до тех пор, пока не появиться возможность установить значение всего выражения в целом. Поэтому для получения значения сложного выражения не всегда необходимость вычислить все его операнды. Иногда может хватить даже одного. Например, если в выражении

e<.001 && c>100

первое отношение не выполняется, то второе вычислять не нужно: уже ясно, что значением всего выражения будет "ложь". Аналогично, если в выражении

e<.001 || c>100

первое отношение истинно, то истинно и все выражение.





Дата публикования: 2014-12-25; Прочитано: 161 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...