Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Типи даних – основні типи. Опис змінних.

Поиск

 

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

Об'явлення змінної має наступний формат:

[специфікатор-класа-пам’яті] специфікатор-типу описувач [= ініціатор][, описувач[= ініціатор]]...

Описувач - ідентифікатор простої змінної або більш складна конструкція із квадратними дужками, круглими дужками або зірочкою (набором зірочок).

Специфікатор типу - одно чи кілька ключових слів, що визначають тип змінної, що об'являється. У мові Сі є стандартний набір типів даних, використовуючи який можна сконструювати нові (унікальні) типи даних.

Ініціатор - задає початкове значення або список початкових значень, що привласнюються змінним при об'явленні.

Специфікатор класу пам'яті - визначається одним з чотирьох ключових слів мови Сі: auto, extern, register, static, і вказує, яким чином буде розподілятися пам'ять під оголошувану змінну, з одного боку, а з іншого, область видимості цієї змінної, тобто, з яких частин програми можна до неї звернутися.

Категорії типів даних.

Ключові слова для визначення основних типів даних:

Цілі типи:                                              Дійсні типи:

Char                                                                   float

Int                                                                       double

Short                                                                  long double

Signed

Unsigned

Змінна будь-якого типу може бути об'явлена як немодифікована. Це досягається додаванням ключового слова const до специфікатора-типу. Об'єкти з типом const являють собою дані, використовувані тільки для читання, тобто цій змінній не може бути привласнене нове значення. Якщо після слова const відсутній специфікатор-типу, то мається на увазі специфікатор типу int. Якщо ключове слово const стоїть перед об'явленням складених типів (масив, структура, суміш, перерахування), то це приводить до того, що кожний елемент також повинен бути не модифікованим, тобто значення йому може бути привласнено тільки один раз.

Приклади: const double А = 2.128Е-2;

const В = 286; (мається на увазі const int В = 286).

Цілий тип даних.

Для визначення даних цілого типу використовуються різні ключові слова, що визначають діапазон значень і розмір області пам'яті, яка виділяється під змінну (табл. 1).

Таблиця 1

Tun Розмір пам'яті в байтах Діапазон значень
Char 1 Від-128 до 127
Int 2  
Short 2 Від -32 768 до 32 767
Long 4 Від -2 147 483 648 до 2 147 483 647
Unsigned char 1 Від 0 до 255
Unsigned int 2  
Unsigned short 2 Від 0 до 65535
Unsigned long 4 Від 0 до 4 294 967 295

 

Ключові слова signed і unsigned необов'язкові. Вони вказують, як інтерпретується нульовий біт оголошуваної змінної, тобто, якщо зазначене ключове слово unsigned, то нульовий біт інтерпретується як частина числа, у противному випадку нульовий біт інтерпретується як знаковий. У випадку відсутності ключового слова unsigned ціла змінна вважається знаковою. У тому випадку, якщо специфікатор типу складається з ключового типу signed чи unsigned і далі стоїть ідентифікатор змінної, то вона буде розглядатися як змінна типу int. Наприклад:

unsigned int n; unsigned int b;

int c; (мається на увазі signed int c); unsigned d; (мається на увазі unsigned int d);

Модифікатор-типу char використовується для представлення символу (з масиву представлення символів) або для об'явлення строкових літералів. Значенням об'єкта типу char є код (розміром 1 байт), що відповідає символу, що представляється. Для представлення символів російського алфавіту, модифікатор типу ідентифікатора даних має вид unsigned char, тому що коди російських букв перевищують величину 127.

Дійсні дані

Для змінних, що представляють дійсне число, використовуються наступні модифікатори-типу: float, double, long double (у деяких реалізаціях мови Сі long double відсутній).

Величина з модифікатором-типу float займає 4 байти. З них 1 байт приділяється для знака, 8 біт для надлишкової експоненти і 23 біта для

мантиси. Старший біт мантиси завжди дорівнює 1, тому він не заповнюється, у зв'язку з цим діапазон значень дійсної змінної, приблизно дорівнює від 3.14Е -38 до 3.14Е +38.

Величина типу double займає 8 біт у пам'яті. її формат аналогічний формату float. Біти пам'яті розподіляються в такий спосіб: 1 біт для знака, 11 біт для експоненти і 52 біта для мантиси. З урахуванням опущеного старшого біта мантиси діапазон значень дорівнює від 1.7Е -308 до 1.7Е +308.

Приклади:

float а, з; double х, у;

___________________________________________________________________

 

Операції, їх знаки, вирази.



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 54; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.49.19 (0.008 с.)