Литералы в C/C++ с примерами
Литералы — это постоянные значения, которые присваиваются константным переменным. Литералы представляют собой фиксированные значения, которые нельзя изменить. Литералы содержат память, но не имеют ссылок в качестве переменных. Как правило, термины, константы и литералы взаимозаменяемы.
Например, «const int = 5;» — это константное выражение, а значение 5 упоминается как постоянный целочисленный литерал. Есть 4 типа литералов в C и пять типов литералов в C++.
- Целочисленный литерал
- Литерал с плавающей запятой
- Символьный литерал
- Строковый литерал
1 ) Целочисленные литералы
Целочисленные литералы используются для представления и хранения только целочисленных значений. Целочисленные литералы выражаются в двух типах, т.е.
A) Префиксы: Префикс целочисленного литерала указывает базу, в которой он должен быть прочитан.
Например:
0x10 = 16
Because 0x prefix represents a HexaDecimal base. So 10 in HexaDecimal is 16 in Decimal. Hence the value 16.
В основном представлены 4 типами:
а. Десятичный литерал (основание 10): ненулевая десятичная цифра , за которой следует ноль или более десятичных цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).
Пример:
56, 78
б. Восьмеричный литерал (основание 8): 0 , за которым следует ноль или более восьмеричных цифр (0, 1, 2, 3, 4, 5, 6, 7).
Пример:
045, 076, 06210
в. Шестнадцатеричный литерал (основание 16): 0x или 0X , за которым следует одна или несколько шестнадцатеричных цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, A, b, B, c, C , г, г, д, д, е, е).
Пример:
0x23A, 0Xb4C, 0xFEA
д. Двоичный литерал (основание 2): 0b или 0B , за которыми следует одна или несколько двоичных цифр (0, 1).
Пример:
0b101, 0B111
B) Суффиксы: префикс целочисленного литерала указывает тип, в котором он должен быть прочитан.
Например:
12345678901234LL
indicates a long long integer value 12345678901234 because of the suffix LL
Они представлены разными способами в соответствии с их типами данных.
- int: суффикс не требуется, поскольку целочисленная константа по умолчанию назначается как тип данных int.
- unsigned int: символ u или U в конце целочисленной константы.
- long int: символ l или L в конце целочисленной константы.
- unsigned long int: символ ul или UL в конце целочисленной константы.
- long long int: символ ll или LL в конце целочисленной константы.
- unsigned long long int: символ ull или ULL в конце целочисленной константы.
Пример:
Выход:
Integer Literal:10
2) Литералы с плавающей запятой
Они используются для представления и хранения действительных чисел. Вещественное число имеет целую часть, действительную часть, дробную часть и экспоненциальную часть. Литералы с плавающей запятой могут храниться либо в десятичной форме, либо в экспоненциальной форме. При представлении десятичных чисел с плавающей запятой необходимо помнить о двух вещах, чтобы получить правильный литерал:
- В десятичной форме необходимо включать десятичную точку, показательную часть или и то, и другое, иначе это приведет к ошибке.
- В экспоненциальной форме необходимо включать целую часть, дробную часть или и то, и другое, иначе это приведет к ошибке.
Несколько литеральных представлений с плавающей запятой показаны ниже:
Допустимые плавающие литералы:
10.125 1.215-10L 10.5E-3
Недопустимые плавающие литералы:
123E 1250f 0.e879
Пример:
Выход:
Floating point literal: 4.14
3) Символьный литерал
Это относится к литералу, который используется для хранения одного символа в одинарной кавычке. Для хранения нескольких символов необходимо использовать массив символов. Сохранение более одного символа в одной кавычке вызовет предупреждение и отобразит только последний символ литерала. Это приводит к следующим двум представлениям:
A. тип char: используется для хранения литералов с обычными символами или литералов с узкими символами. Это поддерживается как C, так и C++.
Пример:
// For C char chr = "G"; // For C++ char chr = "G";
B. Тип wchar_t: этот литерал поддерживается только в C++, но не в C. Если за символом следует L, то литерал необходимо сохранить в wchar_t. Это представляет собой широкосимвольный литерал.
Пример:
// Not Supported For C // For C++ wchar_t chr = L"G";
Пример:
Выход:
Character Literal: A
Escape-последовательности : Существуют различные специальные символы, которые можно использовать для выполнения различных операций.
4) Строковые литералы
Строковые литералы похожи на эти символьные литералы, за исключением того, что они могут хранить несколько символов и используют двойные кавычки для их хранения. Он также может содержать специальные символы и управляющие последовательности, упомянутые в таблице выше. Мы можем разбить длинную строку на несколько строк, используя строковый литерал, и можем разделить их с помощью пробелов.
Пример:
// For C char stringVal[] = "GeeksforGeeks"; // For C++ string stringVal = "GeeksforGeeks"
Пример:
Выход:
Welcome To Geeks For Geeks
5) Логические литералы
Этот литерал предоставляется только в C++ , но не в C. Они используются для представления логических типов данных. Они могут иметь два значения:
- true: для представления истинного значения. Это не должно считаться равным int 1.
- false: для представления значения False. Это не должно считаться равным int 0.
Пример:
Выход:
isTrue? 1 isFalse? 0
Должны прочитать:
- Пользовательские литералы
- Необработанный строковый литерал в C++
- Восьмеричные литералы в C
- Составные литералы в C
- Разница типов символьных литералов C++