КАКОЙ ЦИКЛ ЛУЧШЕ?

КАКОЙ ЦИКЛ ЛУЧШЕ?

     После того как вы решили, что вам необходимо использовать оператор цикла, возникает вопрос: циклом какого вида лучше всего воспользоваться? Во-первых, решите, нужен ли вам цикл с предусловием или же с постусловием. Чаще вам нужен будет цикл с предусловием. По оценкам Кернигана и Ритчи; в среднем циклы с постусловием (do while) составляют только 5% общего числа используемых циклов. Существует несколько причин, по которым программисты предпочитают пользоваться циклами с. предусловием; в их числе один общий принцип, согласно которому лучше посмотреть, куда вы прыгаете, до прыжка, а не после. Вторым моментом является то, что программу легче читать, если проверяемое условие находится в начале цикла. И наконец, во многих случаях важно, чтобы тело цикла игнорировалось полностью, если условие вначале не выполняется.

     Положим, вам необходимо использовать цикл с предусловием. Что лучше: цикл for или цикл while? Отчасти это дело вкуса, поскольку все, что вы можете сделать с помощью одного, вы можете сделать и с помощью другого. Для превращения цикла for в цикл while нужно опустить первое и третье выражения:

for(; проверка условия;)

Такая спецификация эквивалентна записи

while(проверка условия)

Для превращения цикла while в цикл for необходимо предварительно осуществить инициализацию некоторых выбранных переменных и включить в тело цикла операторы, корректирующие их значения:

инициализация;

while (проверка условия)

{

тело;

коррекция;

}

Данная запись по своим функциональным возможностям эквивалентна следующей:

for(инициализация; проверка условия, коррекция) тело;

     Исходя из соображений стиля программирования, применение цикла tor представляется более предпочтительным в случае, когда в цикле используется инициализация и коррекция переменной, а применение цикла while - в случае, когда этого нет. Поэтому использование цикла while вполне оправданно в случае

while((ch = getchar( )) != EOF)

Применение цикла for представляется более естественным в случаях, когда в циклах осуществляется счет прохождений с обновлением индекса:

for (count = 1; count <= 100; count++)

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

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

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

Блоги какой тематики вы ведете? Блоги какой тематики вы хотели бы вести?

Из книги Блоги. Новая сфера влияния автора Попов Антон Валерьевич

Блоги какой тематики вы ведете? Блоги какой тематики вы хотели бы вести? Многие блоггеры или не выделяют одну тему и пишут обо всем понемногу, или описывают свой дневник шутливо: «Да так, попукиваю в воздух».Некоторые блоггеры отвечали, что уже ведут дневники на все


Лучше, чем никогда

Из книги Журнал `Компьютерра` N731 автора Журнал «Компьютерра»

Лучше, чем никогда Автор: Сергей ВильяновВесна пришла в Москву непривычно рано. Я бы, скорее всего, и не поверил в серьезность ее намерений, несмотря на +20 за окном, но в пруд рядом с домом вернулись утки. Они, конечно, не такие умные, как окрестные вороны, однако в области


ОГОРОД КОЗЛОВСКОГО: Heavy metal, или Лучше меньше, да лучше

Из книги Журнал «Компьютерра» № 9 от 06 марта 2007 года автора Журнал «Компьютерра»

ОГОРОД КОЗЛОВСКОГО: Heavy metal, или Лучше меньше, да лучше Автор: Козловский ЕвгенийНа Новый год, в числе прочего, получился новенький фотоаппарат от Casio: EX S770. Последняя на тот момент и безусловно лучшая модель! Совершенная в своем роде. Таким образом, смутная мечта всегда


Не бета, а лучше

Из книги Getting Real (на русском) [вычитывается] автора 37signals

Не бета, а лучше Не используйте «бета» в качестве козла отпущенияВ наши дни кажется, что все постоянно находится в бета-версии. Неумирающая бета-версия говорит пользователям, что вы не так уж и хотите выпускать завершенный продукт. Она говорит: «Пользуйтесь вот этим, но


6.2. Что лучше, id или class?

Из книги Разгони свой сайт автора Мациевский Николай

6.2. Что лучше, id или class? Далее давайте рассмотрим, как использование id или class влияет на скорость отображения страницы в браузере (сейчас речь не идет о множественном использовании одинаковых id — это и так запрещено спецификацией). Если элемент на странице встречается


15.8.5. Лучше, чем IDE

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

15.8.5. Лучше, чем IDE Ранее в данной главе утверждалось, что Emacs способен предоставить программисту возможности, аналогичные возможностям какой-либо традиционной интегрированной среды разработки и даже превосходящие их. К настоящему моменту у читателя должно быть


15.8.5. Лучше, чем IDE

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

15.8.5. Лучше, чем IDE Ранее в данной главе утверждалось, что Emacs способен предоставить программисту возможности, аналогичные возможностям какой-либо традиционной интегрированной среды разработки и даже превосходящие их. К настоящему моменту у читателя должно быть


Какой почтовый ящик лучше: платный или бесплатный?

Из книги Интернет на 100%. Подробный самоучитель: от «чайника» – до профессионала автора Гладкий Алексей Анатольевич

Какой почтовый ящик лучше: платный или бесплатный? Электронные почтовые ящики бывают как платными, так и бесплатными. Поэтому перед тем, как завести себе электронный адрес, нужно определиться – согласны вы платить за подобные услуги или нет?Как все мы знаем из


В какой момент лучше использовать технологии допродаж

Из книги Удвоение продаж в интернет-магазине автора Парабеллум Андрей Алексеевич

В какой момент лучше использовать технологии допродаж Всегда! В интернет-магазине существует три момента, когда это можно сделать, – до покупки в момент выбора товаров, во время покупки в корзине с товарами и после покупки до момента оплаты


4.2. Что лучше: KDE или GNOME?

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

4.2. Что лучше: KDE или GNOME? Графическая среда GNOME — основной конкурент KDE. Что лучше: KDE или GNOME — сказать трудно. Все зависит от вкусов и предпочтений пользователя. Раньше лично мне больше нравился KDE. Во-первых, у него было меньше проблем с русификацией, а во-вторых, сам


1.4. Почему программы GNU лучше

Из книги Linux программирование в примерах автора Роббинс Арнольд

1.4. Почему программы GNU лучше Что делает программу GNU программой GNU?[19] Что делает программное обеспечение GNU «лучше» по сравнению с другим (платным или бесплатным) программным обеспечением? Наиболее очевидной разницей является общедоступная лицензия (General Public License — GPL),


2.2.1. Цикл типа “пока” (цикл с предусловием)

Из книги Конец холивара. Pascal vs C автора Кривцов М. А.

2.2.1. Цикл типа “пока” (цикл с предусловием) Пример 1.4: Нахождение наибольшего общего делителя двух целых положительных чисел с помощью известного алгоритма Евклида.Пока X ? Y делать если X> Y то X:=X-Y иначе Y:=Y-X; Писать (‘НОД=’, X);WHILE X <> Y DO IF X> Y THEN X:=X-Y ELSE Y:=Y-X; WRITE


2.2.2. Цикл типа “до” (цикл с постусловием)

Из книги Все секреты Minecraft автора Миллер Меган

2.2.2. Цикл типа “до” (цикл с постусловием) Этот цикл выполняется не менее одного разаПример 1.5: Решение предыдущей задачи. Цикл с постусловиемПовторять если X> Y то X:=X-Y иначе Y:=Y-X до X=Y;Писать (‘НОД=’, X);REPEAT IF X> Y THEN X:=X-Y ELSE Y:=Y-X UNTIL X=Y;WRITE (‘НОД=’, X);REPEAT –


2.2.1. Цикл типа “пока” (цикл с предусловием)

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

2.2.1. Цикл типа “пока” (цикл с предусловием) Пример 2.4: Программа находит наибольший общий делитель двух целых чисел.#include <assert. h>#include <stdio. h>int main (){int x, y;printf (“Введите два целых числа через пробел ”);int r = scanf (”%d%d”, &x, &y);assert (r == 2);while (x!= y) if (x> y) x = x – y; else y =


Быстрее и лучше

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

Быстрее и лучше Чтобы растения росли максимально быстро, пашня должна быть увлажнена, а урожай – хорошо освещен в ночное время. Для увлажнения пашни поместите источник воды в пределах четырех блоков. Если у вас пока нет ведра для воды, сажайте растения около пруда.