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

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

Каждой операции увеличения соответствует некоторая операция уменьшения, при этом вместо символов ++ мы используем --

-- count, /* префиксная форма операции уменьшения */
count --, /* постфиксная форма операции уменьшения */

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

/* бутылки */
#define MAX 100
main( ) {
int count = MAX + 1;
while(-- count > 0) {
printf(" %d бутылок пива на полке, %d бутылок пива!\n", count, count);
printf(" Сними одну и пусти ее по кругу, \n");
printf("%d бутылок пива! \n \n", count-1); }
}

Начальные результаты выглядят так:

100 бутылок пива на полке, 100 бутылок пива!
Сними одну ипусти ее по кругу,
99 бутылок пива!
99 бутылок пива на полке, 99 бутылок пива!
Сними одну ипусти ее по кругу,
98 бутылок пива!

Постепенно количество бутылок сходит на нет, и программа завершит свою работу следующим образом

1 бутылок пива на полке, 1 бутылок пива!
Сними одну ипусти ее по кругу,
0 бутылок пива!

По-видимому, у нашего законченного лирика имеются трудности со склонением существительных с количественными числительными, но это можно устранить, используя условные операторы, показываемые в гл. 7. Необходимо заметить, что смысл операции > словами выражается как "больше". Так же как и операция <, она является "операцией отношения". Подробнее операции отношения мы рассмотрим внизу.