русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Твердження for


Дата додавання: 2014-11-28; переглядів: 852.


Існує багато способів написання програми для вирішення одного і того ж завдання. Тож, спробуймо інший варіант перетворювача температур.

#include <stdio.h>

 

/* виводить таблицю Фаренгейт-Цельсій */

main()

{

int fahr;

 

for (fahr = 0; fahr <= 300; fahr = fahr + 20)

printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));

}

Це спричиняє ті самі відповіді, але, без сумніву, виглядає інакше. Одна з основних перемін — це видалення більшості змінних; залишилась тільки fahr, і ми оголосили її як int. Верхня й нижня межа та крок представлені як константи у твердженні for, — нової для нас конструкції. Вираз, що обчислює температуру за Цельсієм, з'являється як третій аргумент printf, замість окремого виразу присвоєння.

Ця остання зміна є прикладом загального правила — у будь-якому контексті, де вживається значення певного типу, ви можете використати складніший вираз того самого типу. Оскільки третім аргументом printf має бути число з рухомою точкою, щоб зійтися з %6.1f, то будь-який вираз, що повертає число з рухомою точкою, може зайняти це місце.

Твердження for також є циклом — узагальненим випадком while. Якщо ви порівняєте його з попереднім while, то робота for стане зрозумілою. Всередині дужок існують три частини, розділені крапкою з комою. Перша частина, ініціалізація

fahr = 0

відбувається один раз, ще до того, як увійти до циклу. Друга частина — це перевірка умови, яка контролює цикл:

fahr <= 300

Ця умова обчислюється; якщо вона істинна, буде виконано корпус циклу (в цьому випадку один вираз printf). Після цього виконується стадія приросту

fahr = fahr + 20

і умова оцінюється знову. Цикл завершиться тільки тоді, коли умова виявиться хибною. Так само як і з while, корпус циклу може містити одне твердження або групу тверджень, включених у фігурні дужки. Ініціалізацією, умовою та приростом може служити будь-який вираз.

Вибір між while і for є довільним і може залежати тільки від того, який з них здається зрозумілішим. for, як правило, підходить для циклів, в яких ініціалізація та приріст складаються з одного виразу кожен, і вони логічно пов'язані між собою. Це компактніше за while, і зберігає вирази, які контролюють цикл, разом, в одному місці.

Вправа 1-5. Змініть програму перетворення температур, щоб вона виводила таблицю у зворотній послідовності, тобто від 300 градусів до 0.


<== попередня лекція | наступна лекція ==>
Змінні й арифметичні вирази | Символічні константи


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн