Логический тип данных в Си

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

int b;

float s;

...

if (b!= 0)

{

s = 1;

}

Здесь целочисленная переменная b используется в качестве условного выражения в операторе if ("если"). Если значение b отлично от нуля, то выполняется тело оператора if, т.е. переменной s присваивается значение 1; если значение b равно нулю, то тело оператора if не выполняется.

В языке С используется обычный набор операций отношений: < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), == (равно) и!= (не равно).

К логическим операциям относятся логическое И или логическое умножение (&&), логическое ИЛИ или логическое сложение (две вертикальные палки), исключающее ИЛИ (^) и логическое отрицание (!).

Если операнд операции отрицания равен нулю, то результат операции будет равен единице; если же значение операнда отлично от нуля, результат операции будет равен нулю.

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

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

Операция исключающего ИЛИ дает истинное значение, если операнды имеют противоположные значения (истинно и ложно), и ложное значение, когда оба операнда одновременно ложны или истинны.

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


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



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