- •Содержание
- •Введение
- •1. Множества символов
- •1.1. Буквы и цифры
- •1.2. Пробельные символы
- •1.3. Знаки пунктуации и специальные символы
- •1.5. Операции
- •2. Константы
- •2.1. Целые константы
- •2.2. Константы с плавающей точкой
- •2.3. Константа-символ
- •2.4. Строковые литералы
- •3. Идентификаторы
- •4. Ключевые слова
- •5. Комментарии
- •6. Лексемы
- •7. Типы данных
- •8. Числа
- •9. Операторы
- •9.1. Оператор "выражение"
- •9.2. Пустой оператор
- •9.3. Составной оператор
- •9.4. Оператор "if"
- •9.5. Оператор "switch"
- •9.6. Операторы "break", "continue", "goto"
- •9.6.1. Оператор "break"
- •9.6.2. Оператор "continue"
- •9.6.3. Оператор "goto"
- •9.7. Оператор "for"
- •9.8. Оператор "while"
- •9.9. Оператор "do while"
- •9.10. Оператор "return"
- •9.11. Оператор "sizeof"
- •10.5. Пробелы
- •10.6. Продолжения строк
- •10.7. Длина строки
- •11. Структура программы
- •12. Псевдокод
- •13. Заголовок файла на языке си
- •14. Заголовок модуля на языке си
- •15. Ссылочная документация
2.2. Константы с плавающей точкой
Константа с плавающей точкой - это действительное десятичное положительное
число. Величина действительного числа включает целую, дробную части и
зкспоненту. Константы с плавающей точкой имеют следующий формат представления:
[<digits>][.<digits>][E[-]<digits>]
где <digits> - одна или более десятичных цифр (от 0 до 9), а E или e - символ
экспоненты. Целая или дробная части константы могут быть опушены, но не обе
сразу. Десятичная точка может быть опущена только тогда, когда задана
экспонента.
Экспонента состоит из символа экспоненты, за которым следует целочисленная
величина экспоненты, возможно отрицательная.
Пробельные символы не могут разделять цифры или символы константы.
Константы с плавающей точкой всегда специфицируют положительные величины.
Если требуются отрицательные величины, то необходимо сформировать константное
выражение из знака минус и следующей за ним константы. Знак минус
рассматривается как арифметическая операция.
Примеры констант с плавающей точкой и константных выражений:
15.75 1.575E1 1575e-2
-0.0025 -2.5e-3 25e-4
Целая часть константы с плавающей точкой может быть опущена, например:
.75 .0075e2 -.125 -.175E-2
Все константы с плавающей точкой имеют тип double.
2.3. Константа-символ
Константа-символ - это буква, цифра, знак пунктуации или ESC-символ,
заключенные в одиночные кавычки. Величина константы-символа равна значению
представляющего ее кода символа.
Константа-символ имеет следующую форму представления:
"<char>"
где <char> может быть любым символом иэ множества представимых символов, включая
любой ESC-символ, исключая символы "одиночная кавычка" ('), "обратная косая
черта" (\) и символ новой строки.
Чтобы использовать одиночную кавычку или обратную косую черту в качестве
константы-символа, необходимо вставить перед этими знаками обратную косую черту.
Чтобы представить символ новой строки, необходимо использовать запись \n.
2.4. Строковые литералы
Строковый литерал - это последовательность букв, цифр и символов,
заключенная в двойные кавычки. Строковый литерал рассматривается как массив
символов, каждый элемент которого представляет отдельный символ. Строковый
литерал имеет следующую форму представления:
"<characters>"
где <characters> - это нуль или более символов из множества представимых
символов, исключая двойную кавычку, обратную косую черту и символ новой строки.
Чтобы использовать символ новой строки в строковом литерале, необходимо
напечатать обратную косую черту, а затем символ новой строки.
Обратная косая черта вместе с символом новой строки будут проигнорированы
компилятором, что позволяет формировать строковые литералы, располагаемые более
чем в одной строке. Например, строковый литерал:
"Long strings can be bro\
cken into two pieces."
идентичен строке:
Long strings can be brocken into two pieces.
Чтобы использовать двойные кавычки или обратную косую черту внутри
строкового литерала, нужно представить их с предшествующей обратной косой
чертой, как показано в следующем примере;
"This is a string literal"
"First \\ Second"
"\"Yes, I do.\" she said."
"The following line shows a null string:"
""
Заметим, что ESC-символы (такие как \\ и \") могут появляться в строковых
литералах. Каждый ESC-символ считается одним отдельным символом.
Символы строки запоминаются в отдельных байтах памяти. Символ null или \0
является отметкой конца строки. Каждая строка в программе рассматривается как
отдельный объект. Если в программе-содержатся две идентичные строки, то каждая
из них будет храниться в отдельном месте памяти.
Строчные литералы имеют тип char[]. Под этим подразумевается, что строка -
это массив, элементы которого имеют тип char. Число элементов в массиве равно
числу символов в строчном литерале плюс один, поскольку символ null (отметка
конца строки) тоже считается элементом массива.
