- •Язык с.
- •Идентификаторы
- •Ключевые слова
- •Список ключевых слов
- •Знаки операций
- •Приоритеты операций
- •Константы
- •Разделители
- •Структура программы на языке Си
- •Типы данных.
- •Арифметические выражения.
- •Математические функции (библиотека math.H)
- •Операторы
- •Оператор присваивания
- •Некоторые арифметические операции.
- •Явное преобразование типов
Константы
Константы – это объекты программы, которые в ходе ее выполнения не изменяют свое значение.
Константы по способу записи в программе делятся на именованные и неименованные.
Именованные константы.
Вариант 1.
Директива #define определяет символьное имя, или именованную константу, для заданной строки символов:
#define имя подставляемый-текст
С этого момента при любом появлении имени (если только оно встречается не в тексте, заключенном в кавычки, и не является частью определения другого имени) оно будет заменяться на соответствующий ему подставляемый-текст. Имя имеет тот же вид, что и переменная: последовательность букв и цифр, начинающаяся с буквы. Подставляемый-текст может быть любой последовательностью символов, среди которых могут встречаться не только цифры.
#define DL 10
#define N 30
#define STEP 20
Вариант 2.
Если к объявлению переменной добавить модификатор const, то ее значение далее в программе меняться не будет и называться будет константная переменная:
Const float p=3.14;
Неименованные константы.
Тип константы определяется ее значением.
Если требуется сформировать отрицательную целую или вещественную константу, то перед константой ставится знак унарной операции изменения знака (-), например: -218, -022, –0x3С, –4.8, –0.1e4.
Вещественная константа в экспоненциальном формате представляется в виде мантиссы и порядка. Мантисса записывается слева от знака экспоненты (E или e), порядок — справа от знака. Значение константы определяется как произведение мантиссы и возведенного в указанную в порядке степень числа 10. Обратите внимание, что пробелы внутри числа не допускаются, а для отделения целой части от дробной используется не запятая, а точка.
Символьные константы, состоящие из одного символа, занимают в памяти один байт и имеют стандартный тип char.
Примеры констант различных типов
Константа Формат Примеры
Целая Десятичные 0, 8, 123, 10478
Вещественная Обычные 5.7, .0012, 35.
Экспоненциальные 0.2Е6, 11е-3
Символьная Один символ заключенный в апострофы 'A', 'ю', '*'
Строковая Последовательность символов, заключенная в кавычки “Hello world!”
В Си есть константы состоящие из двух символов, но обозначают они только один. Это, например, управляющие последовательности \n (символ конца строки).
Двухсимвольные константы занимают два байта и имеют тип int. Символ обратной косой черты используется для представления:
кодов, не имеющих графического изображения (например, \а - звуковой сигнал, \n - перевод курсора в начало следующей строки);
символов апострофа ( ' ), обратной косой черты ( \ ), знака вопроса ( ? ) и кавычки ( " );
Управляющие последовательности в языке Си
Изображение |
Шестнадцатеричный код |
Наименование |
\a |
7 |
Звуковой сигнал |
\b |
8 |
Возврат на шаг |
\f |
C |
Перевод страницы (формата) |
\n |
A |
Перевод строки |
\r |
D |
Возврат каретки |
\t |
9 |
Горизонтальная табуляция |
\v |
B |
Вертикальная табуляция |
\\ |
5C |
Обратная косая черта |
\' |
27 |
Апостроф |
\" |
22 |
Кавычка |
Управляющие последовательности могут использоваться и в строковых константах, называемых иначе строковыми литералами. Например, если внутри строки требуется записать кавычку, ее предваряют косой чертой, по которой компилятор отличает ее от кавычки, ограничивающей строку: "Издательский дом \"Питер\"".
Все строковые литералы рассматриваются компилятором как различные объекты.
В конец каждого строкового литерала компилятором добавляется нулевой символ, представляемый управляющей последовательностью ‘\0’. Поэтому длина строки всегда на единицу больше количества символов в ее записи. Таким образом, пустая строка "" имеет длину 1 байт. Обратите внимание на разницу между строкой из одного символа, например, "A", и символьной константой 'A'. Пустая символьная константа недопустима.
