Чему вы научитесь в этой статье?
Проверять, является ли число (введенное пользователем) отрицательным или положительным.
Какие нужны знания для понимания этой программы?
Потребуются знания по следующим темам на языке Си:
- Понятие об операторах.
- Оператор if…else.
Работа программы
Эта программа принимает от пользователя число и проверяет, является ли оно положительным, отрицательным или нулем.
Ноль или отрицательное — структура if else
- Num ← 0.
- Read Num.
- 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);
- Функция
printf
выводит инструкциюEnter a number
(«введите число»). - В функции
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