Елементи мови С
Константи
 

Константи

     Константами називають сталі величини, тобто такі, які в процесі виконання програми не змінюються. В мові Сі існує чотири типи констант: цілі, дійсні, рядкові та символьні.
     Цілі константи можуть бути десятковими, вісімковими або шістнадцятковими. Десяткова константа - послідовність десяткових цифр (від 0 до 9), яка починається не з нуля якщо це число не нуль. Приклади десяткових констант : 10, 132, 1024. Вісімкові константи починаються з символу 0, після якого розміщуються вісімкові цифри (від 0 до 7). Наприклад: 023. Запис константи вигляду 08 буде сприйматися компілятором як помилка, так як 8 не є вісімковою цифрою. Шістнадцяткові константи починаються з символів 0х або 0Х, після яких розміщуються шістнадцяткові цифри (від 0 до F, можна записувати їх у верхньому чи нижньому регістрах). Наприклад : 0ХF123.
     Дійсні константи складаються з цілої частини, десяткової крапки, дробової частини, символу експоненти (e чи E) та показника степеня. Дійсні константи мають наступний формат представлення:


     [ ціла_частина ][ . дробова_частина ][ Е [-] степінь ]

     У записі константи можуть бути опущені ціла чи дробова частини (але не обидві разом), десяткова крапка з дробовою частиною чи символ E (e) з показником степеня (але не разом). Приклади дійсних констант:

2.2, 220е-2, 22.Е-1, .22Е1.

     Якщо потрібно сформувати від'ємну цілу або дійсну константу, то перед константою необхідно поставити знак унарного мінуса.
     Символьна константа - це один або декілька символів, які заключені в апострофи. Якщо константа складається з одного символу, вона займає в пам'яті 1 байт (тип char). Двосимвольні константи займають в пам'яті відповідно 2 байти (тип int). Послідовності символів, які починаються з символу \ (обернений слеш) називаються керуючими або escape-послідовностями. Escape-послідовності представлені в таблиці 1.

Таблиця 1 - Escape-послідовності

Спеціальний символ Шістнадцятковий код Значення

\a 07 звуковий сигнал

\b 08 повернення на 1 символ

\f 0C переведення сторінки

\n 0A перехід на наступний рядок

\r 0D повернення каретки

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

\v 0B вертикальна табуляція

\\ 5C символ \

\' 27 символ '

\" 22 символ "

\? 3F символ ?

\0 00 нульовий символ

\0ddd - вісімковий код символу

\0xddd ddd шістнадцятковий код символу

     Рядкові константи записуються як послідовності символів, заключених в подвійні лапки.
"Це рядковий літерал!\n"
     Для формування рядкових констант, які займають декілька рядків тексту програми використовується символ \ (обернений слеш):
"Довгі рядки можна розбивати на \
частини"
     Загальна форма визначення іменованої константи має вигляд:


          const тип ім'я = значення;

     Модифікатор const попереджує будь-які присвоювання даному об'єкту, а також інші дії, що можуть вплинути на зміну значення. Наприклад:

const float pi = 3.14l5926;
const maxint = 32767;
char *const str="Hello,P...!"; /* покажчик-константа */
char const *str2= "Hello!"; /* покажчик на константу */

Використання одного лише модифікатору const еквівалентно const int.

 
© 2008 ХНУРЭ, Інформатики, Руденко Д.О.
Разработано с помощью LERSUS