Операции отношения

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

Операция смысл
< меньше
<= меньше или равно
== равно
>= больше или равно
> больше
!= не равно

Этот список хорошо соответствует возможным числовым соотношениям.

! Главное предостережение, которое мы хотим сделать, состоит в том, чтобы не использовать знак = вместо ==. С помощью операции присваивания некоторое значение присваивается переменной слева от знака равенства. В то же время с помощью операции отношения "равенство" проверяется: равно ли выражение, стоящее слева от знака, выражению справа от него. Эта операция не изменяет значения переменной в левой части, если она там присутствует. При программировании требуется аккуратность, потому что в ряде случаев компилятор не сможет обнаружить ошибки, связанные с неправильным использованием знаков этих отношений, что приведет к результатам, отличным от тех, которые вы должны были бы получить.

Операции отношения применяются при формировании условных выражений, используемых в операторах if и while. Указанные операторы проверяют, истинно или ложно данное выражение.

Пример:

#include <stdio.h>main() { int mark; mark = getchar(); if(mark == '4') printf("Оценка 4.\n"); else if (mark > '4') printf("Оценка больше 4!\n"); else /* случай, когда оценка меньше 4 */ { mark--; printf("Теперь оценка на 1 меньше.\n"); }}

Что такое истина

Мы ответим на этот вопрос, как он решается в языке Си. В Си выражение всегда имеет значение. Это утверждение остается верным даже для условных выражений, как показывает пример, приведенный ниже. В нем определяются значения двух условных выражений, одно из которых оказывается истинным, а второе - ложным:

/* истина и ложь*/main(){ int true, false; true = (12 > 2); /*отношение истинно*/ false = (12 == 2); /*отношение ложно*/ printf("true = %d; false = %d\n",true,false);}

При выполнении программы получим следующие результаты:

true = 1, false = 0.

В языке Си значение истина равно 1, а значение ложь равно 0. В языке Си все ненулевые значения являются истинными, и только 0 являются ложью. Например, два оператора

if(i!=0)

можно заменить на

if(i)

поскольку выражение (i!=0) и выражение (i) оба примут значения 0, или ложь, только в том случае, если значение переменной i равно 0.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: