Консольное приложение. Символические константы

   
На этом шаге мы рассмотрим задание констант директивой #define.

   
Задание конкретных чисел в теле программы - не очень хороший стиль программирования, т. к. такой подход затрудняет дальнейшую модификацию программы и ее понимание. При создании
программы надо стремиться задавать все конкретные данные в начале программы, используя специальную директиву препроцессора #define, которая позволяет соотнести с каждым
конкретным числом или выражением набор символов - символических (не символьных! символьные - это другое) констант. В этом случае на местах конкретных чисел в программе будут находиться
символические константы, которые в момент компиляции программы будут заменены на соответствующие им числа, но это уже невидимо для программиста. Отсюда и название
"символические константы" - это не переменные, имеющие свой адрес и меняющие свое значение по мере работы программы, а постоянные, которые один раз получают свое значение
и не меняют его. С учетом сказанного наша программа примет следующий вид:

#include <conio.h> //для функции _getch()
#include <stdio.h> //для функции printf()

using namespace System;
#define lower 0 
#define upper 300 
#define step  20

void main()
{
    int fahr; 
    for(fahr = lower; fahr <= upper; fahr = fahr + step)
	printf("%4d %6.1f\n",fahr,(5.0/9.0)*(fahr-32.0));

    _getch();
}

Архив проекта можно взять здесь.


Рис.1. Текст приложения

   
Теперь, когда начнется компиляция, компилятор просмотрит текст программы и заменит в нем все символические константы (в данном случае это - lower, upper, step) на их значения,
заданные директивой #define. Заметим, что после нее никаких точек с запятой не ставится, т. к. это директива не языка C/C++, а компилятора. И если нам понадобится изменить
значения констант lower, upper, step, то не придется разбираться в тексте программы, а достаточно будет посмотреть на ее начало, быстро найти изменяемые величины и выполнить их модификацию.

   
Со следующего шага мы начнем знакомиться с программами, обработывающими символьные данные.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий