Что такое константа в программировании
Константа, переменная — это базовые понятия в любом языке программирования. Дадим им определения.
Константа — это величина, которая при выполнении программы остаётся неизменной.
Переменная — это ячейка памяти для временного хранения данных. Предполагается, что в процессе выполнения программы значения переменных могут изменяться.
Описание и инициализация переменных
Прежде чем использовать в программе какую-то переменную, надо дать ей описание , то есть сказать, какое имя имеет переменная и каков её тип. Вначале указывается тип переменной, а затем её имя. Например:
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 дней] .
См. также
Примечания
- ↑Использование именованных констант
- Концепции языков программирования
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) (коммивояжёр … Википедия
- Обратная связь: Техподдержка, Реклама на сайте
- Путешествия
Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.
- Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
- Искать во всех словарях
- Искать в переводах
- Искать в ИнтернетеИскать в этой же категории