|
Программирование >> Перегруженные имена функций и идентификаторы
Целые константы Целая константа, состоящая из последовательности цифр, считается восьмеричной, если она начинается с 0 (цифры ноль), и десятичной в противном случае. Цифры 8 и 9 не являются восьмеричными цифрами. Последовательность цифр, которой предшествует 0х или 0Х, воспринимается как шестнадцатеричное целое. В шестнадцатеричные цифры входят буквы от а ии А до f или F, имеющие значения от 10 до 15. Десятичная константа, значение которой превышает наибольшее машинное целое со знаком, считается длинной (long); восьмеричная и шестнадцатеричная константа, значение которой превышает наибольшее машинное целое со знаком, считается long; в остальных случаях целые константы считаются int. Явно заданные длинные константы Десятичная, восьмеричная или шестнадцатеричная константа, за которой непосредственно стоит l (латинская буква эль ) ии L, считается длинной константой. Символьные константы Символьная константа состоит из символа, заключенного в одиночные кавычки (апострофы), как, например, х. Значением символьной константы является численное значение символа в машинном наборе символов (алфавите). Символьные константы считаются данными типа int. Некоторые неграфические символы, одиночная кавычка и обратная косая \, могут быть представлены в соответствие со следующим списком escape-последовательностей:
набор битов 0ddd \ddd набор битов 0xddd \xddd Escape-последовательность \ddd состоит из обратной косой, за которой следуют 1, 2 ии 3 восьмеричных цифры, задающие значение требуемого символа. Специальным случаем такой конструкции является \0 (не следует ни одной цифры), задающая пустой символ NULL. Escape-последовательность \xddd состоит из обратной косой, за которой следуют 1, 2 или 3 шестнадцатеричных цифры, задающие значение требуемого символа. Если следующий за обратной косой символ не является одним из перечисленных, то обратная косая игнорируется. Константы с плавающей точкой Константа с плавающей точкой состоит из целой части, десятичной точки, мантиссы, е или Е и целого показателя степени (возможно, но не обязательно, со знаком). Целая часть и мантисса обе состоят из последовательности цифр. Целая часть или мантисса (но не обе сразу) может быть опущена; или десятичная точка, или е (Е) вместе с целым показателем степени (но не обе части одновременно) может быть опущена. Константа с плавающей точкой имеет тип double. Перечислимые константы Имена, описанные как перечислители, являются константами типа int. Описанные константы Объект любого типа может быть определен как имеющий постоянное значение во всей области видимости его имени. В случае указателей для достижения этого используется декларатор *const; для объектов, не являющихся указателями, используется описатель const. Строки Строка есть последовательность символов, заключенная в двойные кавычки: ... . Строка имеет тип массив символов и класс памяти static, она инициализируется заданными символами. Компилятор располагает в конце каждой строки нулевой (пустой) байт \0 с тем, чтобы сканирующая строку программа могла найти ее конец. В строке перед символом двойной кавычки обязательно должен стоять \; кроме того, могут использоваться те же escape-последовательности, что б1ли описаны для символьных констант. И, наконец, символ новой строки может появляться только сразу после \; тогда оба, - \ и символ новой строки, - игнорируются. Синтаксис Запись синтаксиса По синтаксическим правилам записи синтаксические категории выделяются курсивом, а литеральные слова и символы шрифтом постоянной ширины. Альтернативные категории записываются на разных строках. Необязательный терминальный или нетерминальный символ обозначается нижним индексом opt , так что {выражение opt} указывает на необязательность выражения в фигурных скобках. Имена и типы Имя обозначает (денотирует) объект, функцию, тип, значение или метку. Имя вводится в программе описанием. Имя может использоваться только внутри области текста программы, называемой его областью видимости. Имя имеет тип, определяющий его использование. Объект - это область памяти. Объект имеет класс памяти, определяющий его время жизни. Смысл значения, обнаруженного в объекте, определяется типом имени, использованного для доступа к нему. Область видимости Есть четыре вида областей видимости: локальная, фай, программа и класс.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |