Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Оператор FOR





 

 

Как и можно было ожидать, имеется множество различных

способов написания каждой программы. Давайте рассмотрим та-

кой вариант программы перевода температур:

 

MAIN() /* FAHRENHEIT-CELSIUS TABLE */

{

INT FAHR;

FOR (FAHR = 0; FAHR <= 300; FAHR = FAHR + 20)

PRINTF("%4D %6.1F\N", FAHR, (5.0/9.0)*(FAHR-32.0));

}

 

Эта программа выдает те же самые результаты, но выглядит

безусловно по-другому. Главное изменение - исключение боль-

шинства переменных; осталась только переменная FAHR, причем

типа INT (это сделано для того, чтобы продемонстрировать

преобразование %D в функции PRINTF). Нижняя и верхняя грани-

цы и размер щага появляются только как константы в операторе

FOR, который сам является новой конструкцией, а выражение,

вычисляющее температуру по цельсию, входит теперь в виде

третьего аргумента функции PRINTF, а не в виде отдельного

оператора присваивания.

Последнее изменение является примером вполне общего пра-

вила языка "C" - в любом контексте, в котором допускается

использование значения переменной некоторого типа, вы можете

использовать выражение этого типа. Так как третий аргумент

функции PRINTF должен иметь значение с плавающей точкой,

чтобы соответствовать спецификации %6.1F, то в этом месте

может встретиться любое выражение плавающего типа.

Сам оператор FOR - это оператор цикла, обобщающий опера-

тор WHILE. Его функционирование должно стать ясным, если вы

сравните его с ранее описанным оператором WHILE. Оператор

FOR содержит три части, разделяемые точкой с запятой. Первая

часть

 

FAHR = 0

 

выполняется один раз перед входом в сам цикл. Вторая часть -

проверка, или условие, которое управляет циклом:

 

FAHR <= 300

 

это условие проверяется и, если оно истинно, то выполняется

тело цикла (в данном случае только функция PRINTF). Затем

выполняется шаг реинициализации

FAHR =FAHR + 20

 

и условие проверяется снова. цикл завершается, когда это ус-

ловие становится ложным. Так же, как и в случае оператора

WHILE, тело цикла может состоять из одного оператора или из

группы операторов, заключенных в фигурные скобки. Инициали-

зирующая и реинициализирующая части могут быть любыми от-

дельными выражениями.

Выбор между операторами WHILE и FOR произволен и основы-

вается на том, что выглядит яснее. Оператор FOR обычно удо-

бен для циклов, в которых инициализация и реинициализация

логически связаны и каждая задается одним оператором, так

как в этом случае запись более компактна, чем при использо-

вании оператора WHILE, а операторы управления циклом сосре-

дотачиваются вместе в одном месте.

 

Date: 2015-09-17; view: 286; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию