Отношения и логика
Сравнения и &&, ||
«Отношения и логика» — бесплатный урок C Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C Academy содержит 4 уроков всего.
Сравнение значений
Операторы сравнения сравнивают два значения и возвращают логическое значение: 1 для истины и 0 для лжи.
<меньше>больше<=меньше или равно>=больше или равно
#include <stdio.h>
int main(void) {
printf("3 < 5 = %d\n", 3 < 5);
printf("3 > 5 = %d\n", 3 > 5);
return 0;
}Равенство и неравенство
Используйте == для проверки равенства, а != — для проверки неравенства. Не путайте == с оператором присваивания =.
#include <stdio.h>
int main(void) {
int a = 4, b = 4;
printf("a == b = %d\n", a == b);
printf("a != b = %d\n", a != b);
return 0;
}Логические значения — это целые числа
По умолчанию в C нет отдельного логического типа. Результатом сравнения становятся целочисленные значения 1 или 0. В условии любое ненулевое значение считается истинным.
#include <stdio.h>
int main(void) {
int result = (10 > 2);
printf("result = %d\n", result);
return 0;
}Логический AND
Оператор && истинен только тогда, когда оба операнда истинны.
#include <stdio.h>
int main(void) {
int age = 25;
if (age > 18 && age < 65)
printf("Working age\n");
return 0;
}Логический OR
Оператор || истинен, когда истинен хотя бы один операнд.
#include <stdio.h>
int main(void) {
int day = 6;
if (day == 6 || day == 7)
printf("Weekend\n");
return 0;
}Логический NOT
Оператор ! меняет логическое значение на противоположное. !0 равно 1, а !5 равно 0.
#include <stdio.h>
int main(void) {
int loggedIn = 0;
if (!loggedIn)
printf("Please log in\n");
return 0;
}Вычисление с коротким замыканием
C использует вычисление с коротким замыканием: для && правая часть пропускается, если левая ложна; для || она пропускается, если левая истинна.
#include <stdio.h>
int main(void) {
int x = 0;
if (x != 0 && 10 / x > 1)
printf("safe\n");
else
printf("division skipped\n");
return 0;
}Объединение условий
Вы можете сочетать операторы сравнения и логические операторы, чтобы формулировать сложные условия.
#include <stdio.h>
int main(void) {
int score = 75;
if (score >= 50 && score < 80)
printf("Pass\n");
return 0;
}Отрицание сравнений
! может охватывать целое сравнение. !(a == b) означает то же самое, что и a != b.
#include <stdio.h>
int main(void) {
int a = 3, b = 5;
printf("%d\n", !(a == b));
return 0;
}Цепочки сравнений — не математика
В отличие от математики, 1 < x < 10 не означает того, что Вы ожидаете. Выражение вычисляется слева направо как последовательность сравнений. Вместо этого используйте x > 1 && x < 10.
#include <stdio.h>
int main(void) {
int x = 50;
if (x > 1 && x < 10)
printf("in range\n");
else
printf("out of range\n");
return 0;
}Пример принятия решения
Объединим всё изученное, чтобы классифицировать число.
#include <stdio.h>
int main(void) {
int n = -4;
if (n > 0)
printf("positive\n");
else if (n < 0)
printf("negative\n");
else
printf("zero\n");
return 0;
}Проверка понимания
Проверьте, насколько хорошо Вы понимаете операторы сравнения и логические операторы.
Повторение: операторы сравнения и логические операторы
Вы узнали, как сравнивать значения и объединять условия.
- Операторы сравнения возвращают
1или0 == !=проверяют равенство; никогда не путайте==с=&& || !объединяют логические значения- Вычисление с коротким замыканием может пропустить второй операнд
- Объединяйте условия с помощью явного
&&
Часто задаваемые вопросы
Урок «Отношения и логика» бесплатный?
Да — полный текст урока «Отношения и логика» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C Academy, подпишись на CoddyKit PRO. Курс C Academy содержит 4 уроков всего.
Чему я научусь в уроке «Отношения и логика»?
Сравнения и &&, || Ты практикуешь C Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C Academy?
Предыдущий опыт не требуется. C Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Отношения и логика»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C Academy?
Да. Каждый урок C Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Арифметические операторы
- Отношения и логика
- Присваивание и приращение
- Приоритет операторов