Что такое константа в программировании
Перейти к содержимому

Что такое константа в программировании

  • автор:

Что такое константа в программировании

Константа, переменная — это базовые понятия в любом языке программирования. Дадим им определения.

Константа — это величина, которая при выполнении программы остаётся неизменной.

Переменная — это ячейка памяти для временного хранения данных. Предполагается, что в процессе выполнения программы значения переменных могут изменяться.

Описание и инициализация переменных

Прежде чем использовать в программе какую-то переменную, надо дать ей описание , то есть сказать, какое имя имеет переменная и каков её тип. Вначале указывается тип переменной, а затем её имя. Например:

int k; // это переменная целого типа int

double x; // это переменная вещественного типа удвоенной точности

Если имеется несколько переменных одного типа, то допускается их описание через запятую в одном операторе, например:

После описания переменной её можно использовать, но возникает вопрос: а какое значение имеет переменная сразу же после её описания? Ответ таков: в программе на языке C или C++ переменная после описания имеет произвольное значение , то есть ей просто выделяется свободный участок памяти и на этом всё заканчивается. В переменной хранится та последовательность двоичных цифр, которая была там до выделения памяти под эту переменную. Такой подход таит определённую опасность: можно по ошибке использовать в выражении переменную, которой не было присвоено ни какое значение:

Так как переменная x ни как не была определена, т. е. имела произвольное значение (чаще всего — это очень большое число или наоборот — очень маленькое), то и переменная y получит явно не то значение, на которое рассчитывал пользователь.

Чтобы избежать такой ошибки, Бьерн Страуструп рекомендует инициализировать переменные , то есть не просто выделять память под переменные, но и задавать им при этом необходимые значения. Например:

double a=3, b=4, c=5;

Инициализация переменных выполняется один раз на этапе компиляции, она не снижает скорость работы программы, но при этом уменьшает риск использования переменной, которая не получила ни какого значения.

Задание и использование констант

Выше было дано определение констант. Теперь рассмотрим работу с константами более подробно.

Все константы вне зависимости от типа данных можно подразделить на две категории: именованные константы и константы, которые не имеют собственного имени. Например:

25 — константа целого типа;

3.14 — вещественная константа;

‘A’ — символьная константа.

Все три приведённые здесь константы не имеют имени, они заданы своим внешним представлением и используются в программе непосредственно, например так:

int k=25; // переменная k инициализирована константой — целым числом 25.

В ряде случаев константе удобнее дать имя и использовать её далее по имени. Обычно это делается для математических или физических констант.

В языке C был единственный способ создания именованных констант — с помощью директивы препроцессора #define , например:

t = PI * 2; // здесь использована именованная константа PI, заданная выше

В языке C++ появился ещё один способ — использование константных переменных , то есть переменных, которые нельзя изменять после инициализации. Рассмотрим на том же примере:

const double PI=3.14; // здесь PI — константная переменная

В чём преимущество от использования константных переменных вместо задания констант с помощью директивы препроцессора #define ? Всё очень просто: при использовании константной переменной компилятор проверяет правильность задания константы, и если она будет задана неверно, то будет выдана ошибка именно в операторе, в котором дано определение константной переменной.

Если использована именованная константа, заданная директивой препроцессора #define , то ошибка будет показана только там, где используется константа. Например:

// в директиве препроцессора сделаем ошибку:

t = PI * 2; // в этой строке компилятор выдаст ошибку,

// хотя на самом деле ошибка допущена гораздо раньше!

Константы

Константы в С — это фиксированные значения, которые не могут изменяться программой. Они могут быть любых типов, как показано в таблице.

Таблица: Примеры констант

Тип данных Пример константы
char ‘а’ ‘\n’ ‘9’
int 1 123 21000 -234
long int 35000L -34L
short int 10 -12 90
unsigned int 10000U 987U 40000U
float 123.23F 4.34e -3F
double 123.23 12312.333 -0.9876324

С поддерживает еще один тип констант в дополнение к предопределенным типам данных. Это строки. Все строковые константы заключаются в двойные кавычки, например: «тестовый текст». Не следует путать строки с символами. Одиночный символ заключается в одинарные кавычки, как например: ‘а’. Поскольку строки — это обычные массивы символов, то они будут рассмотрены в разделе сайта массивы.

Константа в программировании

Константа в программировании — это способ адресования к данным, изменение которых рассматриваемой программой запрещено.

Использование констант, особенно, именованных — мощный инструмент, повышающий надёжность и безошибочность программ.

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

Например, mvi A, 0 , где 0 является числовой константой.

Затем ассемблерные компиляторы научили понимать именованные константы, серьёзно упростившие процесс отладки и сопровождения программ.

  • Исчезла необходимость помнить конкретные числа — разумно придуманные имена запоминаются легче.
  • Ошибки в именах в большом числе случаев выявляются автоматически компилятором (кроме ситуаций, когда ошибочно использовано имя другой константы аналогичного типа).
  • Процесс внесения изменений стал быстр и безошибочен — значение константы присутствует в программе всего в одном месте.

К сожалению, ассемблеры не умели защищать от изменения косвенно адресуемые области памяти. Но такая возможность появилась в языках программирования высокого уровня. Те из них, которые поддерживают использование констант любых статических типов, безусловно, позволяют писать гораздо более надёжный и долговечный код.

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

Wikimedia Foundation . 2010 .

  • Константа Эйлера-Маскерони
  • Константа кислотности

Смотреть что такое «Константа в программировании» в других словарях:

  • Константа — Константа: Постоянная Математическая Физическая Константа (в программировании) Константа диссоциации кислоты Константа равновесия Константа скорости реакции Константа (Остаться в живых) См. также Констанция Констанций Константин Констант… … Википедия
  • Константа — в программировании элемент данных, который занимает место в памяти, имеет имя и определенный тип, причем его значение никогда не меняется. См. также: Языки программирования Финансовый словарь Финам … Финансовый словарь
  • Константа (программирование) — У этого термина существуют и другие значения, см. Константа. Для улучшения этой статьи желательно?: Найти и оформить в виде сносок ссылки на авторитетные источ … Википедия
  • Константы — Постоянная, или константа (лат. constanta постоянная, неизменная) некоторая величина, не изменяющая своё значение в рамках рассматриваемого процесса. В математике то, что величина C является постоянной, обычно обозначают так: . Также,… … Википедия
  • Постоянная — Постоянная, или константа (лат. constanta постоянная, неизменная) некоторая величина, не изменяющая своё значение в рамках рассматриваемого процесса. В математике то, что величина является постоянной, обычно обозначают так: .… … Википедия
  • Оптимизация (информатика) — Эта статья об оптимизации программ и данных вообще; об оптимизациях, применяемых компиляторами см.: Оптимизация компилятора. У этого термина существуют и другие значения, см. Оптимизация. Оптимизация модификация системы для улучшения её… … Википедия
  • C++ — У этого термина существуют и другие значения, см. C. См. также: Си (язык программирования) C++ Семантика: мультипарадигмальный: объектно ориентированное, обобщённое, процедурное, метапрограммирование Тип исполнения: компилируемый Появился в … Википедия
  • Инвариантность — Инвариант термин, используемый в математике и физике, а также в программировании, обозначает нечто неизменяемое. Кроме того, инварианты используются в олимпиадных задачах по математике для школьников. Абстрактная структурная единица языка фонема … Википедия
  • Инварианты — Инвариант термин, используемый в математике и физике, а также в программировании, обозначает нечто неизменяемое. Кроме того, инварианты используются в олимпиадных задачах по математике для школьников. Абстрактная структурная единица языка фонема … Википедия
  • Сравнение C Sharp и Java — Правильный заголовок этой статьи Сравнение C# и Java. Он показан некорректно из за технических ограничений. Сравнения языков программирования Общее сравнение Основной синтаксис Основные инструкции Массивы Ассоциативные массивы Операции со… … Википедия

Константа (программирование)

Конста́нта в программировании — способ адресования данных, изменение которых рассматриваемой программой не предполагается или запрещается.

Использование именованных констант — приём, повышающий надёжность и безошибочность программ [1] , позволяя избегать использования «магических чисел».

При наличии синтаксической поддержки в языке программирования неименованные константы можно записывать в тексте программ как литералы.

Например, mvi A, 0, где 0 является числовой константой-литералом.

Именованные константы упростили процесс отладки и сопровождения программ:

  • Исчезла необходимость помнить конкретные числа — имена запоминаются легче;
  • Ошибки в именах обычно выявляются компилятором автоматически (кроме ситуаций, когда ошибочно использовано имя другой константы аналогичного типа);
  • Упростился процесс внесения изменений: значение константы задано в программе всего в одном месте.

Не все языки программирования позволяют защищать от изменения косвенно адресуемые области памяти. Такая возможность обычно имеется а языках программирования высокого уровня, что повышает надёжность кода и возможность его повторного использования. Разумеется, преимущества именованных констант реализуются только при соответствующем стиле работы программиста, начиная с самых ранних этапов разработки программы.

Именованную константу можно понимать как функцию без аргументов. Такой взгляд позволяет, в соответствии с принципом Оккама, разумно сократить число сущностей, лежащих в основе программирования. Естественно, что истинная функция без аргументов не может возвращать других значений, кроме того, которое заложено в неё при разработке (редактировании кода) [источник не указан 107 дней] .

См. также

Примечания

  1. Использование именованных констант
  • Концепции языков программирования

Wikimedia Foundation . 2010 .

  • Абихт, Иоганн Генрих
  • Альбрехт Бранденбургский, архиепископ магдебургский и майнцский

Полезное

Смотреть что такое «Константа (программирование)» в других словарях:

  • Шаблон (программирование) — Шаблоны (англ. template) средство языка C++, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например типам данных, размерам буферов, значениям по умолчанию). В C++ возможно создание шаблонов функций и … Википедия
  • Охрана (программирование) — Охрана (охраняющее выражение) логическое выражение, которое предназначено для ограничения вычислительных процессов и направления их по определённому направлению в зависимости от условия охраны. Обычно, используется в функциональных языках… … Википедия
  • Магическое число (программирование) — У этого термина существуют и другие значения, см. Магическое число. Понятие «Магическое число» в программировании имеет два значения: первое второе Содержание 1 Сигнатура данных 2 Плохая практик … Википедия
  • Perl — Семантика: мультипарадигменный: императивный, объектно ориентированный, функциональный Тип исполнения: интерпретатор Появился в: 1987 Автор(ы) … Википедия
  • C++ — У этого термина существуют и другие значения, см. C. См. также: Си (язык программирования) C++ Семантика: мультипарадигмальный: объектно ориентированное, обобщённое, процедурное, метапрограммирование Тип исполнения: компилируемый Появился в … Википедия
  • Сравнение C Sharp и Java — Правильный заголовок этой статьи Сравнение C# и Java. Он показан некорректно из за технических ограничений. Сравнения языков программирования Общее сравнение Основной синтаксис Основные инструкции Массивы Ассоциативные массивы Операции со… … Википедия
  • MSP430 — MSP430. MSP430 семейство 16 разрядных микроконтроллеров фирмы «Texas Instruments» … Википедия
  • Оптимизация (информатика) — Эта статья об оптимизации программ и данных вообще; об оптимизациях, применяемых компиляторами см.: Оптимизация компилятора. У этого термина существуют и другие значения, см. Оптимизация. Оптимизация модификация системы для улучшения её… … Википедия
  • PHP — У этого термина существуют и другие значения, см. PHP (значения). PHP Семантика: мультипарадигменный … Википедия
  • Задача коммивояжёра — Оптимальный маршрут коммивояжёра через 15 крупнейших городов Германии. Указанный маршрут является самым коротким из всех возможных 43 589 145 600. Задача коммивояжёра (англ. Travelling salesman problem, TSP) (коммивояжёр&#16 … Википедия
  • Обратная связь: Техподдержка, Реклама на сайте
  • �� Путешествия

Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.

  • Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
  • Искать во всех словарях
  • Искать в переводах
  • Искать в ИнтернетеИскать в этой же категории

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *