Программа на Си для проверки числа: положительное или отрицательное

Чему вы научитесь в этой статье?

Проверять, является ли число (введенное пользователем) отрицательным или положительным.

Какие нужны знания для понимания этой программы?

Потребуются знания по следующим темам на языке Си:

  1. Понятие об операторах.
  2. Оператор if…else.

Работа программы
Эта программа принимает от пользователя число и проверяет, является ли оно положительным, отрицательным или нулем.

Ноль или отрицательное  —  структура if else

  1. Num ← 0.
  2. Read Num.
  3. If (Num > 0) Then. Begin. Print “Positive” End. Else if (Num<0) Then. Begin. Print “Negative” End. Else. Begin. Print “Zero” End.

Блок-схема

Объяснение программы

#include <stdio.h>
int main() {
    double num;

Сначала передается #include<stdio.h>.

Директива #include сообщает препроцессору на Си о необходимости включения в компилятор содержимого файла, указанного во входном потоке, а затем продолжения работы с остальной частью исходного файла. Заголовочный файл может содержать любой валидный фрагмент программы на Си.

Заголовочный файл stdio.h расшифровывается как “standard input output” («стандартный ввод/вывод»). В нем содержится информация, связанная с функциями ввода/вывода. Вот описание некоторых функций в stdio:

int main()

«int main» означает, что функция должна в конце выполнения вернуть какое-то целое число. При этом в конце программы возвращается 0, свидетельствуя об «успешном выполнении программы». В C89 main не указывался, а тип возвращаемого значения по умолчанию был int.

double num;

«double»  —  это тоже тип данных, который используется для представления чисел с плавающей запятой. Это 64-хбитный формат представления числа с плавающей запятой двойной точности, определяемый стандартом IEEE 754 для значения. Точность этого числа составляет 15 десятичных знаков.

printf("Enter a number: ");
    scanf("%lf", &num);
  1. Функция printf выводит инструкцию Enter a number («введите число»).
  2. В функции scanf для типа данных double используется %lf.
if (num <= 0.0) {
        if (num == 0.0)
            printf("You entered 0.");

Здесь задействован вложенный оператор if. Вложенный If в языке программирования Си означает оператор If, помещенный внутрь другого оператора If. Вложенный If применяется на Си, когда нужно проверить условие внутри другого условия.

Было введено число 0.0, и в этом случае выводится you entered 0 («вы ввели 0»).

else
            printf("You entered a negative number.");
    } else
        printf("You entered a positive number.");
    return 0;

В этих строчках использован оператор else. Потому что, если бы было введено меньше 0.0, оператор else вывел бы you entered a negative number («вы ввели отрицательное число»).

Дальше идет второй оператор else, в случае если бы не было введено 0.0 или меньше 0.0. Тогда он вывел бы you entered a positive number («вы ввели положительное число»).

return 0 в функции main означает, что программа выполнена успешно.

Программа / исходный код с использованием «if….. else»

#include <stdio.h>
int main() {
    double num;
    printf("Enter a number: ");
    scanf("%lf", &num);
    if (num <= 0.0) {
        if (num == 0.0)
            printf("You entered 0.");
        else
            printf("You entered a negative number.");
    } else
        printf("You entered a positive number.");
    return 0;
}

Вывод:

Та же задача решается с помощью вложенного оператора «if else»:

#include <stdio.h>
int main() {
    double num;
    printf("Enter a number: ");
    scanf("%lf", &num);

    if (num < 0.0)
        printf("You entered a negative number.");
    else if (num > 0.0)
        printf("You entered a positive number.");
    else
        printf("You entered 0.");

    return 0;
}

Вывод:

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен


Перевод статьи VIGNESWARAN.S: C program to check whether a number is positive or negative

Предыдущая статьяОтслеживание фокусированного времени с помощью Python
Следующая статьяДвусторонняя связь без интернета: Nearby Connections