Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системне програмування.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
74.23 Кб
Скачать

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,575101 или -0,17510-2.

Символьная константа – это буква, цифра, знак пунктуации или специальный символ, заключенный в одиночные апострофы – символ (').

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

Примеры символьных констант:

'S'

'ы'

'/n'

'\x53' – символ "S"

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

"string1"

"Строка 1"

"S"

В компьютере символьная строка представляется как последовательность байт. Длина этой последовательности на единицу больше количества символов в строке, поскольку в конец строки автоматически добавляется нулевой символ '\0' (этот символ обозначает окончание строки). В связи с этим следует отметить, что символ 'S' и строка "S" будут представлены в компьютере по-разному.