Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / ооп / 4_кол / Лекції / ООП (2.Початкові відомості мови С).doc
Скачиваний:
26
Добавлен:
30.05.2020
Размер:
351.74 Кб
Скачать

Запис речових констант.

Якщо в записі числової константи є присутньою десяткова точка (2.5) або експоненціальне розширення (1Е-8), то компілятор розглядає її як дійсне число і ставить їй у відповідність тип double. Приклади речових констант : 44. 3.14159 44ЕО 1.5Е-4.

Використання суфіксів. Програміст може явно задати тип константи, використовуючи для цього суфікси. Існують три види суфіксів :

F(f) - float

U(u) - unsigned;

L(l) - long (для цілих і речових констант). Крім того, допускається спільне використання суфіксів U і L у варіантах UL або LU.

Приклади:

3.14159F — константа типу float, під яку виділяється 4 байти пам'яті;

3.14L — константа типу long double, займає 10 байт;

50000U — константа типу unsigned int, займає 2 байти пам'яті (замість чотирьох без суфікса);

OLU — константа типу unsigned long, займає 4 байти;

24242424UL — константа типу unsigned long, займає 4 байти.

Запис символьних і строкових констант. Символьні константи полягають в апострофи. Наприклад: 'А', 'а', '5 '+'. Строкові константи, що є символьними послідовностями, полягають в подвійні лапки. Наприклад: "rezult", "введіть початкові дані".

Особливий різновид символьних констант представляють так звані символи, що управляють. Їх призначення — управління виводом на екран. Як відомо, такі символи розташовані в початковій частині кодової таблиці ASCII (коди від 0 до 31) і не мають графічного представлення. У програмі на Сі++ вони зображуються парою символів, перший з яких “\“. Ось деякі з символів, що управляють :

'\n' — перехід на новий рядок;

'\t' — горизонтальна табуляція;

'\а' — подача звукового сигналу.

Символьні послідовності, що управляють, є часним випадком эскейп-послідовностєй (ESC — sequence), за допомогою яких можна задати символьну константу вказівкою її коду. Код символу можна вказати у вісімковому або в шістнадцятиричному уявленні. Формат вісімкового представлення : ''. Тут d — вісімкова цифра (від 0 до 7). Формат шістнадцятиричного представлення : '' (чи ''), де h — шістнадцятирична цифра (від 0 до F). Наприклад, константа, що відповідає заголовній латинській букві А, може бути представлена трьома способами : 'А', '101 ', '\u1093?41'.

Іменовані константи (константні змінні). Як і в Паскале, в програмі на Сі/Сі++ можуть використовуватися іменовані константи. Вживане для їх визначення службове слово const прийнято називати кваліфікатором доступу. Кваліфікатор const вказує на те, що ця величина не може змінюватися впродовж усього часу роботи програми. Зокрема, вона не може розташовуватися в лівій частині оператора привласнення. Приклади опису константних змінних :

const float pi=3.14159;

const int iMIN=l, iMAX=1000;

Визначення констант на стадії препроцесорної обробки програми. Ще однією можливістю ввести іменовану константу являється використання препроцесорної директиви #define в наступному форматі:

#define <ім'я константи> <значення константи>

Наприклад:

#define iMIN I

#define iMAX 1000

Тип констант явно не вказується і визначається за формою запису. У кінці директиви не ставиться крапка з комою.

На стадії препроцесорної обробки вказані імена замінюються на відповідні значення. Наприклад, якщо в програмі є присутнім оператор

X=iMAX - iMIN;

те в результаті препроцесорної обробки він набере вигляду:

Х=1000-1;

При цьому ідентифікатори iMAX і iMIN не вимагають опису усередині програми.

Константи перераховуваного типу. Цей засіб мови дозволяє визначати послідовність цілочисельних іменованих констант. Опис перераховуваного типу розпочинається із службового слова enum, а подальший список констант полягає у фігурні дужки. Наприклад:

enum {A, B, C, D};

В результаті імені А буде зіставлена константа 0, імені В — константа l, C — 2, D — 3. За умовчанням значення першої константи дорівнює нулю.

Для будь-якої константи можна явно вказати значення. Наприклад:

enum {A=10, B, C, D};

В результаті будуть встановлені наступні відповідності: А = 10, B = 11, C = 12, D = 13.

Можливий і такий варіант визначення перерахування :

enum {А=10, В=20, З=35, D=100};

Якщо перераховуваному типу дати ім'я, то його можна використовувати в описі змінних. Цей варіант аналогічний використанню перераховуваного типу даних в Паскале. Наприклад:

enum metal {Fe, Co, Na, Cu, Zn);

metal Metl, Met2;

Тут ідентифікатор metal стає ім'ям типу. Після такого опису в програмі можливі наступні оператори:

Metl=Na; Met2=Zn;