- •Лекция №1
- •1.1. Введение
- •1.2.1. Алфавит языка
- •1.2.2. Договоренности о лексике
- •1.2.2.1 Комментарии
- •1.2.2.2 Идентификаторы (имена)
- •1.2.2.3 Ключевые слова
- •1.2.2.4 Элементы данных к основным элементам данных относятся константы и переменные.
- •1.2.2.4.1 Константы
- •Примеры:
- •Например,
- •1.2.2.4.2 Переменные
- •Или для переменных со стартовым значением
- •2) Простое выражение, допустимое для заданного типа данных( допускается использовать в них описанные ранее константы или переменные со стартовым значением (см. #2.2.4.2)). Примеры:
- •Модификатор volatile
- •2. Простые типы данных
- •2.1. Целый тип данных
- •Константы целого типа
- •Символьная константа
- •Строковая константа
- •2.2. Данные плавающего типа
- •Например: 27.3, 5.0, -16.003, 200.59
- •Внутреннее представление типов данных
1.2.2.3 Ключевые слова
Ключевые ( или зарезервированные) слова – это идентификаторы, имеющие определенное смысловое значение и не могут использоваться в качестве имен переменных, констант, функций, т. е. иным образом:
asm auto break case char class const
continue default delete do double else enum
extern float for friend goto if inline
int long new operator overload public register
return short sizeof static struct switch this
typedef union unsigned virtual void while
Идентификаторы signed и volatile зарезервированы для применения в будущем.
1.2.2.4 Элементы данных к основным элементам данных относятся константы и переменные.
Они бывают локальные(местные) и глобальные. Переменные и постоянные, описанные внутри функций, называются локальными и существуют только при работе объявляющих их функций. Переменные и константы (постоянные), объявленные вне функций, называются глобальными. Среди глобальных переменных и постоянных не может быть двух с одинаковыми именами, а локальные могут дублировать глобальные имена и имена друг друга(при этом обращение к таким именам внутри подпрограмм соответствуют обращениям к локальным переменным и постоянным, а вне их - к глобальным. Локальные и глобальные переменные и константы хранятся в разных местах и даже при одинаковых значениях не влияют друг на друга. Глобальная переменная хранится в сегменте данных ( размер 63кб). Если этого мало, то используются ссылки и динамические переменные. Локальные переменные существуют только при работе объявляющих функций и хранят свои значения в специальной области памяти – стеке. По умолчанию размер стека = 16кб (это максимальный объем всех локальных переменных, работающих одновременно). После работы подпрограммы ее локальные переменные освобождают стек.
1.2.2.4.1 Константы
Константы представляют собой данные используемые только для чтения , т.е. константы не изменяют своего значения в процессе выполнения программы. В программе они могут быть заданы явно своим значением или обозначены именем.
Константы бывают:
типизированные ( с указанием типа константы);
нетипизированные (без указания типа константы).
Их можно описать двумя способами:
при помощи модификатора const - для типизированных;
при помощи директивы #define( использование макроса, см.#) – для нетипизированных.
Форма записи:
Const СпецификаторТипа <ИмяПеременной1=Значение1, …,ИмяПеременнойN=ЗначениеN>;
#define Идентификатор_макроса <Последовательность_лексем> (подробнее см. . #)
В качестве значения может использоваться:
непосредственно число указанного типа;
простое выражение, допустимое для заданного типа данных( допускается использовать в них описанные ранее константы или переменные со стартовым значением (см. #2.2.4.2)).
Примеры:
const int I=6, j=3+2*4, k=I*j+5;
#define h 3;
#define m 3*h+k;
Отметим, что если после слова const отсутствует спецификатор типа, то подразумевается спецификатор типа int. Если ключевое слово const стоит перед объявлением составных типов (массив, структура, смесь, перечисление), то это приводит к тому, что каждый элемент также должен являться немодифицируемым, т.е. значение ему может быть присвоено только один раз.
