Menu
Coddy logo textTech

Логический тип

Часть раздела Fundamentals путешествия по C на Coddy. Урок 9 из 63.

В C нет встроенного логического типа данных, как в других языках. Вместо этого C использует целые числа для представления логических значений.

Определите целое число для представления логического значения:

int isTrue = 1;  // Представляет true
int isFalse = 0; // Представляет false

В C любое значение, отличное от zero, считается "true", в то время как zero считается "false". 

Используйте эти boolean значения в условиях:

int age = 25;
int isAdult = (age > 17);

printf("Is adult? %d\n", isAdult);
Output:
Is adult? 1

Вы можете использовать операторы сравнения для получения булевых результатов. Например, > проверяет, больше ли левое значение, чем правое, а >= проверяет, больше ли левое значение или равно правому:

int age = 18;
int isAdult = (age >= 18); // true, если age равен 18 или старше

printf("Is adult? %d\n", isAdult);
Output:
Is adult? 1

Начиная с C99, вы можете подключить заголовочный файл <stdbool.h>, чтобы использовать логический тип (boolean):

#include <stdbool.h>

bool isTrue = true;   // Теперь используется настоящий булевый тип
bool isFalse = false; // Используются предопределённые константы

Но вы узнаете больше об использовании `boolean` позже на протяжении вашего пути

challenge icon

Задание

Легко

Установите значение переменной age равным 16. Затем создайте программу, которая проверяет, достаточно ли человек взрослый, чтобы водить машину (возраст 18 лет и старше).
Сохраните результат (либо 0 для false, либо 1 для true) в переменной с именем canDrive и выведите как возраст, так и результат.

Попробуйте сами

#include <stdio.h>

int main() {
    // Ваш код здесь: замените ноль на возраст, который требуется в задании
    int age = 0;

    // Ваш код здесь: замените ноль на сравнение, которое определяет, достаточно ли человеку лет, чтобы водить
    int canDrive = 0;

    printf("Age: %d\n", age);
    printf("Can drive? %d\n", canDrive);

    return 0;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Fundamentals

Потренируйтесь самостоятельно: Онлайн-компилятор C