Результат работы программы

Программа

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

Логическая переменная — переменная, которая принимает только два значения:

1) истина — (1 или TRUE);

2) ложь — (0 или FALSE).

На первый взгляд логического типа данных в языке Си нет. К этому выводу можно прийти, если рассматривать типы данных:

1) char — символьный;

2) int — целый;

3) short — короткий целый;

4) long — длинный целый;

5) float — число с плавающей точкой;

6) double — число с плавающей точкой двойной точности. Логического типа данных мы здесь не видим. Посмотрим, как обстоит дело

с этим типом данных в других языках программирования.

Visual Basic— язык разработки приложений под Windows:

1) integer — целое;

2) long integer — длинное целое;

3) single — число с плавающей точкой;

4) double — число с плавающей точкой двойной точности;

5) currency — денежный тип;

6) byte — целое положительное число (0... 255);

7) boolean логический тип данных(значение TRUE или FALSE). Типы данных языка Фортран (Fortran):

\) INTEGER — целое;

2) REAL — число сплавающей точкой;

3) REAL* 8 — число с плавающей точкой двойной точности;

4) COMPLEX— комплексное число;

5) COMPLEX* 16 — комплексное число двойной точности;

6) LOGICAL логический тип данных.

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

Логические операции:

1) логическая функция «И» — «&&»;

2) логическая функция «ИЛИ» — «||»;

3) логическая функция «НЕ» — «!». Операнды логических операций могут иметь:

 

1) целый тип;

2) вещественный тип;

3) тип указатель.

Результат логических операций: 1) ложь (0) — типа int;


2) истина (1) — типа int;

Таким образом, логический тип данных в языке Си существует и имеет тип int.

Логическая операция «И» вырабатывает значение 1, если оба оперенда имеют ненулевое значение (табл. 1.3).

Таблица 1.3

Логическое «И» (&&) Y=Xl&&X2:

 

XI = <ненулевое значение> Х2 = 0 7=0
XI =0 Х2=<ненулевое значение> 7=0
XI =0 Х2 = 0 7=0
XI = <ненулевое значение> XI = <ненулевое значение> 7=1

Логическая операция «ИЛИ» вырабатывает значение 1 в том случае, если какой-либо из операндов имеет ненулевое значение (табл. 1.4).

Таблица 1.4

Логическое «ИЛИ»

Y=Xl\\X2;

 

Х\ = <ненулевое значениие> Х2 = 0 7=1
XI =0 XI = <ненулевое значениие> 7=1
Х\ = <ненулевое значениие> XI = <ненулевое значениие> 7=1
XI =0 Х2 = 0 7=0

Логическая операция «НЕ» осуществляет логическое отрицание значения операнда (табл. 1.32.3).

Таблица 1.6

Логическое «НЕ»

Y=\X:


Х= <ненулевое значение> Х=0


7=0 7=1



 

#include <stdio.h>  
main()  
{  
printf("!2=%u", !2);
}  

!2 = 0

Логические операции «И», «ИЛИ» и «НЕ» позволяют создавать функции алгебры логики

Y=f(X\,X2,...,Xn), в которой XI, XI, ...., Хп — логические переменные, принимающие только два значения — «истина» и «ложь».

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

¥=ЯХ\,Х2,ХЪ,ХА), которая бы определяла работу двигателя.

Переменные логической функции в нашем случае будут следующие:

1) Х\ — вызов лифта извне;

2) XI — вызов из кабины лифта;

3) ХЪ — датчик закрытия дверей;

4) Х4 — датчик перегрузки (если кабина лифта перегружена, то он стоит на месте).

Двигатель включиться в том случае (Т=1), если произошел вызов извне или из кабины лифта, дверь закрыта и нет перегрузки. Тогда логическая функция устройства управления запуском лифта будет следующая:

Y=(X\&&X3&&(\X4))\\(X2&&X3&&(\X4)); .