Последнее замечание, прежде чем мы навсегда оставимпрограмму перевода температур. Прятать "магические числа",такие как 300 и 20, внутрь программы - это неудачная практи-ка; они дают мало информации тем, кто, возможно, должен бу-дет разбираться в этой программе позднее, и их трудно изме-нять систематическим образом. К счастью в языке "C" предус-мотрен способ, позволяющий избежать таких "магических чи-сел". Используя конструкцию #DEFINE , вы можете в началепрограммы определить символическое имя или символическуюконстанту, которая будет конкретной строкой символов. Впос-ледствии компилятор заменит все не заключенные в кавычки по-явления этого имени на соответствующую строку. Фактическиэто имя может быть заменено абсолютно произвольным текстом,не обязательно цифрами #DEFINE LOWER 0/* LOWER LIMIT OF TABLE */ #DEFINE UPPER 300 /* UPPER LIMIT */ #DEFINE STEP 20 /* STEP SIZE */ MAIN () /* FAHRENHEIT-CELSIUS TABLE */ { INT FAHR;FOR (FAHR =LOWER; FAHR <= UPPER; FAHR =FAHR + STEP) PRINTF("%4D %6.1F\N", FAHR, (5.0/9.0)*(FAHR-32)); } величины LOWER, UPPER и STEP являются константами и поэ-тому они не указываются в описаниях. Символические именаобычно пишут прописными буквами, чтобы их было легко отли-чить от написанных строчными буквами имен переменных. отме-тим, что в конце определения не ставится точка с запятой.Так как подставляется вся строка, следующая за определеннымименем, то это привело бы к слишком большому числу точек сзапятой в операторе FOR .