Как только вы определили типы всех данных, необходимых программе, надо решить, как вы собираетесь вводить их в компьютер. Поскольку в языке Си существует множество функций для ввода, вы должны, прежде всего, классифицировать каждый элемент данных либо как константу, либо как переменную.
Константа остается неизменной во все время выполнения программы. Фактически вы задаете значение константы уже, когда пишете программу, а не тогда, когда начинается ее выполнение, и значение это нельзя изменить, не изменив исходный текст программы. Если значение некоего элемента данных известно заранее и известно также, что оно не будет меняться, используйте константу.
С другой стороны, значение переменной вводится после запуска программы и может изменяться в процессе ее выполнения. Вернемся к примеру с налогом на продажи. Как мы уже установили выше, ставка налога не меняется, но сумма налога будет меняться для каждой новой покупки. Покупки совершаются на самые разные суммы, в зависимости от цены и количества купленного товара, и, следовательно, размер стоимости покупки надо определить как переменную.
В большинстве программ используются и константы и переменные. Когда вы пишете свою собственную программу, вы должны четко определить, в каком качестве будет использоваться та или иная часть информации — как константа или как переменная. И это только одно из решений, которые вам придется принимать при проектировании программы.