Основы программирования

Глава 5 - НЕКОТОРЫЕ ДОПОЛНИТЕЛЬНЫЕ ОПЕРАЦИИ
Индекс материала
Глава 5
ОСНОВНЫЕ ОПЕРАЦИИ
Операция сложения: +
Операция вычитания: -
Операция умножения: *
Операция деления: /
Порядок выполнения операций
НЕКОТОРЫЕ ДОПОЛНИТЕЛЬНЫЕ ОПЕРАЦИИ
Операции увеличения и уменьшения: ++ и --
Операция уменьшения: --
Старшинство операций
Не будьте слишком умными
ВЫРАЖЕНИЯ И ОПЕРАТОРЫ
Составные операторы (блоки)
Резюме: выражения и операторы
ПРЕОБРАЗОВАНИЕ ТИПОВ
Операция приведения
Резюме: операции в языке Си
ПРИМЕР ПРОГРАММЫ
ЧТО ВЫ ДОЛЖНЫ БЫЛИ УЗНАТЬ В ЭТОЙ ГЛАВЕ
ВОПРОСЫ И ОТВЕТЫ
Все страницы

В языке Си имеется около 40 операций, но некоторые из них используются гораздо чаще, чем другие. Те операции, которые мы толькo что рассмотрели, являются наиболее общеупотребительными. Кроме того, нам хотелось бы привести еще три полезные операции. Операция деления по модулю используется в целочисленной арифметикe. Ее результатом является остаток от деления целого числа, стоящего слева от знака операции, на число, расположенное справa от него. Например, 13 % 5 (читается как "13 по модулю 5") имеет значение 3, поскольку справедливо равенство 13 = 2*5 + 3.

Не пытайтесь производить данную операцию над числами с плавающей точкой она просто не будет выполняться.

На первый взгляд эта операция может показаться некоторым экзотическим средством, используемым лишь математиками, но на самом деле она применяется на практике и довольно удобна при программировании ряда задач. Одно широко распространенное применение - содействие пользователю в управлении ходом программы. Предположим, например, что вы пишите программу обработки счетов, которая должна предусматривать дополнительную плату раз в три месяца. Для этого нужно только вычислить оста ток от деления номера месяца на 3 (т.е. month % 3), проверить, равен ли результат 0, и, если равен, добавить к счету величину до полнительной платы. После того как вы познакомились с "оператором if", вы сможете лучше представить себе, как все это работает.

Приведем пример программы, использующей операцию %

/* секунды в минуты */
/* переводит секунды в минуты и секунды */
#define SM 60 /* число секунд в минуте */
main( )
{
int sec, mm, left;
printf(" Перевод секунд в минуты и секунды ! \n");
printf(" Укажите число секунд, которое вы хотели бы перевести в минуты \n" );
scanf(" %d", &sec); /* ввод числа секунд */
mm = sec % SM; /* число минут */
left = sec % SM; /* оставшееся число секунд */
printf(" %d секунды это %d минуты, %d секунды \n", sec, mm, left);
}

Вот результат ее работы

Перевод секунд в минуты и секунды!
Укажите число секунд, которое вы хотели бы перевсти в минуты.
234
234 секунды это 3 минуты 54 секунды.

Недостатком этой диалоговой программы является то, что она обрабатывает только одну входную величину. Сумеете ли вы сами изменить программу так, чтобы она предлагала вам вводить новые значения? Мы вернемся к этой задаче в разделе вопросов в конце главы, но, если вы найдете свое собственное решение, мы будем очень рады.