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

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

Литерал вещественного типа

В общем случае константа вещественного типа состоит из следующих структурных частей:

● мантисса,

● экспоненциальная часть,

● суффикс, определяющий тип константы.

Если экспоненциальная часть отсутствует, мантисса должна содержать десятичную точку. Экспоненциальная часть, если она присутствует в вещественной константе, должна начинаться либо с символа “e”, либо с символа “E”, за которым должен следовать целочисленный порядок. Экспоненциальная часть может содержать знак. Суффикс F (или f) указывает, что константа имеет тип float; использование суффикса L (или l) свидетельствует о том, что константа имеет тип long double. При отсутствии суффикса константа имеет тип double. Ниже приводятся примеры вещественных констант. Численное значение вещественной константы при наличии экспоненциальной части определяется умножением мантиссы на десять в степени, определяемой величиной порядка.

 

Константа Тип
3.14159 double
.25 double
23. double
4e2 doubleЗначение константы равно 4 * 102
.5E-3 double Значение константы равно 0.5 * 10-3
2.4f float
5.5L long double

Символьный литерал - это лексема, состоящая из графически воспроизводимого (печатного) символа или управляющей последовательности, (escape - последовательность) заключенных в одинарные кавычки. Признаком начала управляющей последовательности, является символ обратная косая черта “\”. Понятие управляющей последовательности можно трактовать следующим образом: символ \ “управляет” интерпретацией последующих за ним символов. Например, n в управляющей последовательности \n воспринимается не как символ ‘n’, а как управляющий символ, предписывающий компилятору перевести курсор на новую строку экрана. Примеры управляющих последовательностей приведены ниже.

 

Управляющая последовательность Значение
\n Новая строка
\r Возврат каретки
\\ Обратная косая черта
\’ Одиночная кавычка
\’’ Двойная кавычка
\ooo o – восьмеричная цифра
\xhh h – шестнадцатеричная цифра

 

Примеры символьных литералов с использованием управляющих последовательностей:

‘\n’
‘\7’
‘\x41’

Следует отметить, что символьный литерал в языке Си имеет тип int. Такое положение является признаком ослабленной типизации, имеющей место в этом языке.

Строковым литералом в языке Си называется последовательность символов, заключенная в двойные кавычки. Например:

“Hello”

В строковый литерал можно включать управляющие последовательности. Например:

“Hello\n”

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

“Hello,” “ world”

воспринимается компилятором как единый строковый литерал следующего вида:

“Hello, world”

Каждому строковому литералу, состоящему из “n” символов, во время выполнения программы выделяется блок памяти объемом n + 1 байт. Дополнительный байт выделяется для хранения нуль – символа. Типом массива, предназначенного для хранения строковой константы, является char[n + 1].