Стандарт Си++, принятый в 1998г. запрещает вкладывать комментарии друг в друга.
В языке Си++ имеется способ определения однострочного комментария: это последовательность любых символов, началом которой служат символы //, а концом – код перехода на новую строку(это однострочный комментарий).
Например:
Идентификатор – это последовательность из букв латинского алфавита, десятичных цифр и символов подчеркивания, начинающаяся с буквы или знака подчеркивания.
В языке Си++ в отличие от других языков прописные и строчные буквы различаются при записи идентификатора. Компиляторы фирмы Borland распознают идентификаторы по первым 32 символам.
Пример идентификаторов:
Замечание. Не рекомендуется начинать идентификаторы с символа “_” или “__”, так как они используются в стандартных библиотеках или зарезервированы в языке Си++.
Константа – это объект, который не меняет своё значение в процессе выполнения программы.
В языке Си++ константы делятся на 5 групп:
- целые;
- вещественные;
- перечислимые;
- символьные;
- строковые.
Компилятор определяет тип константы по форме её записи.
Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными.
Десятичная целая константа – последовательность десятичных цифр, начинающаяся не с 0, если это число не 0.
Абсолютные значения отрицательных десятичных констант не должны превышать 2417483647
231-1
Восьмеричная целая константа – последовательность восьмеричных цифр, начинающаяся с нуля.
Примеры: 016 02 074 081 (ошибка!)
Диапазон допустимых значений для положительных восьмеричных констант
00..0377…7
Абсолютные значения отрицательных восьмеричных констант не должны превышать
Шестнадцатеричная целая константа – это последовательность шестнадцатеричных цифр, которая начинается с символов 0x. Шестнадцатеричные цифры: 0..9,A..F или 0..9, a..f;
Примеры: 0x16, 0xabf
Диапазон допустимых значений для положительных шестнадцатеричных констант
Абсолютные значения отрицательных шестнадцатеричных констант не должны превышать
Компилятор каждой константе ставит в соответствие тип данных.
Целым константам, занимающим в памяти 2 байта, соответствует тип
Целым константам, занимающим в памяти 4 байта, соответствуют типы
В языке Си++ имеется возможность явным образом присваивать тип константе с помощью суффиксов L, l (long) и U, u (unsigned).
Для записи одной константы можно использовать два суффикса U (u) и L (l) в произвольном порядке. Например, константы
0x22Ul, 0x11Lu, 0x380000UL, 0x54lu
Будут иметь тип unsigned long.
При использовании одного суффикса выбирается тип данных, который ближе всего соответствует типу без суффикса, выбираемому для константы по умолчанию.
Например:
04L~long
04U~unsigned int
Вещественная константа – это последовательность десятичных цифр, записанная с точкой и (или) с экспоненциальной частью.
В записи вещественных констант могут опускаться целая или дробная часть (но не одновременно), десятичная точка или экспоненциальная часть (но не одновременно).
Примеры:
15. .01 -1.08Е-2 2е+3 2.78
В языке Си++ допустимы следующие вещественные типы:
Вещественной константе можно явным образом присваивать тип float с помощью суффикса f (F) или long double с помощью суффикса l (L)
Примеры:
5.67l ~ float (4 байта)
17.8E-3L ~ long double (10 байтов)
Если в записи вещественной константы отсутствует суффикс, то ей присваивается тип double.
Перечислимая константа объявляется с помощью ключевого слова enum (inam), за которым в фигурных скобках через запятую перечисляются идентификаторы. По существу это целые константы типа int.
Формат определения перечислимой константы:
enum {one=1, two=2, five=5};
После такого определения в программе вместо, например, константы 5 можно использовать идентификатор five. Идентификаторы перечислимой константы не должны исп-ся для обозн. др. объектов.
Если при описании перечислимой const опускать знаки “=”, то по умолчанию идентификаторам будут присваиваться целые значения. А, именно, первый идентификатор получит значение 0, второй – 1 и т.д.
Например:
enum {alpha, beta, gamma};
Здесь alpha=0; beta=1; gamma=2.
Язык Си++ разрешает присваивать значения только первым идентификаторам, а следующим будут присваиваться значения на 1 больше.
Например:
enum {ten=10, two=2, three, four, five};
В результате three=3; four=4; five=5.
В качестве значений перечислимых констант можно использовать выражения:
Имя типа week можно в дальнейшем использовать при объявлении объектов.
Символьная константа – это один или два символа, заключенные в апострофы.
Например: ‘1’; ’z’; ’*’; ’\n’; ’ab’; ’\n\t’
Символ ‘\’ используется
1) при записи кодов не имеющих графического изображения: ‘\n’; ‘\t’; ‘\v’
2) при записи апострофа, обратной косой черты, знака вопроса и кавычки: ‘\\’; ‘\`'; '\”’; ‘\?’
3) При записи символьной константы с помощью кодов в шестнадцатеричном или восьмеричном виде: ‘\x0A’-‘\n’ (шестнадцатеричный код 0x0A)
‘\x48’-‘H’ (шестнадцатеричный код 0x48)
‘\40’ – пробел (восьмеричный код 040)
Значением символьной константы является её код. Односимвольная константа имеет тип char, занимает в памяти 1 байт. Двухсимвольная константа представляется двухбайтовым значением int, причем первый символ размещается в байте с меньшим адресом.
Строковая константа – это последовательность символов, заключенная в кавычки.
Например:
“С++ - programming language”
При записи строковой константы можно использовать не изображаемые символы и символы, задаваемые внутренними кодами.
Пример:
//Ex-01.cpp – строковые константы
#include <iostream.h>
Void main()
{cout<<”\nЭто строковая константа \n иначе -\”стринг\”.”;
}
На экране мы увидим:
Это строковая константа
Иначе – “стринг”.
В памяти компьютера строка представляет собой последовательность байтов. Компилятор автоматически добавляет в её конец нулевой байт ‘\0’.
Строковые константы можно непосредственно использовать в выражениях, а можно разместить в символьном массиве и обращаться к ней по имени массива.
Привет: вывести на экран строку и её длину.
//Ex-02.cpp – строковая константа-массив
Void main()
{char str[]=”массив-строка”;
Cout<<”\nsizeof str0= “<<sizeof str;
Cout<<”\nstr=”<<str;
}
Результат:
Sizeof str= 14
Str=массив-строка
Замечание: строка “k” занимает в памяти 2 байта, символ ‘k’ – один байт. Строка может быть пустой “”, но символ – нет.
Наряду с рассмотренными константами в языке С++ имеются типизированные константы, которые используются как переменные, значения которых не могут меняться после инициализации.
Типизированная const объявляется с помощью ключевого слова const за которым следуют указание типа константы, идентификатор, знак “=” и инициализирующее выражение.