Дані плаваючого типу

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

Типи даних та розміри.

Цілі типи :

char;

int;

short;

long;

signed;

unsigned;

Плаваючі типи:

float;

double;

long double;

Змінна будь-якого типу повинна бути оголошена. Формальний синтаксис оголошення наступний:

тип_змінної імя_змінної;

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

 

Тип Розмір пам'яті в байтах Діапазон значень
char від -128 до 127
int від -32768 до 32767
short від -32768 до 32767
long від -2 147 483 648 до 2 147 483 647
unsigned сhar від 0 до 255
unsigned int від 0 до 65535
unsigned short від 0 до 65535
unsigned long від 0 до 4 294 967 295

 

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

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

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

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

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

3. Константи:

· Глобальні -#define m 4

· Локальні –const A 7

Директива #define служить для заміни констант, що часто використовуються, ключових слів, операторів або виразів деякими ідентифікаторами. Ідентифікатори, замінюючи текстові або числові константи, називають іменованими константами. Ідентифікатори, замінюючи фрагменти програм, називають макроозначеннями, причому макроозначення можуть мати аргументи.

Директива #define має дві синтаксичні форми:

#define ідентифікатор текст

#define ідентифікатор (список параметрів) текст

Ця директива замінює всі подальші входження ідентифікатора на текст. Такий процес називається макропідстановкою. Текст може бути будь-яким фрагментом програми на СІ, а також може і бути відсутнім. У останньому випадку всі екземпляри ідентифікатора віддаляються з програми.

Приклад:

#define WIDTH 80

#define LENGTH (WIDTH+10)

Ці директиви змінять в тексті програми кожне слово WIDTH на число 80, а кожне слово LENGTH на вираз (80+10) разом з оточуючими його дужками.

Дужки, що містяться в макроозначенні, дозволяють уникнути непорозумінь, пов'язаних з порядком обчислення операцій. Наприклад, за відсутності дужок вираз t=LENGTH*7 буде перетворений у вираз t=80+10*7, а не у вираз t=(80+10)*7, як це виходить за наявності дужок, і в результаті вийде 780, а не 630.

У другій синтаксичній формі в директиві #define є список формальних параметрів, який може містити один або декілька ідентифікаторів, розділених комами. Формальні параметри в тексті макроозначення відзначають позиції які повинні бути підставлені фактичні аргументи макровиклику. Кожен формальний параметр може з'явитися в тексті макроозначення кілька разів.