Операция уменьшения: --

Операция уменьшения: --

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

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

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

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

/* бутылки*/

#define MAX 100

main( )

 {

int count = MAX + 1;

while(--  count > 0)

 {

     printf(" %d бутылок пива на полке, %d бутылок пива! ", count, count);

    printf(" Сними одну и пусти ее по кругу, ");

    printf("%d бутылок пива! ", count-1); }}

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

100 бутылок пива на полке, 100 бутылок пива!

Сними одну и пусти ее по кругу,

99 бутылок пива!

99 бутылок пива на полке, 99 бутылок пива!

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

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

1 бутылок пива на полке, 1 бутылок пива!

Сними одну и пусти ее по кругу,

0 бутылок пива!

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Операция

Из книги Самоучитель UML автора Леоненков Александр

Операция В третьей сверху секции прямоугольника записываются операции или методы класса. Операция (operation) представляет собой некоторый сервис, предоставляющий каждый экземпляр класса по определенному требованию. Совокупность операций характеризует функциональный


2. Операция проекции.

Из книги Базы данных: конспект лекций автора Автор неизвестен

2. Операция проекции. Операция проекции на языке структурированных запросов реализуется даже проще, чем операция выборки. Напомним, что при применении операции проекции выбираются не строки (как при применении операции выборки), а столбцы. Поэтому достаточно перечислить


3. Операция переименования.

Из книги Справочное руководство по C++ автора Страустрап Бьярн

3. Операция переименования. Операция переименования атрибутов на языке структурированных запросов осуществляется довольно просто. А именно воплощается в действительность следующим алгоритмом:1) в списке имен атрибутов фразы Select перечисляются те атрибуты, которые


1. Операция объединения.

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

1. Операция объединения. Для того чтобы реализовать операцию объединения двух отношений приходится использовать одновременно два оператора Select, каждый из которых соответствует какому-то одному из исходных отношений-операндов. И к этим двум базовым операторам Select


R.16.3.1 Операция #

Из книги Эффективное использование STL автора Мейерс Скотт

R.16.3.1 Операция # Если непосредственно перед параметром в строке замены идет лексема #, то при подстановке параметр и операция # будут заменены на строку литералов, содержащую имя соответствующего параметра макровызова. В символьной константе или строке литералов,


R.16.3.2 Операция ##

Из книги Системное программирование в среде Windows автора Харт Джонсон М

R.16.3.2 Операция ## Если в строке замены между двумя лексемами, одна из которых представляет параметр макроопределения, появляется операция ##, то сама операция ## и окружающие ее обобщенные пробелы удаляются. Таким образом, результат операции ## состоит в конкатенации.Пусть


Операция ??

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

Операция ?? Еще одной особенностью типов с разрешением принимать значения null, о которой вам следует знать, является то, что с такими типами можно использовать появившуюся в C# 2005 специальную операцию, обозначаемую знаком ??. Эта операция позволяет присвоить типу значение,


(2.9) После уменьшения размера занимаего W2K, при установке или удалении компонентов системы слишком часто приходится менять компакт диск, то с дистрибутивом W2k, то с Service Paclk. Как этого избежать?

Из книги Стандарты программирования на С++. 101 правило и рекомендация автора Александреску Андрей

(2.9) После уменьшения размера занимаего W2K, при установке или удалении компонентов системы слишком часто приходится менять компакт диск, то с дистрибутивом W2k, то с Service Paclk. Как этого избежать? Чтобы этого избежать, можно скопировать на жесткий диск папку i386 дистрибутива и


Совет 17. Используйте «фокус с перестановкой» для уменьшения емкости

Из книги Язык Си - руководство для начинающих автора Прата Стивен

Совет 17. Используйте «фокус с перестановкой» для уменьшения емкости Предположим, вы пишете программу для нового телешоу «Бешеные деньги». Информация о потенциальных участниках хранится в векторе:class Contestant {...};vector<Contestant> contestants;При объявлении набора участников заявки


Дросселирование семафора для уменьшения состязательности между потоками

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

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


10.13.10 Снижение перегрузок за счет уменьшения пересылаемых по сети данных

Из книги автора

10.13.10 Снижение перегрузок за счет уменьшения пересылаемых по сети данных Сокращение объема пересылаемых данных несколько сложнее, чем рассмотренные выше механизмы. Оно начинает работать, как и уже упомянутый медленный старт. Но, поскольку устанавливается граница для


82. Используйте подходящие идиомы для реального уменьшения емкости контейнера и удаления элементов

Из книги автора

82. Используйте подходящие идиомы для реального уменьшения емкости контейнера и удаления элементов РезюмеДля того чтобы действительно избавиться от излишней емкости контейнера, воспользуйтесь трюком с использованием обмена, а для реального удаления элементов из


Операции увеличения и уменьшения: ++ и --

Из книги автора

Операции увеличения и уменьшения: ++ и --      Операция увеличения осуществляет следующее простое действие: она увеличивает значение своего операнда на единицу. Существуют две возможности использования данной операции, первая:     когда символы ++ находятся слева от


Операция @

Из книги автора

Операция @ Операция @ применяется к переменной и возвращает ее адрес. Тип результата представляет собой типизированный указатель на тип переменной. Например: var r: real; pr: ^real := @r;


Операция new

Из книги автора

Операция new Операция new имеет вид: new ИмяКласса(ПараметрыКонструктора) Она вызывает конструктор класса ИмяКласса и возвращает созданный объект.Например: type My = class constructor Create(i: integer); begin end; end; var m: My := new My(5); Эквивалентным способом создания объекта является вызов