Найти тему
Nuances of programming

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

Оглавление

Источник: Nuances of Programming

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

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

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

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

  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.

Блок-схема

-2

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

#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;
}

Вывод:

-3
-4
-5

Та же задача решается с помощью вложенного оператора «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;
}

Вывод:

-6

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

Читайте нас в Telegram, VK

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