Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_по_пяву_4.doc
Скачиваний:
101
Добавлен:
15.03.2015
Размер:
1.29 Mб
Скачать
  1. Понятие об объекте

Объект – это термин, ориентированный на работу с оперативной памятью компьютера. Под объектом в языке Си понимается участок оперативной памяти компьютера, в котором хранится некоторое значение. Одни данные в языке Си являются объектами, другие – объектами не являются. К объектам относятся переменные (кроме регистровых переменных). Литералы (константы) к объектам не относятся. К объектам также не относятся символические константы, объявляемые с помощью директивы define

Замечание.Возникает следующий вопрос, каким образом можно отличить данные, являющиеся объектом от данных таковыми не являющихся? Для ответа на этот вопрос к этому данному следует применить оператор взятия адреса (&). Такая операция может использоваться только для объектов, а для данных, не являющихся объектами, эта операция оказывается недопустимой.

  1. Лексемы

Программа, написанная на языке Си, состоит из отдельных предложений. Предложения в свою очередь состоят из лексем. Лексемы играют роль “кирпичиков”, из которых строятся предложения языка. Лексемы неделимы и сами по себе определяют некоторое содержание. В языке Си различают следующие виды лексем:

● Зарезервированные слова.

● Идентификаторы.

● Литералы

● Разделители (знаки пунктуации).

● Операторы.

Зарезервированные слова и идентификаторы играют роль слов в предложениях программы, написанной на языке Си. Литералы применяются для обозначения фиксированных значений данных, используемых в программе.

Операторы применяются для обозначения операций, предусмотренных языком программирования. Например, оператор “+” используется для обозначения операции сложения двух чисел.

К разделителям относятся следующие лексемы: “[“, “]”, “(“, “)” и другие.

  1. Зарезервированные слова

Зарезервированные слова имеют фиксированный смысл, который закреплен за ними определением языка, Этот смысл не может быть изменен программистом. В связи с этим зарезервированные слова не могут использоваться в качестве слов пользователя, к которым относятся идентификаторы (смотри ниже). Не будем перечислять все зарезервированные слова, предусмотренные языком Си. Будем вводить эти слова по мере необходимости.

  1. Идентификаторы

Идентификатор – это конструкция языка, используемая для целей наименования. Идентификаторы выбираются программистом по своему усмотрению, но с учетом синтаксиса языка. В языке Си в качестве идентификатора может использоваться любая последовательность цифр и букв, которая начинается с буквы. Символ подчеркивания считается буквой. Следует учитывать, что идентификаторы языка Си чувствительны к регистру. Стандарт языка Си не ограничивает длину идентификатора. Ограничивается количество значащих символов в идентификаторе. В соответствии со стандартом C89 количество значащих символов в идентификаторе равно 31, а в стандарте С99 – 63 символа.

В языке Си существует традиция записывать имена переменных строчными символами, а имена символических констант, которые определены с помощью директивы define, – заглавными.

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

Примеры корректных идентификаторов:

Numbernumber/* ИдентификаторыNumberиnumber– это два разных идентификатора */ _numbercount_words/* Идентификатор состоит из двух смысловых частей (слов), разделенных символом подчеркивания*/number_

Примеры некорректных идентификаторов:

for/* совпадает с зарезервированным словом */ 1_st_slovo/* начинается с цифры */super+ /* содержит недопустимый символ*/

Примеры идентификаторов, которые могут конфликтовать с системными идентификаторами

_Name/* Начинается с символа подчеркивания, за которым следует заглавная буква */ __file/* Начинается с двух подряд следующих символов подчеркивания */