Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
c-operators.doc
Скачиваний:
4
Добавлен:
08.11.2018
Размер:
198.14 Кб
Скачать
  1. Основные элементы языка Си

    1. Константы

В Си используется четыре основных типа констант:

  • целые ( integer), с плавающей точкой ( float),

  • символьные ( character), строковые ( string).

Кроме того ANSI-стандарт языка включает специальный тип констант — перечислимый ( enumerated).

Первые два типа констант представляют собой ни что иное, как числа, поэтому о них вместе часто говорят как о числовых константах. Для числовых констант справедливы следующие правила:

  • в числовую константу нельзя включить знак пробела или запятую;

  • перед числовой константой может стоять знак минус (фактически этот минус является символом операции перемены знака у числовой константы, но о нем можно мыслить как о части константы);

  • значение числовой константы не должно выходить за определенные для каждого типа констант границы (снизу и сверху), причем для разных реализаций Си эти границы могут различаться.

  1. Константы целого типа

Константы целого типа - это целочисленные величины. Они могут быть записаны в одной из трех систем счисления: десятичной, восьмеричной и шестнадцатиричной.

Десятичная константа состоит из произвольной комбинации десятичных цифр, однако первая цифра должна быть отлична от нуля.

Восьмеричная константа состоит из произвольного набора восьмеричных цифр (0 - 7), причем первая цифра должна быть нулем. Нуль является признаком того, что константа восьмеричная.

Для записи шестнадцатеричных констант используются цифры от 0 до 9 и буквы A, B, C, D, E, F (верхнего или нижнего регистров). Для указания того, что константа является шестнадцатиричной, ее следует начинать с нуля и латинской буквы X (верхнего или нижнего регистра): 0X или 0x .

      1. Задание.

1. Какие ошибки допущены при записи следующих десятичных целых констант?

  • 12,345

  • 36.0

  • 123-45

  • 0987

2. Какие ошибки допущены при записи следующих восьмеричных констант?

  • 743

  • 05280

  • 0777.777

3. Какие ошибки допущены при записи следующих шестнадцатеричных констант?

  • 0Bf38

  • 0X12.34

  • 0xDEFG

  • 0X.4bff

4. Записать значения каждой из следующих целых констант в двух других

допустимых системах счисления:

  • 0xa1

  • 123

  • 0123

    1. Беззнаковые и длинные целые константы

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

Беззнаковые константы — это заведомо положительные константы, при записи которых в память не нужен знаковый бит. Если, например, константа записывается в байт, то для знаковой формы допустимый диапазон значений будет от - 128 до +127, а в беззнаковой форме — от 0 до 255 (поясните, почему так). Для того, чтобы указать, что константа является беззнаковой, нужно в ее конец добавить символ U или u ( от unsigned — беззнаковый).

Есть другой способ увеличить диапазон допустимых значений константы за счет увеличения выделяемой для хранения константы памяти. Для целых констант большинство современных компиляторов отводят машинное слово (два байта), что соответствует значениям от —32768 до +32767 .

Константы, для которых выделяется увеличенный объем памяти (обычно 4 байта — двойное слово), называются длинными (long). Чаще всего компиляторы сами подстраиваются под размер записанной константы и выделяют по необходимости 2 или 4 байта.

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

Для этого нужно в конце константы добавить латинскую букву L или l. Длиные константы могут принимать значения от -2 147 483 648 до 2 147 483 647.

Можно использовать константы, которые являются одновременно и беззнаковыми и длинными. Для этого в конец константы добавляются символы UL (в любом регистре).

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

  • 0L

  • 50000U

  • 123456789L

  • 012345L

  • 07777U

  • 0XFFFFFUL

  • 0X50000U

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]