Логическая переменная — переменная, которая принимает только два значения:
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