Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс_ред1 С#.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.8 Mб
Скачать

Литералы с плавающей точкой

Литералы с плавающей точкой бывают типа float, double и decimal. Если в литерале используется суффикс f или F, то это литерал типа float, а если суффикс d или D — типа double. В том случае, когда суффикс не указан, литерал принимает тип double. Для обозначения литерала типа decimal используется суффикс m или М.

Экспоненциальная часть литерала отделяется символом е или Е. Для обозначения знака числа используются символы + и -.

Вот примеры литералов с плавающей точкой типа float:

3F 6.52f 2el0F 1356.4560f -3.7E-10F

А эти литералы будут иметь тип double:

.25 3.3 6.52d 2el0 1356.4560D -3.7E-10D

Вот несколько примеров литералов типа decimal, применяемых обычно для обозначения денежных сумм:

.25m 3.3М 6.52m 2е10M 13573847420983746.45М

Символьные литералы

Обычно с помощью символьных литералов представляют одиночные символы, заключая их в одинарные кавычки, например:

'с' 'А' 'Щ'

С помощью символа обратного слеша ('\') можно указать в качестве символьного литерала некоторые специальные и управляющие символы. Например, литерал '\n' задает символ новой строки.

Последовательность символа '\' и идущего вслед за ним символа называют escape-последовательностью. В следующей таблице приведены escape-последовательности, допустимые в языке С#, а также соответствующие им 16-разрядные значения в кодировке UNICODE.

Escape-последовательность

Символ

Код, UNICODE

\'

Одинарная кавычка (')

0x0027

\"

Двойная кавычка (")

0x0022

\\

Обратный слеш (\)

0х005С

\0

Нулевое значение

0x0000

Звуковой сигнал

0x0007

\b

Возврат каретки

0x0008

\f

Новая страница

0х000С

\n

Новая строка

0х000A

\r

Возврат каретки

0х000D

\t

Горизонтальная табуляция

0х0009

\v

Вертикальная табуляция

0х000B

Произвольное значение в шестнадцатеричной кодировке

От 0x0000 до 0xFFFF

В наших программах мы часто будем пользоваться литералом '\n' для перевода строки при выдаче данных на консоль.

С помощью конструкции вида '\ul234' или '\U1234' можно задать так называемый символьный литерал UNICODE. Цифры, следующие за escape-последовательностью '\u', задают шестнадцатеричный код UNICODE определяемого символа. Так как символы UNICODE занимают в памяти 2 байта, этот код должен находиться в интервале от 0x0000 до 0xFFFF.

Строковые литералы

Для представления текстовых строк в языке программирования С# используют строковые литералы. Несмотря на то, что строковый тип данных не является элементарным и поэтому рассматривается позже, тестовые строки широко используются даже в простейших программах, например, для вывода сообщений на печать. Строковый литерал представляет собой простую строку символов, заключенную в двойные кавычки, например:

"Hello, C# world!"

Строковые литералы могут включать в себя escape-последовательности, описанные в предыдущем разделе. Например, для разделения слов в строковом литерале может применяться символ табуляции '\t':

"Случайные числа:\t657\t3\4585t\t54545"

Для того чтобы включить в литерал символ двойной кавычки, его нужно представить в виде escape-последовательности ' \" ', например:

"Гостиница \"Москва\""

Если же нужно включить в литерал символ обратного слеша (\), то его нужно повторить дважды. Вот, например, как с помощью текстового литерала можно задать путь к каталогу c:\games\tetris\doc:

"с:\\games\\tetris\\doc"

В языке С# строковый литерал может иметь префикс @. Он задает так называемый буквальный или дословный (verbatim) литерал. В таком литерале все символы интерпретируются буквально, поэтому, например, нет необходимости повторять дважды символ обратного слеша:

@"с:\games\tetris\doc"

Если же нужно включить в буквальный строковый литерал символ двойной кавычки, его все же придется повторить дважды:

@"Гостиница ""Москва"""

Обычные строковые литералы C# должны полностью располагаться на одной строке. Что же касается буквальных строковых литералов, то они могут быть не только однострочными, но и многострочными, например:

@"Это

многострочный

литерал"

Такой литерал включает в себя все пробелы, символы новой строки и любые другие символы, располагающиеся между двойными кавычками, ограничивающими литерал.

Логические литералы

Логические литералы предназначены для задания значений логическим переменным. В языке С# используются два логических литерала — true (истина) и false (ложь).

Напомним, что в языке С# логические литералы не сопоставляются с целочисленными значениями, такими, например, как 1 и 0.

Литерал null

В языках программирования С и C++ переменные всегда содержат какие-либо значения. Программист может задать эти значения явно с помощью оператора присваивания (который мы скоро рассмотрим), а может и не задавать. В последнем случае в переменной будет храниться либо нуль, либо случайное значение.

Что же касается языка С#, то в нем с помощью специального литерала null программист может указать, что переменная вообще не содержит никакого значения.

Заметим, что литерал null не эквивалентен нулевому значению. Он предназначен для использования в тех ситуациях, когда в переменной не хранится ни нулевое, ни какое-либо другое значение.