Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Константы. Константами называются неизменяемые в программе величины.






Константами называются неизменяемые в программе величины.

В языке C определены следующие типы констант:

  • целые;
  • с плавающей точкой;
  • символьные;
  • строковые (литералы).

Целая константа – целое положительное число, представленное в десятичной, восьмеричной или шестнадцатеричной системах счисления.

Десятичная константа состоит из одной или нескольких десятичных цифр, причем первая цифра не должна быть нулем (в противном случае число будет воспринято как восьмеричное), например, 385.

Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных цифр (0, 1, 2, 3, 4, 5, 6, 7), например, 017.

Шестнадцатеричная константа начинается с обязательной последовательности 0х или 0Х и содержит одну или несколько шестнадцатеричных цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F), например, 0x6Eили 0x6e.

Для формирования отрицательной целой константы используют знак минус перед записью константы, называемый унарным минусом:

–42, –073, –0x5F.

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

Тип константы определяется автоматически в зависимости от значения константы, при этом выбирается самый компактный тип (объемы памяти, занимаемые переменными различных типов, приведены в табл. 2.1).

Для того чтобы любой целой константе был присвоен тип long, достаточно в конце константы поставить букву l или L, например, 5l, 6l, 128L, 0105L, 0X2A1L.

Константа с плавающей точкой представляется в виде десятичного числа в формате с фиксированной точкой ([ цифры ]. [ цифры ]) или с плавающей точкой ([ цифры ]. [ цифры ] [ Е/e [+|–] цифры ]), т. е. в экспоненциальном (полулогарифмическом) виде.

Константы с плавающей точкой состоят из целой и дробной части и (или) экспоненты. Константы с плавающей точкой по умолчанию представляют собой положительные величины удвоенной точности, т. е. имеют тип double. Например, 3.14159; 3E8; 1.;. 2; 3.73e–19.

Если константа заканчивается символом F или f, то она имеет тип float, а если L или l, то long double (42.F; 1.602e –19L).

Символьная константа представляется символом, заключенным в апострофы: 'm', '7', '; '. Значением символьной константы является числовой код символа таблицы ASCII.

Управляющие последовательности, т. е. специальные символьные комбинации, используемые в функциях ввода/вывода информации, рассматриваются как одиночные символы, и их допустимо использовать в символьных константах. Напомним, что управляющая (escape) последовательность использует обратную наклонную черту – слэш (обязательный первый символ) и комбинацию латинских букв и цифр: '\n' – новая строка; '\a' – звонок; '\v' – вертикальная табуляция и т. д.

Символьные константы в языке C и C++ имеют тип char.

Строковая константа (литерал) – это последовательность символов, включающая строчные и прописные буквы русского и латинского алфавитов, цифры и знаки, заключенные в кавычки, например, " C++"; " Hello, Mary", " 2005 год".

В конец каждого строкового литерала компилятором добавляется нулевой символ, представляемый управляющей последовательностью '\0'.

Строковый литерал имеет типstatic char (статический массив символов). Число элементов массива равно числу символов в строке плюс 1, так как компилятор добавляет нулевой символ в конец литерала. Все строковые литералы рассматриваются компилятором как различные объекты. Если в программе используется несколько идентичных строк, то каждая будет помещена в свою область памяти. Однако некоторые компиляторы имеют опцию, позволяющую хранить в памяти только одну из идентичных строковых констант.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.