Константы. Константы предназначены для введения чисел в состав выражений операторов языка программирования C
Константы предназначены для введения чисел в состав выражений операторов языка программирования C. В отличие от идентификаторов, всегда начинающихся с буквы, константы всегда начинаются с цифры. В языке программирования С-51 разделяют четыре типа констант:
- целые знаковые и беззнаковые константы,
- константы с плавающей запятой,
- символьные константы,
- литеральные строки.
Целочисленные константы могут быть записаны как восьмеричные, десятичные или шестнадцатеричные числа в зависимости от того, какая система счисления удобнее для представления константы. Константа может быть представлена в десятичной, восьмеричной или шестнадцатеричной форме.
Десятичная константа состоит из одной или нескольких десятичных цифр, причем первая цифра не может быть нулем.
Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных. Если константа содержит цифру, недопустимую в восьмеричной системе счисления, то константа считается ошибочной.
Шестнадцатеричная константа начинается с обязательной последовательности символов 0х или 0Х и содержит одну или несколько шестнадцатеричных цифр (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
Если требуется сформировать отрицательную целую константу, то используют знак "-" перед записью константы (который будет называться унарным минусом). Например: -0x2A, -088, -16.
Каждой целой константе присваивается тип, определяющий преобразования, которые должны быть выполнены, если константа используется в выражениях. Тип константы определяется следующим образом:
- десятичные константы рассматриваются как знаковые числа, и им присваивается тип int (целая) или long (длинная целая) в соответствии со значением константы. Если константа меньше 32768, то ей присваивается тип int в противном случае long.
- восьмеричным и шестнадцатеричным константам присваивается тип int, unsigned int (беззнаковая целая), long или unsigned long в зависимости от значения константы согласно табл. 5.5.
Диапазон числовых констант.
Таблица 5.5
Диапазон шестнадцатеричных констант | Диапазон восьмеричных констант | Тип |
0x0 - 0x7FFF | 0 - 077777 | int |
0X8000 - 0XFFFF | 0100000 - 0177777 | unsigned int |
0X10000 - 0X7FFFFFFF | 0200000 - 017777777777 | long |
0X80000000 - 0XFFFFFFFF | 020000000000 - 037777777777 | unsigned long |
Для того чтобы любую целую константу определить типом long, достаточно в конце константы поставить букву "l" или "L". Пример:
5l, 6l, 128L, 0105L, OX2A11L.
Константа с плавающей запятой- это десятичное число, представленное в виде действительного числа с десятичной запятой и порядком числа. Формат записи константы с плавающей запятой:
[ цифры ].[ цифры ] [ Е|e [+|-] цифры ].
Число с плавающей запятой состоит из целой и дробные части и (или) порядка числа. Для определения отрицательного числа необходимо сформировать константное выражение, состоящее из знака минуса и положительной константы.
Символьная константа - представляется ASCII или ANSI символом, заключенном в апострофы. Управляющая последовательность тоже может быть использована в символьных константах. При этом она рассматривается как одиночный символ. Значением символьной константы является числовой код символа.
Символьные константы имеют тип int и при преобразовании типов дополняются знаком. Символьные константы используются обычно при управлении микроконтроллерным устройством от клавиатуры.
Строковые константы. Если символьные константы используются обычно при вводе информации с клавиатуры, то при отображении информационных сообщений обычно используются целые строки символов. В строке допускается использование пробелов.
Строковая константа - последовательность символов (включая строковые и прописные буквы русского и латинского а также цифры) заключенные в кавычки (").
Отметим, что все управляющие символы, кавычка ("), обратная дробная черта (\) и символ новой строки в литеральной строке и в символьной константе представляются соответствующими управляющими последовательностями. Каждая управляющая последовательность представляет собой один символ.
Символы литеральной строки обычно хранятся в памяти программ, но могут храниться и в памяти данных. В конец каждой литеральной строки компилятором добавляется нулевой символ, который можно записать как: "\0". Именно этот символ и является признаком конца строки.
Литеральная строка рассматривается как массив символов (char[ ]). Важная особенность - число элементов массива равно числу символов в строке плюс 1, так как нулевой символ (символ конца строки) также является элементом массива. Все литеральные строки рассматриваются компилятором как различные объекты. Одна литеральная строка может выводиться на дисплей как несколько строк. Такие строки разделяются при помощи обратной дробной черты и символа возврата каретки \n. На одной строке исходного текста программы можно записать только одну литеральную строку. Если необходимо продолжить написание одной и той же литеральной строки на следующей строке исходного текста программы, то в конце строки исходного текста можно поставить обратную строку.
Дата добавления: 2015-10-09; просмотров: 913;