Константы/литералы С++
Константы относятся к фиксированным значениям, которые программа не может изменить, и называются литералами. .
Константы могут быть любого из основных типов данных и могут быть разделены на целые числа, числа с плавающей запятой, символы, строки и логические значения.
Опять же, константы обрабатываются так же, как обычные переменные, за исключением того, что их значения не могут быть изменены после их определения.
Целые литералы
Целочисленный литерал может быть десятичной, восьмеричной или шестнадцатеричной константой. Префикс указывает основание или основание:0x или 0X для шестнадцатеричных, 0 для восьмеричных и ничего для десятичных.
Целочисленный литерал также может иметь суффикс, представляющий собой комбинацию U и L для беззнакового и длинного соответственно. Суффикс может быть прописным или строчным и может быть в любом порядке.
Вот несколько примеров целочисленных литералов —
212 // Legal 215u // Legal 0xFeeL // Legal 078 // Illegal: 8 is not an octal digit 032UU // Illegal: cannot repeat a suffix
Ниже приведены другие примеры различных типов целочисленных литералов —
85 // decimal 0213 // octal 0x4b // hexadecimal 30 // int 30u // unsigned int 30l // long 30ul // unsigned long
Литералы с плавающей запятой
Литерал с плавающей запятой имеет целую часть, десятичную точку, дробную часть и экспоненциальную часть. Вы можете представлять литералы с плавающей запятой в десятичной или экспоненциальной форме.
При представлении в десятичной форме вы должны включать десятичную точку, показатель степени или и то, и другое, а при представлении в экспоненциальной форме вы должны включать целую часть, дробную часть или и то, и другое. Показатель степени со знаком вводится буквой e или E.
Вот несколько примеров литералов с плавающей запятой —
3.14159 // Legal 314159E-5L // Legal 510E // Illegal: incomplete exponent 210f // Illegal: no decimal or exponent .e55 // Illegal: missing integer or fraction
Булевы литералы
Есть два логических литерала, и они являются частью стандартных ключевых слов C++ —
-
Значение истина представляет собой истину.
-
Значение ложь представляет ложь.
Вы не должны считать значение true равным 1, а значение false равным 0.
Символьные литералы
Символьные литералы заключаются в одинарные кавычки. Если литерал начинается с L (только в верхнем регистре), это литерал широкого символа (например, L'x') и должен храниться в wchar_t. тип переменной. В противном случае это узкосимвольный литерал (например, 'x'), который можно сохранить в простой переменной char. тип.
Символьный литерал может быть простым символом (например, 'x'), управляющей последовательностью (например, '\t') или универсальным символом (например, '\u02C0').
В С++ есть определенные символы, когда им предшествует обратная косая черта, они будут иметь особое значение и используются для представления, например, новой строки (\n) или табуляции (\t). Здесь у вас есть список некоторых таких кодов управляющей последовательности —
Escape-последовательность | Значение |
---|---|
\\ | \ символ |
\' | ' символ |
\" | " символ |
\? | <тд>? персонаж|
\a | Предупреждение или звонок |
\b | Возврат |
\f | Подача формы |
\n | Новая строка |
\r | Возврат каретки |
\t | Горизонтальная вкладка |
\v | Вертикальная вкладка |
\ооо | Восьмеричное число от одной до трех цифр |
\xhh . . . | Шестнадцатеричный номер из одной или нескольких цифр |
Ниже приведен пример, показывающий несколько символов управляющей последовательности —
Живая демонстрация#include <iostream> using namespace std; int main() { cout << "Hello\tWorld\n\n"; return 0; }
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
Hello World
Строковые литералы
Строковые литералы заключаются в двойные кавычки. Строка содержит символы, похожие на символьные литералы:обычные символы, управляющие последовательности и универсальные символы.
Вы можете разбить длинную строку на несколько строк с помощью строковых литералов и разделить их пробелами.
Вот несколько примеров строковых литералов. Все три формы являются идентичными строками.
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
Определение констант
В C++ есть два простых способа определения констант —
-
Использование #define препроцессор.
-
Использование константы ключевое слово.
Препроцессор #define
Ниже приведена форма использования препроцессора #define для определения константы —
#define identifier value
Следующий пример объясняет это подробно —
Живая демонстрация#include <iostream> using namespace std; #define LENGTH 10 #define WIDTH 5 #define NEWLINE '\n' int main() { int area; area = LENGTH * WIDTH; cout << area; cout << NEWLINE; return 0; }
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
50
Ключевое слово const
Вы можете использовать const префикс для объявления констант определенного типа следующим образом —
const type variable = value;
Следующий пример объясняет это подробно —
Живая демонстрация#include <iostream> using namespace std; int main() { const int LENGTH = 10; const int WIDTH = 5; const char NEWLINE = '\n'; int area; area = LENGTH * WIDTH; cout << area; cout << NEWLINE; return 0; }
Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —
50
Обратите внимание, что хорошей практикой программирования является определение констант ЗАГЛАВНЫМИ БУКВАМИ.
Язык C