Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Условные операторы в C: if, else и не только — подробное руководство

Условные операторы в C: if, else и не только

Это подробное руководство проведёт вас через основы условных операторов C — if, else, вложенные конструкции — с наглядными примерами и лучшими практиками.

Видео: Оператор if-else в C

Смотрите краткое руководство ниже для наглядной демонстрации концепций.

Оператор if в C

Синтаксис оператора if в C:

if (test expression) {
    // код для выполнения, когда условие истинно
}

Как работает оператор if

Тестовое выражение в скобках вычисляется. Если результат ненулевой (истина), выполняется блок кода в фигурных скобках; если ноль (ложь) — пропускается.

Условные операторы в C: if, else и не только — подробное руководство

Подробнее об истинных и ложных значениях в операторах отношения и логики C на Wikipedia или GeeksforGeeks.


Пример 1: Простой оператор if

// Программа для вывода числа, если оно отрицательное
#include <stdio.h>
int main() {
    int number;
    printf("Enter an integer: ");
    scanf("%d", &number);
    // Истина, если число меньше 0
    if (number < 0) {
        printf("You entered %d.\n", number);
    }
    printf("The if statement is easy.");
    return 0;
}

Вывод 1

Enter an integer: -2
You entered -2.
The if statement is easy.

При вводе -2 выражение number < 0 истинно, сообщение печатается.

Вывод 2

Enter an integer: 5
The if statement is easy.

При 5 выражение ложно, printf внутри блока пропускается.


Оператор if…else в C

Добавление блока else позволяет задать альтернативный код для ложного случая. Синтаксис:

if (test expression) {
    // код при истинности
} else {
    // код при ложности
}

Как работает if…else

• Если тест истинный: выполняется блок if, else пропускается.
• Если тест ложный: выполняется блок else, if пропускается.

Условные операторы в C: if, else и не только — подробное руководство

Пример 2: Проверка на чётность/нечётность

// Проверка, является ли целое число чётным или нечётным
#include <stdio.h>
int main() {
    int number;
    printf("Enter an integer: ");
    scanf("%d", &number);
    // Истина, если остаток равен 0
    if (number % 2 == 0) {
        printf("%d is an even integer.", number);
    } else {
        printf("%d is an odd integer.", number);
    }
    return 0;
}

Вывод

Enter an integer: 7
7 is an odd integer.

Оператор модуля определяет чётность, блок else обрабатывает нечётный случай.


Лестница if…else if…else в C

Когда нужно последовательно проверить несколько условий, идеально подходит лестница if…else if…else.

Синтаксис лестницы

if (condition1) {
    // операторы
} else if (condition2) {
    // операторы
} else if (condition3) {
    // операторы
} else {
    // операторы
}

Пример 3: Сравнение двух целых чисел

// Программа для сравнения двух целых чисел
#include <stdio.h>
int main() {
    int number1, number2;
    printf("Enter two integers: ");
    scanf("%d %d", &number1, &number2);
    if (number1 == number2) {
        printf("Result: %d = %d", number1, number2);
    } else if (number1 > number2) {
        printf("Result: %d > %d", number1, number2);
    } else {
        printf("Result: %d < %d", number1, number2);
    }
    return 0;
}

Вывод

Enter two integers: 12 23
Result: 12 < 23

Вложенные if…else

Вложение if…else внутрь другого позволяет тонкую ветвление без длинной лестницы.

Пример 4: Вложенное сравнение

#include <stdio.h>
int main() {
    int number1, number2;
    printf("Enter two integers: ");
    scanf("%d %d", &number1, &number2);
    if (number1 >= number2) {
        if (number1 == number2) {
            printf("Result: %d = %d", number1, number2);
        } else {
            printf("Result: %d > %d", number1, number2);
        }
    } else {
        printf("Result: %d < %d", number1, number2);
    }
    return 0;
}

Если блок if…else содержит только один оператор, фигурные скобки {} опциональны, но их использование повышает читаемость и снижает риск ошибок.

Пример:

if (a > b) printf("Hello");
printf("Hi");

Тернарный оператор (?:)

Компактная форма условного выражения:

condition ? expression_if_true : expression_if_false;

Пример:

int max = (a > b) ? a : b;

Полезен для простых присваиваний, но не заменяет полные if/else для сложной логики.

Язык C

  1. Условная логика в C#: if, if-else, if-else-if и вложенные if
  2. Освоение оператора switch в C#: синтаксис, примеры и лучшие практики
  3. Оператор break в C#: как и когда использовать
  4. Оператор continue в C#: как эффективно пропускать итерации циклов
  5. Освоение условных операторов C++: if, if...else и вложенные if...else
  6. Освоение оператора break в C++
  7. Освоение оператора continue в C++: практические примеры и управление циклами
  8. Освоение оператора switch-case в C++: синтаксис, работа и практические примеры
  9. Оператор pass в Python: практическое руководство
  10. Базовый синтаксис C: токены, идентификаторы, ключевые слова и пробелы