
- •3.2.4. Алфавит языка c, идентификаторы, ключевые слова, комментарии
- •3.2.5. Константы в c
- •3.2.6. Типы переменных в языке c и их объявление
- •3.2.7. Объявление простых переменных
- •3.2.8. Арифметические операторы и операторы присваивания
- •3.2.9. Преобразования типов
- •3.2.10. Операции отношения и логические операции
- •3.2.11. Условная операция
- •3.2.12. Стандартная библиотека языка c
- •3.2.13. Математические функции c
- •3.2.14. Форматированный вывод данных в c
- •3.2.15. Структура программы на языке c
3.2.5. Константы в c
Любая программа при своем выполнении производит операции над данными различных типов: числовыми, символьными, логическими, датами и т.п. Значения некоторых данных устанавливаются до начала выполнения программы и сохраняются неизменными в течение всего времени работы программы. Такие данные называются константами. Значения других данных могут изменяться (в частности, путем присваивания новых значений) во время выполнения программы. Эти данные называются переменными.
В языке C различают четыре типа констант:
целые числа;
числа с плавающей точкой;
символьные константы;
символьные строки.
Целая константа – это десятичное, восьмеричное или шестнадцатеричное число, которое представляет целое значение. Если знак минус перед константой отсутствует, она считается положительной. В компьютере целая константа представляется в формате двоичного числа с фиксированной точкой.
Десятичная константа – это последовательность из одной или нескольких десятичных цифр (от 0 до 9), например:
567
-978.
Восьмеричная константа представляется цифрами от 0 до 7, причем первой цифрой числа должен быть 0, например:
057
07777.
Шестнадцатеричная константа содержит впереди себя символы "0x" или "0X" и одну или более цифр от 0 до 9 и букв A(a) – 10, B(b) – 11, C(c) – 12, D(d) – 13, E(e) – 14 и F(f) – (15), например:
0X9eF
0x150.
Следует отметить, что в языке C восьмеричные и шестнадцатеричные константы могут быть только положительными и поэтому записываются без знака.
Константа с плавающей точкой – это действительное десятичное число. Если знак минус перед константой отсутствует, она считается положительной. В компьютере константа с плавающей точкой представляется в формате двоичного числа с плавающей точкой (в виде знака числа, мантиссы и порядка).
Константа с плавающей точкой записывается в двух форматах:
в виде действительного числа с целой и дробной частью;
в экспоненциальной форме.
В первом формате разделителем между целой частью и дробной частью служит символ ".", например:
15.75
-25.3
0.08 или .08
1.0 или 1.
Как видно из последних двух примеров, если целая или дробная часть числа равна 0, при записи числа можно их опустить. Следует отметить, что константы 1 и 1., представляющие одно и то же число, в компьютере будут представлены по-разному: первое – 1 в формате с фиксированной точкой, второе – 1. в формате с плавающей точкой.
Число в экспоненциальной форме содержит две компоненты: целое или действительное десятичное число – мантиссу и целочисленный десятичный порядок. В качестве разделителя между мантиссой и порядком используется одни из символов: "e" или "E", например:
1.575e1
-.175E-2
Такая форма записи эквивалентна следующей обычной математической форме записи больших чисел, например: 1,575101 или -0,17510-2.
Символьная константа – это буква, цифра, знак пунктуации или специальный символ, заключенный в одиночные апострофы – символ (').
В языке C для представления символов используется однобайтовая кодировка, т.е. допустимо в символьных константах определять любой символ, в том числе знаки препинания и буквы кириллицы (если на компьютере используется соответствующая кодовая страница). Некоторые коды не имеют символьного представления, и для их задания можно либо прямо указать код символа в виде целого числа, либо использовать специальные символы, приведенные выше.
Примеры символьных констант:
'S'
'ы'
'/n'
'\x53' – символ "S"
Символьная строка – это последовательность символов, заключенная в двойные кавычки, например:
"string1"
"Строка 1"
"S"
В компьютере символьная строка представляется как последовательность байт. Длина этой последовательности на единицу больше количества символов в строке, поскольку в конец строки автоматически добавляется нулевой символ '\0' (этот символ обозначает окончание строки). В связи с этим следует отметить, что символ 'S' и строка "S" будут представлены в компьютере по-разному.