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

Несколько замечаний по поводу формата.

Несколько замечаний по поводу формата.

     Сначала идет ключевое слово #define. Оно должно начинаться с самой левой позиции. Потом следует символическое имя константы, а затем ее величина. Символ "точка с запятой" не используется, поскольку это не оператор языка Си. Почему имя TAXRATE пишется прописными буква ми? В процессе использования языка Си выработалась традиция писать константы прописными буквами. Если при просмотре программы вам встретится имя, написанное прописными буквами, вы сразу поймете, что имеете дело с константой, а не с переменной. Это еще один способ улучшить читаемость программы. Ваша программа будет работать даже и тогда, когда вы будете писать константы строчными буквами, но при этом вы должны чувствовать свою вину, поскольку нарушаете традицию.

Приведем простой пример:

/* пицца */

#define PI  3,14159

main( ) /* изучение вашей пиццы */

{

float area, circum, radius;

printf("Чемy равен радиус вашей пиццы? n");

scanf("%f", &radius);

area = PI * radius * radius;

printf(" Основные параметры вашей пиццы следующие n");

printf(" длина окружности = %1.2f, площадь =%1.2f n circum, area);

}

 

                                               РИС.4.5. Обработка текста программы препроцессором

     Использование спецификации %1.2f в операторе printf( ) приведет к тому, что при печати результаты будут округлены до двух десятичных цифр. Мы понимаем, конечно, что написанная выше программа может и не отражать ваши собственные вкусы, касающиеся пиццы, но во множестве программ, посвященных этому вопросу, она займет свое скромное место. Вот один из примеров ее выполнения:

Чему равен радиус вашей пиццы? 6.0

Основные параметры вашей пиццы следующие: длина окружности = 37.70,

площадь окружности = 113.40.

     Директиву #define можно также использовать для определения символьных и строковых констант. Необходимо использовать знак "апостроф" в первом случае и кавычки - во втором. Примеры, приведенные ниже, вполне правомерны

#define ВЕЕР  '07'

#define ESS 'S'

#deline NULL ''

#define OOPS  "Ну вот, вы и сделали это!"

     А теперь мы хотим обрадовать лентяев. Предположим, вы разрабатываете целый пакет программ, использующих один и тот же набор констант. Вы можете произвести следующие действия:

     1. Соберите все ваши директивы #define в один файл и назовите его, например, const.h.

     2. В начало каждого файла, содержащего программу, включите директиву #include "const.h."

     Тогда, если вы будете выполнять программу, препроцессор прочтет файл с именем const.h и использует все директивы #define вашей программы. Получилось так, что символ .h в конце имени файла напомнит вам, что этот файл является "заголовком", т.е. в нем содержится вся информация, которая должна попасть в начало вашей программы. Самому препроцессору безразлично, используете ли вы символ .h в имени файла или нет.

Оглавление книги


Генерация: 1.945. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз