4.         Константы

 

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

Символьные константы представляются отдельным символом, заключенным в одинарные кавычки (апострофы): 'е', '@', '<'.

Строковые константы - это последовательность символов, заключенная в двойные кавычки: "Это пример не самой длинной строковой константы!".

Целые константы бывают следующих форматов:

■ десятичные;

■ восьмеричные;

■ шестнадцатеричные.

Десятичные могут быть представлены как последовательность цифр, начинающаяся не с нуля, например: 123; 2384.

Восьмеричные константы - последовательность восьмеричных цифр (от 0 до 7), начинающаяся с нуля, например: 034; 047.

Шестнадцатеричный формат констант начинается с символов Ох или ОХ с последующими шестнадцатеричными цифрами (0...9, A...F), например: 0xF4; 0X5D. Буквенные символы при этом могут быть представлены в как в нижнем, так и в верхнем регистре.

Длинные целые константы, используемые в переменных типа long, определяются латинской буквой I или L сразу после константы без пробела: 36L, 012L, 0x52L.

Вещественные константы - числа с плавающей запятой могут быть записаны в десятичном формате (24.58; 13.0;.71) или в экспоненциальной форме (1е4; 5е+2; 2.2е-5, при этом в мантиссе может пропускаться целая или дробная часть:.2е4).

Типизованные константы используются как неременные, значение которых не может быть изменено после инициализации.

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

Рассмотрим небольшой пример:

// Объявление переменной int i;

// Инициализация переменной i

// литеральной целочисленной константой 25600

i = 25600;

// Теперь объявим типизованную

// строковую константу MyCatName

// и инициализируем ее литеральной строковой константой

const MyCatName[] = "Рудик";

Символьные константы в С++ занимают в памяти 1 байт и, следовательно, могут принимать значения от 0 до 255 (см. табл. 1.2). При этом существует ряд символов, которые не отображаются при печати, - они выполняют специальные действия: возврат каретки, табуляция и т.д., и называются символами escape-последовательности. Термин «escape-последовательность» ввела компания Epson, ставшая первой фирмой, которая для управления выводом информации на своих принтерах стала использовать неотображаемые символы. Исторически сложилось так, что управляющие последовательности начинались с кода с десятичным значением 27 (0x1В), что соответствовало символу «Escape» кодировки ASCII,

Escape-символы в программе изображаются в виде обратного слеша, за которым следует буква или символ (см. табл. 1.3).

 

Таблица 1.3

Символы escape-последовательности

Символ Описание
\\ Вывод на печать обратной черты

\!

Вывод апострофа
\" Вывод при печати кавычки
\? Символ вопросительного знака
Подача звукового сигнала
•возврат курсора на 1 символ назад
\f Перевод страницы
\п Перевод строки
Возврат курсора на начало текущей строки
\t Перевод курсора к следующей позиции табуляции
\v Вертикальная табуляция (вниз)

 

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

#include <iostream.h>

int main()

{

const double pi = 3.1415;

const int Radius = 3;

double Square = 0;

Square = pi * Radius * Radius;

// Выведем вычисленное значение

// и осуществим перевод строки ('\п')

cout << Square << '\n'; return 0;

}

 

В начале главной функции программы объявляются две константы: pi и Radius. Значение переменной Square изменяется в ходе выполнения программы и не может быть представлено как константа. Поскольку значение радиуса задано явно и в тексте программы не предусмотрено его изменение, переменная Radius объявлена как константа.

 


Информация о работе «Типы данных С++»
Раздел: Информатика, программирование
Количество знаков с пробелами: 27321
Количество таблиц: 4
Количество изображений: 0

Похожие работы

Скачать
10395
0
0

... VAR t1:T_Range_SubType; Заметим, что хороший программист всегда дает имена собственным типам, причем старается, чтобы эти имена были осмысленными. Теперь, зная об интервальных типах, мы можем говорить о массивах. Массив во всех языках программирования - это множество индексированных (пронумерованных) однотипных элементов. В Паскале описание одномерного массива имеет вид: ARRAY [тип индекса ...

Скачать
7048
1
0

... записываются либо с фиксированной точкой, например, -1.234, либо с плавающей точкой, например, -1.234E-5 или 555е12. В программе, как правило, приходится использовать переменные арифметических типов. Каждая такая переменная (и переменная любого другого типа) в языке Паскаль должна быть обязательно описана, т.е. должен быть явно указан ее тип. Описание переменных в общем случае имеет вид: VAR имя ...

Скачать
6346
7
0

... Конечное значение S2 'ЭВМ РС' Insert('IBM-', S2, 5) 'ЭВМ IBM-PC' 'Рис. 2' Insert('N', S2, 6) 'Рис. N 2' Контрольные вопросы и задания Как можно объявить величину строкового типа? К каким типам данных относятся строки? Какова максимально возможная длина строки? С величиной какого типа данных совместим по присваиванию отдельный символ строки? Расскажите об операциях, которые можно ...

Скачать
11581
5
2

, puts( ) мають тільки один параметр і виводять відповідно символи та рядки, але не забезпечують вивід числових даних. Функція printf( ) використовується для форматованого виводу на екран усіх типів даних за допомогою специфікаторів. Специфікатор формату починається із символу %, після якого стоїть символ, що вказує тип даних: %d – ціле число; %ld - довге ціле число типа long int; %u – ...

0 комментариев


Наверх