Язык программирования Си для персонального компьютера - [6]

Шрифт
Интервал

имеет длину 16 битов и тип long имеет длину 32 бита.

Таблица1.5.

Десятичные константыВосьмеричные константыШестнадцатеричные константыТип
0—327670—0777770х0—0x7FFFint
 0100000—01777770х8000—0xFFFFunsigned int
32767—214748364702000001—0177777777770х10000—0x7FFFFFFFlong
 020000000000—0300000000000х80000000—0xFFFFFFFFunsigned long

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

Программист может явно определить для любой целой константы тип long, записав букву "l" или "L" в конец константы. Это позволяет расширить нижнюю границу диапазона значений констант любого типа до нуля. Например, константа со значением 10 будет иметь тип long только в том случае, если она будет записана с суффиксом L, т. е. 10L. В таблице 1.6 приведены примеры длинных целых констант.

Таблица 1.6.

Десятичные константыВосьмеричные константыШестнадцатеричные константы
12L012L0xaL или 0xAL
0l0115l0х4fl или 0x4Fl

В СП ТС реализован также суффикс U (или u), означающий, что константа имеет тип unsigned. Можно использовать одновременно оба суффикса — L и U — для одной и той же константы. Кроме того, в СП ТС константе присваивается тип unsigned long, если ее значение превышает 65535, независимо от наличия или отсутствия суффикса U (в СП MSC в этом случае константе был бы присвоен тип long).

Константы с плавающей точкой

Константа с плавающей точкой — это действительное десятичное положительное число. Оно включает целую часть, дробную часть и экспоненту. Константы с плавающей точкой имеют следующий формат представления:

[<цифры>][.<цифры>][<э>[-]<цифры>]

<цифры> —одна или более десятичных цифр (от 0 до 9); <э>признак экспоненты, задаваемый символом Е или е. Либо целая, либо дробная часть константы может быть опущена, но не обе сразу. Либо десятичная точка с дробной частью, либо экспонента может быть опущена, но не обе сразу.

Экспонента состоит из символа экспоненты, за которым следует целочисленное значение экспоненты, возможно со знаком плюс или минус.

Между цифрами или символами константы пробельные символы недопустимы.

Примеры констант с плавающей точкой:

15.75

1.575Е1

1575е-2

25.

Примеры констант с плавающей точкой с опущенной целой частью:

.75

.0075е2

Константы с плавающей точкой всегда специфицируют положительные значения. Если требуются отрицательные значения, то необходимо сформировать константное выражение и? знака минус и следующей за ним константы. Знак минус рассматривается при этом как арифметическая операция.

Примеры:

-0.0025

-2.5е-3

-.125

-.175Е-2

Все константы с плавающей точкой имеют тип double. В СП ТС можно явно присвоить константе тип float, добавив к ней суффикс f или F.

Символьные константы

Символьная константа — это буква, цифра, знак пунктуации или специальный символ, заключенный в апострофы. Значение символьной константы равно коду представляемого ею символа. Символьная константа имеет следующую форму представления:

'<символ>'

<Символ> может быть любым символом из множества представимых символов (в том числе любым специальным символом), за исключением символов апостроф ('), обратный слэш (\) и новая строка.

Для представления символов апостроф и обратный слэш в качестве символьной константы необходимо вставить перед ними символ обратный слэш — '\'' и '\\'. Для представления символа новой строки используется запись '\n' (см. раздел 1.1.4).

Примеры символьных констант приведены в таблице 1.7.

Таблица 1.7.

КонстантаЗначение
'а'Малая буква а
‘?’Знак вопроса
‘\b’Символ забой
‘\х1В’Символ ESC в коде ASCII

Символьные константы имеют тип int. Младший байт хранит код символа, а старший байт — знаковое расширение младшего байта.

Помимо односимвольных констант, в СП ТС реализованы двухсимвольные константы, например 'An', '\n\t', '\007\007'. Они представляются 16-битовым значением типа int, причем первый символ заносится в младший байт, а второй — в старший. Односимвольные константы также представляются 16-битовыми значениями типа int, и в старший байт, как и в СП MSC, заносится знаковое расширение младшего байта.

Компилятор языка Си имеет опцию, позволяющую определить тип char по умолчанию как беззнаковый тип — unsigned char. В этом случае старший байт любой односимвольной константы будет нулевым.

Символьные строки

Символьная строка — это последовательность символов, заключенная в двойные кавычки. Символьная строка рассматривается как массив символов, каждый элемент которого представляет отдельный символ. Символьная строка имеет следующую форму представления:

"<символы>"

<символы> — это произвольное (в том числе нулевое) количество символов из множества представимых символов, за исключением символов двойная кавычка ("), обратный слэш (\) и новая строка. Чтобы использовать эти символы внутри символьной строки, нужно представить их с помощью соответствующих специальных символов, как показано на следующих примерах:

"Это символьная строка\n"

"Первый \\ Второй"

"\"Да, конечно,\"— сказала она."

"Следующая строка — пустая:"

""

Для формирования символьных строк, занимающих несколько строк текста программы, используется комбинация символов — обратный слэш и новая строка. Компилятор языка Си проигнорирует эту комбинацию символов, а символьные строки объединит и представит в памяти как одну строку. Например, символьная строка:


Рекомендуем почитать
Сборник основных формул школьного курса химии

Пособие представляет собой школьный курс химии в виде расчетных и химических формул, пояснений к ним, а также уравнений реакций.Пособие составлено с учетом существующих в настоящее время стандартов среднего (полного) общего образования по химии для базового и профильного уровня. Материал пособия, соответствующий только профильному уровню, обозначен в тексте знаком «*».Пособие предназначено учащимся образовательных учреждений для повторения курса химии при подготовке к семинарам, зачетам, выпускным и вступительным экзаменам.


Православный календарь на 2013 год

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


Диагностический справочник иммунолога

Данный справочник посвящен важнейшим вопросам современной иммунологии. В нем подробно рассматриваются различные иммунодефицитные состояния и методы их диагностики, все известные на сегодня болезни и расстройства иммунной системы, проблемы вакцинологии, традиционные и нетрадиционные методы лечения иммунной системы. Книга адресована практикующим врачам-иммунологам, а также широкому кругу читателей.


Пенсия: расчет и порядок оформления

Многим гражданам, претендующим на пенсию, порой трудно понять, какой размер пенсии у них должен быть, когда возникает право на нее, куда следует обращаться за назначением пенсии, какие документы необходимо представить для расчета пенсии, как правильно документально оформить трудовой стаж… Ответы на эти и массу других вопросов вы сможете найти в этой книге.Особая ценность издания – в многочисленных примерах, где рассмотрены самые разнообразные варианты расчета и начисления пенсий, и перечне документов, необходимых для оформления всех видов пенсий.Рассчитано на широкий круг читателей.


Хозяйственное право: Шпаргалка

В шпаргалке в краткой и удобной форме приведены ответы на все основные вопросы, предусмотренные государственным образовательным стандартом и учебной программой по дисциплине «Хозяйственное право».Книга позволит быстро получить основные знания по предмету, повторить пройденный материал, а также качественно подготовиться и успешно сдать зачет и экзамен.Рекомендуется всем изучающим и сдающим дисциплину «Хозяйственное право» в высших и средних учебных заведениях.


Молодежный словарь

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