Логический тип
Часть раздела Fundamentals путешествия по C на Coddy — урок 9 из 63.
В языке C нет встроенного логического типа данных, как в других языках. Вместо этого C использует целые числа для представления логических значений.
Определите целое число для представления логического значения:
int isTrue = 1; // Представляет true
int isFalse = 0; // Представляет falseВ языке C любое ненулевое значение считается «истинным» (true), в то время как ноль считается «ложным» (false).
Используйте эти логические значения в условиях:
int age = 25;
int isAdult = (age > 17);
printf("Is adult? %d\n", isAdult);Output:
Is adult? 1Вы также можете использовать оператор >= (больше или равно) в условиях. Например, age >= 18 равно true, если age равно 18 или больше, и false в противном случае:
int age = 18;
int isAdult = (age >= 18);
printf("Is adult? %d\n", isAdult);Вывод:
Is adult? 1Начиная с C99, вы можете подключить заголовочный файл <stdbool.h> для использования логического типа:
#include <stdbool.h>
bool isTrue = true; // Теперь используется настоящий логический тип
bool isFalse = false; // Использование предопределенных константНо вы узнаете больше об использовании булевых значений позже в ходе вашего обучения
Задание
ЛегкоУстановите значение переменной age равным 16. Затем создайте программу, которая проверяет, достаточно ли человек взрослый, чтобы водить машину (возраст 18 лет или старше).
Сохраните результат (либо 0 для false, либо 1 для true) в переменной canDrive и выведите на экран возраст и результат.
Шпаргалка
C использует целые числа для представления логических (булевых) значений:
int isTrue = 1; // Представляет true
int isFalse = 0; // Представляет falseЛюбое ненулевое значение считается «истинным» (true), в то время как ноль считается «ложным» (false).
Используйте логические значения в условиях:
int age = 25;
int isAdult = (age > 17);
printf("Is adult? %d\n", isAdult);Общие операторы сравнения, используемые с логическими значениями:
a > b // больше чем
a >= b // больше или равно
a < b // меньше чем
a <= b // меньше или равно
a == b // равно
a != b // не равноДля C99 и более поздних версий включите <stdbool.h> для использования настоящего логического типа:
#include <stdbool.h>
bool isTrue = true;
bool isFalse = false;Попробуйте сами
#include <stdio.h>
int main() {
// Ваш код здесь:
int age = ;
// Ваш код здесь:
int canDrive = ;
printf("Age: %d\n", age);
printf("Can drive? %d\n", canDrive);
return 0;
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
2Переменные
Типы данныхЦелые числаFloat и DoubleСимволыЛогический типКонстантыОсновы printfПравила именования переменныхПриведение типов. Часть 1Приведение типов. Часть 2Итоговое задание3Операторы
Арифметические операторыОператор остатка от деленияИнкремент и декрементОператоры присваиванияОператоры сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Логические операторы. Часть 3Задание на повторение