Константы. Константа – именованная область памяти, используемая для хранения значений, не изменяемых в ходе выполнения программы.
Константа – именованная область памяти, используемая для хранения значений, не изменяемых в ходе выполнения программы.
Сохранение в памяти значений как констант, так и других объектов неразрывно связано с типами данных (типами памяти). Тип константы определяется компилятором по значению и формату, используемому при записи константы в исходном коде.
Константы делятся на следующие группы:
· целые (целочисленные);
· вещественные (с плавающей точкой);
· перечислимые;
· символьные;
· строковые;
· именованные;
· зарезервированные (встроенные);
· нулевой указатель.
Целые константы. Они могут задаваться в десятичной, восьмеричной и шестнадцатеричной системах счисления.
Название | Определение | Примеры |
Десятичная константа | Последовательность десятичных цифр, начинающаяся не с нуля (0), если это число не 0 | 8; 0; |
Восьмеричная константа | Последовательность восьмеричных цифр, которым предшествует нуль (0) | 026; 034; |
Шестнадцатеричная константа | Последовательность шестнадцатеричных цифр, которым предшествуют символы ”0х” или ”0Х” | 0хА; 0Х00F; 0х123 |
Если требуется сформировать отрицательную целую константу, то используют знак «–» перед записью константы (который будет называться унарным минусом).
Например:
-0х2А; -033; -16.
Каждой целой константе присваивается тип, определяющий вид преобразований, которые должны быть выполнены, если константа используется в выражениях. Для того чтобы любую целую константу определить типом long, достаточно в конце константы поставить букву «l» или «L».
Например:
5l; 6l; 128L; 0105L; 0X2A11L.
Вещественные константы. В общем случае они состоят из:
· цифр (десятичное целое);
· точки десятичной;
· цифр, соответствующих дробной части числа (десятичное дробное);
· знаков десятичного порядка (основания 10), задаваемых символом e или Е;
· необязательного суффикса f (либо F) или l (либо L), влияющего на точность представления приближённых чисел.
Название | Вид | Примеры |
Константы с фиксированной точкой | [+/-][цифры].[цифры] | 135.7; .0001; |
Константы с плавающей точкой | [+/-][цифры][.][цифры]E|e[+|-][цифры] | 1.5е5; -8.2E-6; 6.01е-5; 5Е3 |
Вещественные константы имеют при отсутствии каких-либо суффиксов тип double. Они будут принадлежать к типу float при указании суффикса f или F. Аналогичным образом суффикс l или L определяет тип long double.
Перечислимые константы. Это обычные целые константы, которым приписаны уникальные и удобные для использования обозначения. Данные константы вводятся с помощью ключевого слова enum.
Синтаксис:
еnum ТипПеречисления {СписокИменованныхКонстант};
где: enum – ключевое слово;
ТипПеречисления – необязательный идентификатор;
СписокИменованныхКонстант – список вида:
ИмяКонстанты1[=ВыражениеИлиЦелоеЗначение1],
ИмяКонстанты2[=ВыражениеИлиЦелоеЗначение2],
..............
ИмяКонстантыR[=ВыражениеИлиЦелоеЗначениеR];
Например:
enum {winter, spring, summer, autumn};
Здесь определены имена констант winter, spring, summer и autumn, которые имеют по умолчанию целочисленные значения соответственно 0, 1, 2 и 3.
enum Day {Sunday, Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday};
В данном случае определены тип перечисления Day и набор нумераторов Sunday, Monday, Tuesday, Wednesday, Thursday, Friday и Saturday.
enum team {giants, cubs = 3, dodgers = giants + 1};
Здесь определены тип перечисления team и нумераторы giants=0, cubs=3, dodgers=1.
Символьные константы. Они оформляются в программе как один или несколько символов, заключенных в апострофы (' '). Символьные константы, состоящие из одного символа, имеют тип char и занимают в памяти один байт, символьные константы, состоящие из двух символов, имеют тип int и занимают два байта. Управляющая последовательность (см. лабораторную работу №2) рассматривается как одиночный символ и ее допустимо использовать в символьных константах.
Например:
'A'; '\t'; '\x0A'.
Строковые константы (литеры). Они представляют собой последовательность символов (включая строковые и прописные буквы русского и латинского алфавита, а также цифры) заключенные в кавычки (" "). Внутри строк также могут использоваться управляющие последовательности.
Например:
"С++ – язык программирования"
"\n Я изучаю дисциплину \"Программирование\"".
Именованные константы. Это идентификатор, которому присваивается постоянное значение (константа).
В языке С++ существуют следующие способы введения именованных констант:
1) с помощью препроцессорной директивы:
#define ИмяКонстанты Значение
Например:
#define PI 3.141596
#define Symbol 'Y'
2) с использованием квалификатора const при инициализации:
const Тип ИмяКонстанты=Значение;
Например:
const float E=2.7182;
const char NO='N';
Зарезервированные константы – это константы, имена которых стандартизированы, а к значениям можно обращаться без предварительного определения. Для использования таких констант необходимо подключить соответствующие библиотечные файлы.
Например:
INT_MAX; INT_MIN; (файл <limits.h>);
FLT_MIN; DBL_MAX (файл <float.h>).
Нулевой указатель. При использовании аппарата указателей часто применяют неарифметическую константу, именуемую нулевым указателем. Она обозначается ключевым словом NULL.
Пример 1.
// Программа вывода констант разного типа
#include <iostream.h>
#define PI 3.141596
#define Symbol 't'
const a=573; // целочисленная константа
const float b=45.812; // вещественная константа
const char c='Z'; // символьная константа
void main(){
cout << "Вывод целочисленной константы: " <<32175<<"\n";
cout << "Вывод вещественной константы: "
<<12.457634<<"\n";
cout << "Вывод символьной константы: " <<'X'<<"\n";
cout << "Вывод строковой константы: " <<"Я изучаю
дисциплину Программирование\""<<"\n\n";
cout << "Вывод целочисленной константы: " <<a<<"\n";
cout << "Вывод вещественной константы: " <<b<<"\n";
cout << "Вывод символьной константы: " <<c<<"\n\n";
cout << "Вывод вещественной константы: " <<PI<<"\n";
cout << "Вывод символьной константы: " <<Symbol<<"\n";
}
Дата добавления: 2015-02-16; просмотров: 1147;