Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

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

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

Цілі типи:

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 є список формальних параметрів, який може містити один або декілька ідентифікаторів, розділених комами. Формальні параметри в тексті макроозначення відзначають позиції які повинні бути підставлені фактичні аргументи макровиклику. Кожен формальний параметр може з'явитися в тексті макроозначення кілька разів.

<== предыдущая лекция | следующая лекция ==>
Імена змінних | Контрольні питання. Кожна програма, написана мовою С має строго визначену структуру, незалежно від рівня складності
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 436; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.